【问题标题】:UITests in Xcode 7 finds wrong 'Next' buttonXcode 7 中的 UITests 发现错误的“下一步”按钮
【发布时间】:2015-11-13 08:11:40
【问题描述】:
我有一个如下所示的测试:
func testNextButtonDisabled() {
let app = XCUIApplication()
XCTAssertFalse(app.buttons["Next"].enabled)
}
此测试失败,因为除了我自己创建的“下一步”按钮外,键盘返回按钮还标有“下一步”。此测试失败并出现错误:
UI 测试失败 - 找到多个匹配项
如何区分我自己的“下一步”按钮和键盘的“下一步”按钮?
【问题讨论】:
标签:
xcode
xctest
ui-testing
xcode-ui-testing
【解决方案1】:
这个问题的具体解决办法是寻找属于主窗口后代的元素。
func testNextButtonDisabled() {
let app = XCUIApplication()
XCTAssertFalse(app.childrenMatchingType(.Window).elementBoundByIndex(0).buttons["Next"].enabled)
}
对于解决此类问题的通用解决方案:在 Xcode 中再次运行“记录 UI 测试”以查看 Xcode 认为您应该如何引用您感兴趣的元素。