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