Xcode UI 使用多个谓词进行测试

Xcode UI Testing with multiple predicates

Xcode 7 介绍了新的 UI 测试工具。我想过滤一个匹配多个查询的元素。

比如。一个 table 的单元格,每个单元格内部有 4 个标签。 我想找到包含的元素。

label 1 text = "A"
label 1 text = "B"
label 1 text = "C"
label 1 text = "D"

框架有 api 给它一个谓词。 例如。

app.cells.containingPredicate

任何可用于使用多个谓词进行过滤的内容。或者有什么替代方案可以满足我的要求?

您可以像下面这样链接 containingPredicate 过滤器。

app.cells.containingPredicate(NSPredicate(format: "label BEGINSWITH 'A'")).containingPredicate(NSPredicate(format: "label BEGINSWITH 'B'")).containingPredicate(NSPredicate(format: "label BEGINSWITH 'C'")).containingPredicate(NSPredicate(format: "label BEGINSWITH 'D'"))

这将不断过滤掉您的单元格,直到一个单元格的所有标签都匹配为止。