gpt4 book ai didi

ios - 了解 Appium 的 iOS uiautomation 选择器策略的基础知识

转载 作者:行者123 更新时间:2023-11-28 17:51:40 27 4
gpt4 key购买 nike

我正在使用 Appium 为 iOS 原生应用程序编写 UI 自动化测试,并逐渐意识到大多数元素定位策略如何不能可靠地适用于 iOS。

除了随机工作的 XPath,我还有其他选择:

  • 辅助功能 ID(对我不起作用)
  • 名称(并非每个元素都具有“名称”属性的值)
  • 类(在处理元素列表时有意义)
  • iOS UiAutomation 谓词(适合初学者的陡峭学习曲线)

我一直在尝试了解如何使用 iOS UiAutomation 定位器策略 并使用它查找元素,但它不适用于 Appium Inspector。我引用了这些文档(Appium iOS Predicate referenceApple UIAutomation reference),但我觉得它们适合对 iOS 开发有一定了解的高级 Appium 用户,而不适合初学者。

目前我试图在其中查找元素的元素层次结构是这样的:
Part 1 of element hierarchy Part 2 of element hierarchy


我当前的自动化设置是:

  • XCode 6.3.2
  • Appium 1.4.8
  • iOS 8.3
  • Appium Java 客户端 3.1.0



我可以使用什么定位器来使用 UiAutomation 谓词策略定位突出显示的元素?我一直在 Appium Inspector 上尝试一些选项,例如:

  • applications()[0].windows()[0].navigationBars()[0].textFields().withPredicate("value == 'Search eBay'")
  • .textFields().withPredicate("value == 'Search eBay'")


这些都没有用。我在这里做错了什么?是否有任何其他文档可以从头开始清楚地解释 iOS UiAutomation 定位器?如果有人能解释这些基础知识,那将非常有帮助。

最佳答案

我以前从未使用过 Appium,但我使用过 JavaScript 中的 UIAutomation。

您可能可以使用以下方法找到该元素:

....textFields().firstWithName("Search eBay")

请注意,UIAuatomation 使用 UIAccessibility协议(protocol)。 UITextFieldvalue 是它的accessibilityValue,那个值等于搜索到的文本,而不是占位符。在字段中键入内容后,您将能够使用 value

当然,在您的情况下,捕获第一个文本字段也可以,因为导航栏中只有一个。

关于ios - 了解 Appium 的 iOS uiautomation 选择器策略的基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715877/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com