当 waitForExpectations 失败时在 UITest 上取得成功

Get success on UITest when waitForExpectations fails

我有一个任务是让 UITest 成功通过,如果预期的元素(在我的例子中是警报)在超时之前没有出现(根据服务器请求)。

代码:

let element = app.alerts["test text"]
let existsPredicate = NSPredicate(format: "exists == true")
expectation(for: existsPredicate, evaluatedWith: element, handler: nil)

waitForExpectations(timeout: 10, handler: nil)

// when timeout expired test should finish with success

未在 Internet 上找到任何解决方案。

Оооо,你应该注意它是 UITest。在那种情况下,期望值很好 属性: isInverted。将其设置为 true 表示期望不会发生。 )))

let element = app.alerts["test text"]
let existsPredicate = NSPredicate(format: "exists == true")
let expectation = expectation(for: existsPredicate, evaluatedWith: element, handler: nil)
expectation.isInverted = true // if alert doesn't appear during 10 seconds, then test passed

waitForExpectations(timeout: 10, handler: nil)