首页 > 解决方案 > 为什么 XCUITest 对 iOS 应用程序运行太慢?

问题描述

我想在 iOS 本机应用程序中获取动态元素的值。我曾经XCUITest获取元素的路径。路径工作正常,但获取/打印值大约需要 1 分钟。我没有使用任何等待。

我的代码是:

String El1="//XCUIElementTypeApplication[@name='appName']/XCUIElementTypeWindow[1]/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeOther/XCUIElementTypeTable/XCUIElementTypeCell[5]/XCUIElementTypeStaticText";

 System.out.println("Value: "+driver.findElementByXPath(El1).getText());

标签: seleniumautomationappiumxcuitest

解决方案


XCTest 是一个相当快的框架。尽管 Xpath 非常常见且灵活,但它并不是查找 iOS 元素的最佳选择。您应缩短对该元素的查询并使用findElementByIosNsPredicate

IOSElement settingsCell = driver.findElementByIosNsPredicate("type == 'XCUIElementTypeCell' AND name == 'Settings'");

您可能会发现这篇文章很有帮助

http://appium.io/docs/en/writing-running-appium/ios/ios-predicate/


推荐阅读