6

我有一个如下所示的测试:

func testNextButtonDisabled() {
  let app = XCUIApplication()
  XCTAssertFalse(app.buttons["Next"].enabled)
}

此测试失败,因为除了我自己创建的“下一步”按钮外,键盘返回按钮还标有“下一步”。此测试失败并出现以下错误:

UI 测试失败 - 找到多个匹配项

如何区分我自己的“下一步”按钮和键盘的“下一步”按钮?

4

1 回答 1

8

这个问题的具体解决方案是寻找主窗口的后代元素。

func testNextButtonDisabled() {
  let app = XCUIApplication()
  XCTAssertFalse(app.childrenMatchingType(.Window).elementBoundByIndex(0).buttons["Next"].enabled)
}

对于解决此类问题的一般解决方案:在 Xcode 中再次运行“记录 UI 测试”以查看 Xcode 如何认为您应该引用您感兴趣的元素。

于 2015-08-19T20:59:23.007 回答