自动化测试元素定位是难点之一,编写脚本时会经常卡在元素定位这里,有时一个元素能捣鼓一天,到最后还是定位不到。
Appium 定位方式和 selenium 一脉相承,selenium 中的定位方式Appium 中都支持,而 Appium 还增加了自己特定的方式用来定位原生的 Android 与 iOS 元素。
1、Appium 元素的定位方式
Appium 支持以下元素定位方式ID,本机元素标识符。 Android 的 resource-id; iOS 的 Name
NAME,1.4以上版本已经不支持该定位方式
CLASS_NAME,Android, UIAutomator2 类的全名; IOS, 以XCUIElementType 开头的XCUI 元素全名。
LINK_TEXT(没用),链接的完整文字
PARTIAL_LINK_TEXT(没用),链接的部分文字
TAG_NAME,元素的结点名称
CSS_SELECTOR,css 定位,检索 page source 的 xml 文档的有效 css
XPATH(不推荐),xpath 定位,检索 page source 的 xml 文档的有效 xpath
ACCESSIBILITY_ID,通过附加给定元素的辅助功能ID或标签定位元素,如 Android 的 content-desc属性, iOS 的 accessibility-id 属性。
IMAGE (实验阶段,不推荐使用), 根据base64编码的图像文件定位元素
CUSTOM (实验阶段,不推荐使用), 使用第三方插件定位元素
ANDROID_UIAUTOMATOR, 使用 A