应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

小程序自动化测试神器(六)常见组件的处理

  写在前面
  我发现一件神奇的事,当你学一门新技术或者新的知识点遇到不会的时候,真的可以先放一放,第二天再去学习,也许说不定也就会了。
  为什么这么说?
  昨天文章断断续续的写了近一天,有一个组件不认识,自然也不知道该怎么处理,真的憋得脑子疼,后来一合计算了,事已至此,还是先吃饭吧,就扔一边了。
  结果今天再一看,发现居然我会了,而且一个不留神,就把小程序的官方API都给过完了,所以这就再来更新了。常见组件的处理switch组件处理
  image。png改变switch组件的状态
  示例代码如下:deftestswitch(self):switch组件处理演示,可以脑补下单选框状态切换场景:return:self。app。navigateto(packageComponentpagesformswitchswitch)self。page。getelement(。pagesection。pagesectiongapview。bodyviewswitch:nthchild(1))。switch()slide组件处理
  slider组件滑动到指定数值
  示例代码如下:deftestslideto(self):slider组件处理演示:return:self。app。navigateto(packageComponentpagesformsliderslider)elementsliderself。page。getelement(pageviewviewview:nthchild(1)view。bodyviewslider)elementslider。slideto(5)time。sleep(1)self。assertEqual(elementslider。value,5,sliderok)pick组件处理
  picker组件选值
  Parameters:
  名称类型默认值说明value看下表NotNone属性名称
  value的取值:
  选择器类型类型说明selector:普通选择器int表示选择了range中的第几个(下标从0开始)multiSelector:多列选择器int表示选择了range中的第几个(下标从0开始)time:时间选择器str表示选中的时间,格式为hh:mmdate:日期选择器str表示选中的日期,格式为YYYYMMDDregion:省市区选择器int表示选中的省市区,默认选中每一列的第一个值
  示例代码如下:deftestpicker(self):picker组件处理演示。修改当前时间:return:self。app。navigateto(packageComponentpagesformpickerpicker)callbackcalledthreading。Semaphore(0)监听回调,阻塞当前主线程defcallback(args):nonlocalcallbackargscallbackargsargscallbackcalled。release()elsself。page。getelements(picker)self。app。hookcurrentpagemethod(bindTimeChange,callback)els〔1〕。click()阻止picker弹起els〔1〕。pick(11:18)用trigger模拟pick完成的动作scrollto组件处理
  scrollview容器滚动操作
  Parameters:
  名称类型默认值说明xintNonex轴上滚动的距离yintNoney轴上滚动的距离
  示例代码如下:deftestscrollto(self):scrollto组件处理演示:return:self。app。navigateto(packageComponentpagesviewscrollviewscrollview)callbackargsNonecallbackcalledthreading。Semaphore(0)监听回调,阻塞当前主线程defcallback(args):nonlocalcallbackargscallbackargsargscallbackcalled。release()监听滚动事件,方便最后验证滚动结果self。app。hookcurrentpagemethod(scroll,callback)这里只演示的事横向移动,主要找准你要移动的控件,整错了铁定没法移动elsself。page。getelements(scrollview)els〔2〕。scrollto(x150)横向滚动150像素self。assertTrue(callbackcalled。acquire(timeout10),callbackcalled)self。assertEqual(callbackargs〔0〕〔detail〕〔scrollLeft〕,150,pickok)swipe组件处理
  切换swiper容器当前的页面
  Parameters:
  名称类型默认值说明indexintNone索引值,从0开始
  示例代码如下:deftestswipeto(self):swipe组件处理演示:return:self。app。navigateto(packageComponentpagesviewswiperswiper)elself。page。getelement(swiper)切换到第二个tab,轮播图的Cel。swipeto(2)print(el。attribute(current))self。assertEqual(el。attribute(current),〔2〕,swipeok)move组件处理
  movableview容器拖拽滑动
  Parameters:
  名称类型默认值说明xintNonex轴方向的偏移距离yintNoney轴方向的偏移距离
  PS:x,y偏移量相对于movablearea左上角,如示例中,movablearea左上角为(25,25)
  示例代码如下:deftestmoveto(self):move组件处理演示:return:self。app。navigateto(packageComponentpagesviewmovableviewmovableview)elementself。page。getelement(movableview)把movableview复位element。moveto(0,0)time。sleep(2)移动到坐标为100,100的地方element。moveto(100,100)video、audio组件
  详见代码示例
  video组件处理示例代码如下:deftestvideo(self):video组件处理演示:return:self。app。navigateto(packageComponentpagesmediavideovideo)elementvideoself。page。getelement(video)播放elementvideo。play()time。sleep(2)暂停elementvideo。pause()time。sleep(2)跳转到指定位置(拖到50秒位置播放)elementvideo。seek(50)time。sleep(2)elementvideo。play()1。5倍速播放elementvideo。playbackrate(1。5)time。sleep(2)进入全屏播放elementvideo。requestfullscreen(90)time。sleep(2)发送弹幕elementvideo。senddanmu(我是弹幕君!!)time。sleep(2)退出全屏elementvideo。exitfullscreen()time。sleep(2)播放elementvideo。stop()
  audio组件处理示例代码如下:deftestaudio(self):audio组件处理演示:return:self。app。navigateto(packageComponentpagesmediaaudioaudio)elementaudioself。page。getelement(audio)elementaudio。play()播放音频elementaudio。seek(10)快进音频elementaudio。pause()暂停音频elementaudio。setsrc(http:ws。stream。qqmusic。qq。comM500001VfvsJ21xFqb。mp3?guidffffffff82def4af4b12b3cd9337d5e7uin346897220vkey6292asdadfromtag46)设置音源链接其他示例单页面示例
  直接跳转到被测试的页面,进行脚本的测试。
  示例代码如下:deftestsetdata(self):单页面示例:return:self。app。navigateto(packageComponentpagescontenttexttext)self。page。data{text:只能加文字,不能删除文字,canAdd:True,canRemove:False}time。sleep(1)self。capture(canAdd)self。page。data{text:只能删除文字,不能加文字,canAdd:False,canRemove:True}time。sleep(1)self。capture(canRemove)数据驱动测试
  测试框架继承自unittest,基于ddt封装的的简单封装。
  示例代码如下:coding:utf8Time:2023020620:31Author:longrong。langFileName:testbase。pySoftware:PyCharmBlog:https:www。cnblogs。comlongronglangMotto:ABC(AlwaysBeCoding)importminiumminium。ddtclassclassBaseTest(minium。MiniTest):minium。exitwhenerrordeftestinit(self):这条用例失败会退出测试计划,minium。exitwhenerror可以用来修饰初始化用例self。assertEqual(1,1)minium。ddtcase(1,2,3)deftestddt(self,value):数据驱动测试,这个case会自动展开成3条用例:testddt11testddt22testddt33self。assertIn(value,〔1,2,3〕)ifnamemain:BaseTest。testddt()写在最后
  关于Minium使用教程已经全部更新完了,要想学习全部可以从Minium系列教程从头学起,下篇文章将会为大家分享基于Minium的测试框架设计及开发,感兴趣的同学可以蹲一下,我是六哥,觉得文章对您有用,请星标并转发即可!

生活的最好滋味,就是无味淡淡的日子,要淡然地过。人生如戏,却不能入戏太深,人生如茶,却不能一直泡在水中。很多东西,随着时间流逝,都会慢慢变淡。淡然,就是生活的本质。在淡然中,找到生活的意义,便是人生的……火爆的南美足球!赛前球迷跟警察大规模干架,至少造成89人受伤哥伦比亚春季联赛第14轮,国民竞技主场与卡利美洲的比赛因赛前发生大规模冲突,最终不得不宣布推迟。据了解,这一场比赛其实已经售出了3。8万张门票。但赛前有球迷在看台上做出抗……巴西媒体31岁前广州恒大球员高拉特决定退役直播吧4月19日讯据多家巴西媒体报道,31岁前广州恒大球员高拉特决定退役,详情将在周五确认。巴伊亚当地媒体infobahea透露,球员明白自己不能再像他希望的那样继续拥有……老百姓的孩子要降世需要准备多少东西?我这准备够了吗?这是孩子要出生的准备的东西。毕竟现在还年轻,应该承受压力。钢铁是练出来的。刀是磨出来的。70年代结婚要准备三转一响,80到90年代成了四大件,那时关于孩子的东西并不是特别……春雨江南,诗画龙泉龙泉古镇春季出游热度持续飙升春光无限好,正是出游时。龙泉古镇春意浓浓,吸引大批游客前来,景区内实景演艺、文化展览、民俗表演、杂技武术精彩至极。来自北京、天津、河南、山西等全国各地数千家旅行社游……婴儿四磨汤让宝宝的成长之路不再亮起黄灯新生儿黄疸又称新生儿高胆红素血症,是由于新生儿的肝脏功能发育不完善,胆红素代谢异常,导致血液中的胆红素浓度升高,是一种比较常见的新生儿疾病。调查数据显示,约有60的新生儿可出现……自润滑防护涂层研究取得进展有机硅改性涂层具有优异的低表面能自润滑特性,可有效减少水滴在涂层表面的附着,一定程度上能延缓积冰的形成,降低覆冰强度。中国科学院兰州化学物理研究所研究团队近年来在有机硅改……青海依托绿电优势打造新能源全产业链高地地处青藏高原的青海省,水、风、光等清洁能源资源蕴藏丰富,发展清洁能源比较优势突出。近年来,青海着力推动国家清洁能源产业高地建设,把能源优势转化为产业优势。以新发展理念引领清洁能……戏弄BBC之后,马斯克将矛头对准加媒,戳中加媒和特鲁多软肋加拿大总理贾斯汀特鲁多(JustinTrudeau)卷入了一场围绕推特(Twitter)决定将加拿大公共广播公司(CBC)贴上政府资助标签的争执,特鲁多还指责他的主要政治对手皮……中国力促自然资源卫星影像数据在东盟国家深度应用图为发布会现场。黄尚宁摄中新网南宁4月18日电(记者林艳华)广西壮族自治区自然资源厅党组成员、总工程师、中国东盟矿业合作论坛秘书处秘书长周涛18日在南宁表示,第12届中国……舌尖上的美食冰糖甲鱼制作流程,家常菜做出五星级酒店的味道舌尖上的美食冰糖甲鱼的由来每年四五月,江南地区菜花盛开,甲鱼最为肥美,故有菜花甲鱼之称,此时是烹制冰糖甲鱼的最佳时期。冰糖甲鱼的另一别称为独占鳌头,由宁波状元楼首创,宁波……回阳救逆的四逆汤居然能治疗抑郁症?李可老先生说:我治100多例抑郁症,基本就是四逆汤,逐日加附子量,到一定程度,出一身臭汗,就有说有笑了,这个很奇怪,而且得病的大部分是大学生,家庭比较困难,环境压力比较大。……
真实的唐僧一生到底是什么样的?他取经的真实历程,颠覆你的想象偷渡出去的和尚如果说,我们需要向焚书坑儒的秦始皇,抛弃糟糠之妻的陈世美等人道歉的话,那么还有一个人也需要一声道歉。这个人就是曾经去往西天拜佛求经的唐僧。《西游……嘴馋的孕妈可以多吃三种小零食,既能排胎毒,对肚子里的宝宝又好很多妈妈在怀孕的过程当中都不敢吃一些乱七八糟的东西,因为害怕一旦吃的不对,就会对孩子造成影响,这就导致在孕期,孕妇对于这些食物很馋,但又非常担忧。难道就没有孕妇的孕期适合吃的小……百合花富农家来源:【人民网】近年来,山东省荣成市以产业兴旺、生活富裕为目标,因地制宜发展特色花卉种植,推进美丽乡村建设,打造集特色种植、休闲旅游于一体的田园综合体项目,带动旅游业发展……车企销量数据出台,一骑绝尘双冠王,比亚迪的新能源时代2023年,将是我国乃至世界汽车行业大洗牌的一年,其实从年初的燃油车与电动汽车的营销之争,还是新能源车企的发展之争,已经显示今年汽车行业不平静,对于汽车行业发展中的各项数据,各……特斯拉降价没开启,比亚迪又开启了降价,最高幅度达到2万元很多人都说特斯拉降价是真降价,但是比亚迪这次玩的更狠,唐DMp车主群里有人发了一张龙华地区目前优惠补贴价格表,大家看到唐DMp的215千米至尊旗舰型,优惠完后的价格,瞬间都炸锅……自如熊林如何用三年时间推动公司内核质变4月12日,以新发展模式下的住房租赁为主题的2023中国住房租赁发展论坛在京举办,作为长租行业代表企业,自如董事长、CEO熊林在会上发表《自如三年的质变历程》主题演讲,分享了自……生物技术融合信息技术,释放生物计算设计新可能【环球网科技报道记者林梦雪】工业生物(工业菌种)相当于IT领域的芯片,是实现串联整个生物技术最关键的核心,所以要设计好工业生物,非常需要IT技术的支撑。近日,在中国科学院天津工……四川华新川陴郫县豆瓣联合淘特发起全国首个厂小二课程图说:3月17日,四川华新、川陴郫县豆瓣联合淘特发起的全国首个厂小二课程在成都上线。上线3年,产业直供电商淘特探索的M2C(制造直连消费)模式,又有新的进展。3月1……汉服旅拍烹茶煮酒3月8日31日,乌镇开启闺蜜节活动转眼已是三月,春暖花开时节的乌镇,最适合结伴出行。3月8日3月31日,乌镇开启闺蜜节活动。春来江水绿如蓝,小镇的角角落落,由内而外散发出自然的力量,肆意盎然,充满了生机。……在北京轻松多彩过寒假!沉浸古文化之旅,乐享传统文化盛宴!又是一年寒假到了,想好带孩子去哪里玩了吗?来这些展览里进行一场古文化的穿越之旅吧!这里有对古代美食的介绍,有民间年画的回忆,还有时令文化的清晰梳理,让我们一起走进来,近距离的享……C罗加盟沙特球队,2亿天价薪水,不愧足坛打工皇帝?2022年底,一个差2个月就满38周岁的球员,还能拿到一份两年半时间的2亿欧大合同,阿伟罗(全名:克里斯蒂亚诺罗纳德多斯桑托斯阿伟罗),不愧为足坛的打工皇帝,和他此前言论……石头跨界做洗烘一体机?分子筛低温烘干技术到底是个啥?年前大扫除那几天,我跟办公室的小伙伴聊天,结果发现办公室的小年轻几乎清一色的都选择了烘干机。原以为烘干机是南方家庭的专属,如今在北方也越来越普及,这绝对不是偶然。就拿我家……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网