XCTest 中查询的父母和兄弟姐妹(UI 测试)
Posted
技术标签:
【中文标题】XCTest 中查询的父母和兄弟姐妹(UI 测试)【英文标题】:Parents and siblings in query in XCTest (UI testing) 【发布时间】:2016-03-02 14:12:54 【问题描述】:在其他语言中也可以进行这样的查询:
class:B text:"text_I_looking_for" sibling class:C
或
class:B text:"text_I_looking_for" parent class:A child class:C
如何在 XCTest 中执行这样的查询?我需要找到元素 1.检查它是否存在 2. 点击它。
PS 我知道 XCTest 的语法很简单,但在某些情况下它还不够。也许可以使用 NSPredicate 语法?
【问题讨论】:
什么?真的不清楚你在问什么。 XCTest 用于自动化手写测试,而不是运行查询。您能否添加一个示例,说明您正在尝试使用其他编程语言做什么? 听起来他们在谈论新的 GUI 测试,它确实使用查询来获取 UI 元素。 【参考方案1】:今天我发现 Xcode 7.3 正在使用这种机制:
XCUIApplication().otherElements.containingType(.Image, identifier:"circle").staticTexts["3"]
此查询将返回值为“3”的 staticText 对象。 该对象以“otherElement”为父对象,以 id 为“circle”的“Image”为兄弟对象。
【讨论】:
【参考方案2】:.containType 在 Swift 3 中已过时。您可以改用 .containing(我在 Xcode 13 上):
XCUIApplication().otherElements.containing(.image, identifier: "circle").staticTexts["3"]
【讨论】:
以上是关于XCTest 中查询的父母和兄弟姐妹(UI 测试)的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 的 Playwright 中,我如何获取与 ElementHandle 相关的元素(孩子、父母、祖父母、兄弟姐妹)?