2- 元素定位

一、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

③ 通过其他属性选择 //*[@属性=“属性值”]

④ 选择子元素 //[@属性=“属性值”]/

⑤ 选择父元素 //*[@属性=“属性值”]/…

猜你喜欢

转载自blog.csdn.net/weixin_45128456/article/details/114090167