zl程序教程

您现在的位置是:首页 >  APP

当前栏目

微信小程序Minium自动化测试(三)

2023-03-15 21:59:50 时间

上篇讲到,元素定位这块,参考官方文档,个人觉得官网文档的示例讲的有点少。幸好微信官方提供了小程序示例代码,方便小伙伴们快速入手。

下载小程序示例代码:https://github.com/wechat-miniprogram/miniprogram-dem

获取单个元素

get_element():在当前页面查询控件, 如果匹配到多个结果, 则返回第一个匹配到的结

使用方式:
self.page.get_element("button", inner_text="获取用户信息").click()

scroll_to():滚动到指定高度

使用方式:
self.page.scroll_to(self.page.inner_size["height"]/2,500

等待时长

wait_data_contains():等待时长,默认为10s

使用方式:
self.page.wait_data_contains()

wait_for():等待直到指定的条件成立

使用方式:
self.page.wait_for()

页面跳转

navigate_to(url,params,is_wait_url_change):跳转到指定页面,支持绝对路径和相对路径。绝对路径的最前面为/,相对路径会被拼接在当前页面父节点的路径后面

使用方式:
self.app.navigate_to("/secPages/addMember/addMember")

switch_tab(url):跳转到tabBar页面。navigate_to()仅可跳转到非tabBar页面,因此,对于tabBar导航页面跳转,需要使用switch_tab(),跳转的同时会关闭其他所有非tabBar页面。

使用方式:
self.app.switch_tab("/pages/mainPackage/intelligent/intelligent")

选择器

<view id="main" class="page-p page-p-gap" style="text-align: center;"></view>

假如要查找像上面这一个元素的话,他的选择器会像是下面这样:

tageName + #id + .className

view#main.page-p.page-p-gap
或
view[id='main'][class='page-section page-section-gap']

输入框赋值

native_input_text() :赋值

使用方式:
self.native.input_text("小程序")

获取页面所有元素

wxml = self.page.get_element('page').inner_wxml   # 获取顶层的page下的所有元素获
print(wxml)

断言

assertEqual(first,second):判断两个参数是否相等,相等返回success,不相等则返回fail。每次断言均会对当前页面进行截图,可在测试报告中查看断言时的小程序页面,从而更快速的定位问题

使用方式:
# 断言,查看是否已选择关机
        select = self.page.get_elements("text.layout--value")
        self.assertEqual(["照明","关机"],[select[0].inner_text,select[1].inner_text],msg="断言")

滚动

scroll_to:滚动到指定高度

使用方式:
self.page.scroll_to(300,500)