我正在开发的Xcode UI测试应用程序中有多个后退按钮。一个是可点击的,另一个不是。我尝试用do / catch包装,但如果任何一行失败,测试将失败。
app.navigationBars.buttons [“Back”]有多个匹配,都是:
app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(0)
和
app.navigationBars.childrenMatchingType(.Button).elementBoundByIndex(1)
是否有可能尝试一个,如果不做另一个?或者检查元素是否可以点击?
根据设备的大小(6+和iPad与较小的设备),后退按钮元素会发生变化。
答案 0 :(得分:2)
基于@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
。