1.appium inspector(定位元素的工具)使用方法
详细介绍:
详细解释:
图标 | 名称 | 说明 |
---|---|---|
1 | Show Element Handles | 是否显示元素句柄 |
2 | Select Elements | 选择元素定位 |
3 | Tap/Swipe By Coordinates | 按坐标点击/滑动 |
4 | Download Screenshot | 下载屏幕截图 |
5 | Press Back Button | 按下后退按钮 |
6 | Press Home Button | 按主页按钮 |
7 | Press App Switch Button | 按应用程序切换按钮 |
8 | Native App Mode | 本机应用程序模式 |
9 | Web/Hybrid App Mode | Web/ 混合应用程序模式 |
10 | Refresh Source & Screenshot | 刷新源和屏幕截图 |
11 | Search for element | 搜索元素 |
12 | Start Recording | 开始录制 |
13 | Quit Session & Close Inspector | 退出会话并关闭检查器 |
2.appium定位方法
(1)目标元素有
resource-id
且该
id
唯一
,
或排第一个
driver.find_element_by_id
(2)目标元素有
content-desc
属性
driver.find_element_by_accessibility_id
(3)以上条件均不具备
-XPATH
driver.find_element_by_xpath
备注:
appium
寻找元素的形式与
selenium
基本相同, 都有单数和复数形式,
find_element_by_XXX
符合条件的
第一个元素
,找不到抛出异常(所以如果自己所找的元素,匹配到了多个值,若该值显示在第一个的话,就可以用该表达式)
find_elements_by_XXX
符合条件的所有元素的列表,找不到返回空列表
同时也有全局查找和局部查找
通过
WebDriver
查找范围是整个界面树形结构
通过
WebElement
查找范围是该节点的子节点
Xpath
在
appium
中的原理
在
Appium
中,我们没法使用
css
,因为
css
是
web
专用的
与
web
不同,底层测试驱动并不识别
XPATH
Appium
负责解析
xpath
给底层测试驱动来识别
每个节点名对应元素的
class
属性
对于一些比较复杂的元素的定位,我们可以用它定位
driver.find_element_by_xpath('//ele1/ele2[@attr="a1"]')
xpath
表达式
(1)通过
ID
选择
//*[@resource-id="com.hpbr.bosszhipin:id/view_job_card"]
(2)通过
CLASS
选择
//android.view.ViewGroup
(3)通过其他属性选择
//*[@
属性
="
属性值
"]
(4)选择子元素
//
[@
属性
="
属性值
"]/
(5)选择父元素
//*[@
属性
="
属性值
"]/..