使用 XCUITEST 驱动程序在 Appium 中通过 xpath 查找元素
Finding elements by xpath in Appium using XCUITEST driver
更新自动化框架的任务落在了我身上。我是 iOS 测试的新手,所以我在使用 Appium-1.6.0-beta1 中的新 XCUITEST 驱动程序时遇到了问题。
我已经启动了驱动程序并且 运行,但是大多数元素都是使用框架中的 xpaths 定位的(我知道一点也不理想)大多数元素没有标签、名称或可访问性标签。因此,目前 90% 的元素都排除了 :name 定位器。
xpath 似乎适合旧的 apple 框架 (UIAutomation),如下所示:
//UIAApplication[1]/UIAWindow[4]/UIAAlert[1]
我试过这样的事情:
//XCUIApplication[1]/XCUIElementTypeWindow[4]/XCUIElementTypeAlert[1]
这些被传递到 driver.find_element(:xpath, xpath_value)
没有运气。我似乎找不到任何关于此的文档,并且在 appium 讨论论坛上取得的成功微乎其微。
任何人都可以指出一个工作示例或文档吗?有更好的方法吗?
任何输入都会很有帮助!
谢谢,
彼得
并非所有 XCUI 元素都是从 UIAutomator 直接传输的。我一直使用的方法是 运行 没有你需要的 xpath 的测试,当你打开你想要的屏幕时:
System.out.println(driver.getPageSource());
然后就是阅读XML得到想要的东西了。繁琐得多,但在 1.6BetaX 中没有 appium 检查器,这是我知道如何获取 XCUI 层次结构的唯一方法。
只需很少的解决方法,您就可以使用旧的图形化 appium 查找视图元素的 xpath,以便与 Appium v1.6 一起使用按照此 link 中的步骤 1:
The good old Appium inspector, with a bit workaround
JaysonP 的上述回答工作正常,但仍有一种方法可以使用 appium 检查器。
- 运行 您正在使用的 appium (appium 1.6.x ) 来自 terminal/command 行
- 打开 appium GUI 应用程序但不要运行它
- 在 GUI 中,提供应用程序路径
- 确保 GUI 版本和您 运行 在终端上使用的版本使用相同的端口。再次不要从 GUI 启动 appium
- 在不启动 appium 的情况下单击 Inspector 按钮
- Inspector window应该打开了,你可以使用你之前一直使用的方式
更新自动化框架的任务落在了我身上。我是 iOS 测试的新手,所以我在使用 Appium-1.6.0-beta1 中的新 XCUITEST 驱动程序时遇到了问题。
我已经启动了驱动程序并且 运行,但是大多数元素都是使用框架中的 xpaths 定位的(我知道一点也不理想)大多数元素没有标签、名称或可访问性标签。因此,目前 90% 的元素都排除了 :name 定位器。
xpath 似乎适合旧的 apple 框架 (UIAutomation),如下所示:
//UIAApplication[1]/UIAWindow[4]/UIAAlert[1]
我试过这样的事情:
//XCUIApplication[1]/XCUIElementTypeWindow[4]/XCUIElementTypeAlert[1]
这些被传递到 driver.find_element(:xpath, xpath_value)
没有运气。我似乎找不到任何关于此的文档,并且在 appium 讨论论坛上取得的成功微乎其微。
任何人都可以指出一个工作示例或文档吗?有更好的方法吗?
任何输入都会很有帮助!
谢谢, 彼得
并非所有 XCUI 元素都是从 UIAutomator 直接传输的。我一直使用的方法是 运行 没有你需要的 xpath 的测试,当你打开你想要的屏幕时:
System.out.println(driver.getPageSource());
然后就是阅读XML得到想要的东西了。繁琐得多,但在 1.6BetaX 中没有 appium 检查器,这是我知道如何获取 XCUI 层次结构的唯一方法。
只需很少的解决方法,您就可以使用旧的图形化 appium 查找视图元素的 xpath,以便与 Appium v1.6 一起使用按照此 link 中的步骤 1: The good old Appium inspector, with a bit workaround
JaysonP 的上述回答工作正常,但仍有一种方法可以使用 appium 检查器。
- 运行 您正在使用的 appium (appium 1.6.x ) 来自 terminal/command 行
- 打开 appium GUI 应用程序但不要运行它
- 在 GUI 中,提供应用程序路径
- 确保 GUI 版本和您 运行 在终端上使用的版本使用相同的端口。再次不要从 GUI 启动 appium
- 在不启动 appium 的情况下单击 Inspector 按钮
- Inspector window应该打开了,你可以使用你之前一直使用的方式