我有一个如下所示的测试:
func testNextButtonDisabled() {
let app = XCUIApplication()
XCTAssertFalse(app.buttons["Next"].enabled)
}
此测试失败,因为除了我自己创建的“下一步”按钮外,键盘返回按钮标有“下一步”。此测试失败并显示错误:
UI测试失败 - 找到多个匹配
如何区分我自己的“下一步”按钮和键盘“下一步”按钮?
答案 0 :(得分:8)
此问题的具体解决方案是查找作为主窗口后代的元素。
func testNextButtonDisabled() {
let app = XCUIApplication()
XCTAssertFalse(app.childrenMatchingType(.Window).elementBoundByIndex(0).buttons["Next"].enabled)
}
对于解决这类问题的一般解决方案:在Xcode中运行"记录UI测试"再次看看Xcode如何认为你应该引用你感兴趣的元素。