等待期望但继续

wait for expectation but continue

等待预期发生但继续进行的最佳方式是什么?我试过:

expectation(for: NSPredicate(format: "exists == true"), evaluatedWith: app.buttons["myButton"], handler: nil)
waitForExpectations(timeout: 5) { (error) -> Void in
            if error == nil {
                // Do other stuff and continue
            }
}
//continue

不幸的是,这不起作用,因为如果没有达到预期,测试就会停止

exists == true的情况下,可以使用waitForExistence -> 其中returns一个布尔值。返回该布尔值后(达到超时后......或元素存在时),您可以使用该值来确定是否继续。即

let myButtonExists = app.buttons["myButton"].waitForExistence(timeout: 5)
if myButtonExists {
   //do something
} else {
   //do something else
}

https://developer.apple.com/documentation/xctest/xcuielement/2879412-waitforexistence