我正在开发 Xcode UI 测试的应用程序有多个后退按钮。一个是可点击的,另一个则不可点击。我尝试包装在 do/catch 中,但如果任何单行失败,测试就会失败。
app.navigationBars.buttons["Back"] 有多个匹配项,两者都是:
app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(0)
和
app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(1)
是否可以尝试其中一种,如果不行则尝试另一种?或者检查元素是否可点击?
根据设备的大小(6+ 和 iPad 与较小的设备),后退按钮元素会发生变化。
最佳答案
基于 @dasdom 的答案,您可以在 Swift 中执行以下操作:
let buttonQuery = app.navigationBars.element.childrenMatchingType(.Button)
var button = buttonQuery.elementBoundByIndex(0)
if (button.hittable == false) {
button = buttonQuery.elementBoundByIndex(1)
}
button.tap()
请注意 button
不是可选的,因此不需要 ?
。此外,枚举不会直接转换,因此应使用 .Button
。
关于ios - 如何检查元素是否可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290857/