我运行一个视图控制器上的XCUI测试。每次视图是初始化,API调用是由和MBProgressHud被示出。我的测试需求来搜索按钮,然后点击就可以了,但是我不能,因为重叠MBProgressHud挖掘显示,也API不接受它需要显示按钮的响应。这导致试验失败。
我的问题是什么,我做错了。
是。我们可以包括我们的UI测试这些场景。这是我们需要等待UI元素出现的功能:
func waitForElementToAppear(_ element: XCUIElement) -> XCUIElement? {
let predicate = NSPredicate(format: "exists == true")
let expectation = XCTNSPredicateExpectation(predicate: predicate,
object: element)
let result = XCTWaiter().wait(for: [expectation], timeout: 10)
if result == .completed {
return element
}
return nil
}
此功能会等待完成API调用,并要求UI元素出现。
您可以使用这个工作正常。
func waitForExistence(timeout: TimeInterval) -> Bool
https://developer.apple.com/documentation/xctest/xcuielement/2879412-waitforexistence