使用XCUITEST驱动程序

时间:2016-09-23 13:45:58

标签: xpath appium xctest appium-ios

更新自动化框架的任务落在我身上。我是iOS测试的新手,所以我在Appium-1.6.0-beta1中使用新的XCUITEST驱动程序时出现问题。

我已经启动并运行了驱动程序,但是大多数元素都是使用框架中的xpaths定位的(我知道并不是很理想)大多数元素都没有标签,名称或辅助功能标签。因此:目前90%的元素被排除在名称定位器之外。

xpath似乎适应旧的苹果框架(UIAutomation),如下所示:

//UIAApplication[1]/UIAWindow[4]/UIAAlert[1]

我试过这样的东西:

//XCUIApplication[1]/XCUIElementTypeWindow[4]/XCUIElementTypeAlert[1]

这些传递到driver.find_element(:xpath, xpath_value)没有运气。我似乎无法找到任何关于此的文档,并且在appium讨论论坛上取得了很小的成功。

有人能指出我的工作示例或文档吗?有更好的方法吗?

任何输入都会有所帮助!

谢谢, 彼得

3 个答案:

答案 0 :(得分:4)

并非所有XCUI元素都是来自UIAutomator的直接传输。我一直在使用的方法是在没有你需要的xpath的情况下运行测试,当你打开屏幕时,你想去:

System.out.println(driver.getPageSource());

然后是读取XML以获取所需项目的问题。更加乏味但是如果没有1.6BetaX中的appium检查器,那么我知道如何获得XCUI层次结构的唯一方法。

答案 1 :(得分:0)

通过很少的解决方法,您可以使用旧的图形appium查找与Appium v​​1.6一起使用的视图元素的xpath。按照此链接中的步骤1进行介质: The good old Appium inspector, with a bit workaround

答案 2 :(得分:0)

JaysonP的上述答案工作正常,但仍有办法使用appium检查员。

  1. 从终端/命令行
  2. 运行appium(appium 1.6.x)
  3. 打开appium GUI应用程序,但不要运行它
  4. 在GUI中,提供App Path
  5. 确保GUI版本和终端上运行的GUI版本都使用相同的端口。再次不要从GUI启动appium
  6. 单击“检查器”按钮而不启动appium
  7. 应打开检查窗口,您可以使用以前使用它的方式