第一天使用NSPredicates和Appium。
这是问题所在。
我在视图中有3个XCUIElementTypeTextField元素。
我可以使用Xpath来选择像这样使用
“(// XCUIElementTypeTextField)[1]”
然后是2和3.然而,当我需要更复杂的解决方案时,Xpath很慢,我现在正在使用NsPredicates。虽然我知道我可以通过其他策略搜索NSPredicate支持选择器,如上面的xpath吗? 我可以这样做:
“SUBQUERY(*,$ el,$ el.type =='XCUIElementTypeTextField')[0]”
然而,这不会返回结果:
“type =='XCUIElementTypeTextField'”
确实
答案 0 :(得分:1)
NSPredicate 基本上是定义逻辑条件的方式, Xpath 是一种搜索XML的语言。
我很确定你已经检查过,但也许其他人可以通过NSPredicate检查official source
了解你可以做些什么更重要的是检查 XCUIModeTest.java 和 {中列出的适用于Appium :基于NSPredicate的定位器的内容{3}} 强>
作为您的案例的解决方法,您可以使用谓词获取元素列表,并稍后迭代它以通过索引获取所需的元素。