我是写作测试的新手。我试图编写一个用标题" 0"按钮的按钮的测试,而敲击后的标题必须更改为" 1"。测试功能如下:
func testTapNumberButtonIncrementsScore() {
XCUIApplication().buttons["0"].tap()
let newScore = XCUIApplication().buttons["1"].label
XCTAssertEqual(newScore, "1")
}
在与'newscore'一致的情况下,我会出现错误,说" UI测试失败 - 未找到" 1"按钮"
似乎没有更改按钮的标题。当按下此按钮的@ibaction键入按钮时,我更改了按钮的标题。但是,如果我将断点与"新闻"保持一致,并等待一段时间并继续;测试成功。
您必须等待标签" 1"按钮。
XCUIApplication().buttons["0"].tap()
let newScoreButton = XCUIApplication().buttons["1"]
let exists = NSPredicate(format: "exists == 1 || enabled == 1")
expectation(for: exists, evaluatedWith: newScoreButton, handler: nil)
waitForExpectations(timeout: 50) { error in
if error != nil {
assertionFailure("The newScoreButton doesn't exists.")
}
}
newScore = newScoreButton.label
XCTAssertEqual(newScore, "1")