文章目录
一、UI自动化的主要工作
- 定位元素
- 操作元素
- 根据返回做进一步处理
二、元素定位工具Appium-inspector
模拟代码获取界面
1、该工具是Appium自带的,点击如下的 “放大镜”
2、出现如下界面,在Desired Capabilties页签中添加自动化配置信息
方便下次使用,可点击save as保存一下
3、配置完成后,点击"Start Session"
这个动作同代码:webdriver.Remote(‘http://127.0.0.1:4723/wd/hub’,{配置信息})一样
注意:界面不会与手机保持实时同步,只有点击上面的刷新按钮,才会更新页面(实际上,代码执行的是截屏操作)
4、点击界面上的元素,即可选中元素
通过sessionID获取界面
1、点击进入这个页签
2、运行代码,执行成功后
3、点击刷新按钮,即可自动获取到这个对话的sessionID
4、获取到内容后,点击Attach to Session按钮,就可获取到测试机页面
三、appium元素定位
1、find_element_by_id
适用场景: 目标元素有resource-id,且该id唯一或排首位
2、find_element_by_accessibility_id
适用场景: 目标元素有content-desc属性
3、find_element_by_xpath
适用场景: by_id和by_accessibility_id无法唯一定位到元素时,选取此种方法
注意:
- 在Appium中,不支持css定位,因为css是 web 专用的
- 与web不同,底层测试驱动并不识别xpath,Appium负责解析xpath给底层测试驱动来识别
- 每个节点名对应元素的class属性
① 通过ID选择 //*[@resource-id=“com.hpbr.bosszhipin:id/view_job_card”]
② 通过CLASS选择 //android.view.ViewGroup
③ 通过其他属性选择 //*[@属性=“属性值”]
④ 选择子元素 //[@属性=“属性值”]/
⑤ 选择父元素 //*[@属性=“属性值”]/…