上篇讲到,元素定位这块,参考官方文档,个人觉得官网文档的示例讲的有点少。幸好微信官方提供了小程序示例代码,方便小伙伴们快速入手。
下载小程序示例代码:https://github.com/wechat-miniprogram/miniprogram-dem
获取单个元素
使用方式:
self.page.get_element("button", inner_text="获取用户信息").click()
使用方式:
self.page.scroll_to(self.page.inner_size["height"]/2,500
等待时长
wait_data_contains():等待时长,默认为10s
使用方式:
self.page.wait_data_contains()
使用方式:
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)