专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

小程序自动化测试神器(五)API详解(下)

  写在前面
  又有好久没更新小程序自动化测试框架Minium系列文章了,主要真的太忙,尽量做到每周一更吧,还请大家能够理解!
  上篇文章为大家分享关于Minium中Minium、App模块的API使用,接下来将为大家继续分享Minium中API的使用。Page中API的使用data
  当前页面数据,可直接赋值
  Page({data:{testdata1:1}})
  示例代码如下:deftestdata(self):data演示数据:return:self。app。navigateto(packageComponentpagesviewviewview)pageself。app。getcurrentpage()datapage。dataself。assertDictEqual({theme:light},data)data〔theme〕redpage。datadatapage。data{theme1:light1}pageself。app。getcurrentpage()print(page。data)self。assertDictEqual({theme:red,theme1:light1},page。data)elementisexists()
  在当前页面查询元素是否存在
  Parameters:
  名称类型默认值说明selectorstrNotNonecss选择器或以或开头的xpathmaxtimeoutint10超时时间,单位sinnertextstrNone通过控件内的文字识别控件textcontainsstrNone通过控件内的文字模糊匹配控件valuestrNone通过控件的value识别控件xpathstrNone显式指定xpath
  示例代码如下:deftestelementisexists(self):验证在当前页面元素是否存在:return:self。app。navigateto(packageComponentpagesviewviewview)isexistsself。page。elementisexists(view,innertextB,maxtimeout5)self。assertEqual(True,isexists,在当前页面元素存在)getelement()
  获取页面元素
  Parameters:
  名称类型默认值说明selectorstrNotNoneCSS选择器或以或开头的XPathinnertextstrNone通过控件内的文字识别控件textcontainsstrNone通过控件内的文字模糊匹配控件valuestrNone通过控件的value识别控件maxtimeoutint0超时时间,单位sxpathstrNone显式指定XPath,小程序基础库2。19。5后支持
  PS:selector仅支持下列语法:ID选择器:theidclass选择器(可以连续指定多个):。aclass。anotherclass标签选择器:view子元素选择器:。theparent。thechild后代选择器:。theancestor。thedescendant跨自定义组件的后代选择器:customelement1。customelement2。thedescendant
  customelement1和。customelement2必须是自定义组件标签或者能获取到自定义组件的选择器多选择器的并集:anode,。someothernodesxpath:可以在真机调试的wxmlpannel选择节点右键copycopyfullxpath获取,暂不支持〔text()xxx〕这类xpath条件自定义组件不支持穿透,需要先get自定义组件,再使用Element。getelement获取其子节点,或使用〔〕连接自定义组件及其后代元素,如发现无法正常定位,可根据这个方法辨别自定义组件更多元素定位实例
  Returns:Element
  实例代码如下:deftestgetelement(self):获取页面当前元素:return:self。app。navigateto(packageComponentpagesviewviewview)elementself。page。getelement(view,innertextA,maxtimeout5)print(element。innertext)print(element。innerwxml)getelements()
  获取一组元素
  PS:支持的选择器同getelement()
  Parameters:
  名称类型默认值说明selectorstrNotNonecss选择器或以或开头的xpathmaxtimeoutint0超时时间,单位sinnertextstrNone通过控件内的文字识别控件,xpath暂不支持textcontainsstrNone通过控件内的文字模糊匹配控件,xpath暂不支持valuestrNone通过控件的value识别控件,xpath暂不支持indexint1index1:获取所有符合的元素,index0:获取前index1符合的元素xpathstrNone显式指定xpath,小程序基础库2。19。5后支持
  Returns:List〔Element〕
  示例代码如下:deftestgetelements(self):获取一组元素:return:elementself。page。getelementsbycss(〔classkindlisttext〕)forelinelement:print(el。innertext)scrollto()
  滚动到指定高度
  Parameters:
  名称类型默认值说明scrolltopintNotNone高度,单位pxdurationint300滚动动画时长,单位ms
  Returns:None
  示例代码如下:deftestscrollto(self):500ms内页面滚动到高度为200px的位置:return:pageself。app。navigateto(packageComponentpagesviewscrollviewscrollview)500ms内页面滚动到高度为200px的位置page。scrollto(200,500)time。sleep(1)self。assertEqual(page。scrolly,200,scrollsuccess)waitfor()
  等待直到指定的条件成立,条件可以是页面元素,也可以是自定义的函数或者是需要等待的时间(单位秒)
  Parameters:
  名称类型默认值说明conditionintstrfunctionmaxtimeoutint10超时时间,单位s
  Returns:bool
  示例代码如下:deftestwaitfor(self):5秒内等待页面页面元素出现,返回布尔类型:return:self。app。navigateto(packageComponentpagesviewviewview)isTrueself。page。waitfor(〔classflexitemdemotext2〕,maxtimeout5)self。assertEqual(True,isTrue,元素成功加载!)Element中API的使用getelement()
  查找一个元素
  Parameters:
  名称类型默认值说明selectorstrNotNone选择器innertextstrNone通过控件内的文字识别控件textcontainsstrNone通过控件内的文字模糊匹配控件valuestrNone通过控件的value识别控件maxtimeoutint0超时时间,单位s
  PS:selector支持的语法:除xpath外,同page。getelementgetelements()
  查找一组元素
  Parameters:
  名称类型默认值说明selectorstrNotNone选择器maxtimeoutint0超时时间,单位sinnertextstrNone通过控件内的文字识别控件textcontainsstrNone通过控件内的文字模糊匹配控件valuestrNone通过控件的value识别控件indexint1index1:获取所有符合的元素,index0:获取前index1符合的元素
  PS:支持的css选择器同getelement()
  Returns:List〔Element〕
  示例代码如下:一个元素elementself。page。getelement(selector)elementelement。getelement(selector)一组元素elementsself。page。getelements(selector)elementselement。getelements(selector)attribute()
  获取元素属性
  示例代码如下:deftestattribute(self):获取页面元素属性,返回集合:return:self。app。navigateto(packageComponentpagesviewviewview)attributeself。page。getelement(〔classflexitemdemotext2〕)。attribute(class)print(attribute)self。assertEqual(〔flexitemdemotext2〕,attribute,元素成功加载!)tap()
  点击元素
  click()
  在tap()之前检查元素pointerevents样式是否为none示例代码如下:
  tapself。page。getelement(view,innertext视图容器,maxtimeout2)。tap()clickself。page。getelement(view,innertext视图容器,maxtimeout2)。click()longpress()
  长按元素
  示例代码如下:长按操作epage。getelement(testlongtap)e。longpress()move()
  移动元素(触发元素的touchstart、touchmove、touchend事件)
  Parameters:
  名称类型默认值说明xoffsetintNotNonex方向上的偏移,往右为正数,往左为负数yoffsetintNotNoney方向上的偏移,往下为正数,往上为负数movedelayint350移动前摇,mssmoothboolFalse平滑移动importminium,timeminium。ddtclassclassTestElement(minium。MiniTest):classmethoddefsetUpClass(cls):super(TestElement,cls)。setUpClass()cls。pagecls。app。redirectto(pagestestelementtestelement)defresetmovableview(self):重置元素位置elementself。page。getelement(movableview)element。moveto(0,0)time。sleep(1)deftestmove(self):测试move方法,movableview元素横向移动30像素,纵向移动70像素self。resetmovableview()elementself。page。getelement(movableview)rectelement。rectelement。move(30,70,500)横向移动30像素,纵向移动70像素self。assertDictEqual({left:rect〔left〕30,top:rect〔top〕70,width:rect〔width〕,height:rect〔height〕,},element。rect,)deftestmovesmooth(self):self。resetmovableview()elementself。page。getelement(movableview)rectelement。rectelement。move(30,70,750,smoothTrue)time。sleep(2)self。assertDictEqual({left:rect〔left〕30,top:rect〔top〕70,width:rect〔width〕,height:rect〔height〕,},element。rect,)styles()
  获取元素的样式属性
  Parameters:
  名称类型默认值说明namesstrlistNotNone
  示例代码如下:defteststyles(self):获取元素的样式属性:return:self。app。navigateto(packageComponentpagesviewviewview)attributeself。page。getelement(〔classflexitemdemotext2〕)。styles(color)print(attribute)self。assertEqual(〔rgb(255,255,255)〕,attribute,获取元素的样式属性成功!)scrollto(
  元素滚动
  基础库v2。23。4版本后支持
  Parameters:
  名称类型默认值说明topintNonex轴上滚动的距离leftintNoney轴上滚动的距离
  示例代码如下:deftestscrollto(self):元素滚动:return:self。app。navigateto(packageComponentpagesviewviewview)xself。page。scrollwidthyself。page。scrollheightself。page。getelement(view,innertextB)。scrollto(x2,y2)input()
  inputtextarea组件输入文字
  IDE上不会改变element上的value属性,建议使用变化的Page。datahook绑定的input方法判断是否生效
  Parameters:
  名称类型默认值说明textstrNone输入文本
  示例代码如下:deftestinput(self):元素输入操作:return:input框self。app。navigateto(packageComponentpagesforminputinput)self。page。getelement(〔placeholder最大输入长度为10〕)。input(文本内容)textarea输入框self。app。navigateto(packageComponentpagesformtextareatextarea)self。page。getelement(。textareawrptextarea)。input(文本内容)写在最后
  越写越发现自己的盲区越多,关于小程序的一些组件我还是不太明白,待我去研究明白。后续再来更新,尽量做到通俗易懂,还请各位同学能够继续关注、支持我,有问题欢迎文末留言给我,一起交流学习!

网传2023年春晚主持人阵容曝光朱军呼声高,董卿周涛遗憾落选2023年春晚主持人曝光!朱军呼声最高,董卿周涛遗憾落选年关将至,2023年春节联欢晚会也在加急排练中,相信大部分网友都很好奇此次春晚出场的嘉宾包括主持人,期待他们给大家带来更多的死亡,让我更加看清生命的意义那些关于死亡的思考不得不承认,新冠疫情正在催促着我们思考死亡。这个话题,唤醒了我脑海里沉睡多年的记忆那是我大约910岁的某个夜晚,约莫是夏季,我躺在自己的小房间酝酿睡意忽然觉得,幽兰的天空寂静而高远冬天起床要注意5件事,关乎生命!正确唤醒指南请查收冬天最舒服的事莫过于钻进被窝的那一刻而最痛苦的大概就是起床了你可曾想过为什么一到冬天起床就特别困难呢?真的是太懒了吗?入冬早起困难的原因1hr低温环境除了身体怕冷的原因,环境温度变网红自热火锅有危险,吃货们要小心!不用火不用电只要一杯凉水倒入加热包就可以吃到热气腾腾的小火锅这样的发明简直就是广大吃货们的福音不过这种自热火锅虽然美味快捷但吃起来还是得悠着点详解自热火锅发热原理自热火锅主要是由食东部排名榜绿军傲视联盟,2队排名错乱,雄鹿胜字母哥却笑不出来20222023赛季NBA常规赛正在如火如荼的进行中,1月12日比赛结束后,东部排名榜发生了新的变化凯尔特人轻取鹈鹕,排名傲视全联盟雄鹿战胜老鹰,喜提2连胜,字母哥却打成蓝领数据黄独家专访吴少聪再踏留洋路希望站稳脚跟,一切为了自己更强大!记者鲁蜜报道北京时间1月10日,中国球员吴少聪转会土超联赛劲旅伊斯坦布尔谷穗城,成为了留洋军团中的重要一员。出生于2000年的吴少聪,18岁时就曾留洋日本,短短四年之间,他就开启了CBA疯狂一战!3分31中19,广东27分大胜,他打得像易建联接班人!头条创作挑战赛北京时间2023年1月12日CBA常规赛第25轮的焦点大战广东大胜北控。比赛上来广东的进攻效率就相当高,队员之间的传球配合打得行云流水,多点开花快速占据上风,杜锋指导NBA篮球,鹈鹕114125不敌凯尔特人,麦科勒姆38分难敌绿军双探花NBA常规赛,凯尔特人125114战胜鹈鹕,全场比赛绿衫军几乎一直占据主动,末节彻底拉开分差,最终力克鹈鹕豪取四连胜。鹈鹕首发后卫麦科勒姆手感火热,发挥十分不错,但双拳难敌四手,还WNBA收入有多低,女版奥尼尔被迫转行被誉为女版奥尼尔的坎贝奇,身体素质到底有多炸裂?曾经扬言能单挑打爆伊巴卡的她并非狂妄自大,那作品篮球两不误的坎贝奇有打NBA的实力吗?坎贝奇是2011年WNBA的榜眼秀,作为世界女找中卫去法甲!23岁的铁闸9次1对1全胜,让锋线超新星怀疑人生当今足坛好中卫非常稀缺,在世界杯上一战成名的格瓦迪奥尔,身价瞬间飙升到一亿欧元以上。多家豪门球队,都存在缺少好中卫的困扰。纵观五大联赛,法甲的中卫储备是最丰富的。哪怕在中下游球队,国足换帅进展缓慢,两人成热门候选,新年首训还是李霄鹏带队北京时间1月12日,关于中国男足选帅问题又成为媒体球迷热议的话题,这一次中国男足选帅遇到了麻烦,进展比较缓慢,整个事情能否取得圆满结局让人关注,就目前来看,足协暂时找不到合适主帅,
学会动态丨第五届智能科学国际会议(ICIS2022)成功举办2022年10月2831日,由中国人工智能学会国际信息研究学会中国分会共同主办,西安电子科技大学和中国人工智能学会心智计算专委会承办的第五届智能科学国际会议(ICIS2022)在线什么是游戏的硬核文化输出?看看王者荣耀五谷丰年,做工震撼到了小伙伴们大家好,最近这段时间王者荣耀7周年活动还是蛮多的,让人期待的就是期七周年限定皮肤。从王者荣耀发出来的视频来看,光是海报就有7版草稿,最终多次删减,反复推销设计才定型,这款皮2023年养老金上涨,60岁涨200元,70岁300元,80岁400元,可行吗2023年养老金上涨,统一按照年龄调整,60岁涨200元,70岁涨300元,80岁涨400元,这可行吗?还剩下不到2个月的时间,2022年就要结束,2023年即将来临。关于养老金能赌王家族内斗,四太被迫转股份给二房,和12年前何鸿燊交权一样今年是澳门赌牌竞投的关键年,今年国庆期间,赌王家族产生一次权力变动,就是四太染安琪将澳娱10的股份转让给了二房次女何超凤,转让的价格仅仅是象征性的一元钱。二房这次夺权,可谓兵不血刃房贷转贷,立省几十万利息,这种事你最好别碰房贷转贷,轻松省下几十万利息,究竟是天上掉馅饼还是掉陷阱?文巴九灵(微信公众号吴晓波频道)姐,你位于XXX处的房子,现在银行可以做到利率3左右的贷款,100万的贷款,能省下20多万10月线上看车指南新车密集发布,车企打响四季度收官战21世纪经济报道记者杜巧梅实习生陈一豪北京报道进入四季度,中国车市迎来了一年中最热闹的时期。除了传统金九银十销售旺季的加持,在600亿燃油车购置税减半政策的加持之下,进入10月份,赛力斯10月卖了12047辆几乎全是华为站台的问界稿源快科技11月1日,赛力斯发布公告称,10月汽车销量12,047辆,同比增长461。37本年累计销量61,622辆,同比增长832。82。目前,赛力斯旗下车型包括SF5问界M5问喜报!绵阳建成型大城市有了政策支撑绵阳终于有望建设成为型大城市!为什么这样说呢?根据国务院关于调整城市规模划分标准的通知有关规定大城市是指常住人口达到100万以上500万以下(城区人口)的城市。在大城市中又分为两个一体化畜禽养殖,温氏股份主业稳步扩张,充分受益行业高景气度(报告出品方分析师西部证券熊航)一温氏股份农业产业化国家重点龙头企业1。1四十年发展,造就一体化畜禽养殖龙头温氏集团前身为1983年创建的新兴县勒竹鸡场,以肉猪肉鸡养殖为主,以奶牛英媒抨击中国不会给欧洲带来任何好处英国金融时报网站11月3日发表题为抨击中国不会给欧洲带来任何好处的文章,作者为佩姬霍林格。全文摘编如下德国巴斯夫公司首席执行官薄睦乐上周说,抨击中国的做法适可而止吧。他是在回应批评英媒抨击中国不会给欧洲带来任何好处参考消息网11月6日报道英国金融时报网站11月3日发表题为抨击中国不会给欧洲带来任何好处的文章,作者为佩姬霍林格。全文摘编如下德国巴斯夫公司首席执行官薄睦乐上周说,抨击中国的做法适
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网