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

时间:2017-11-20 02:59:37

标签: ios swift xcode-ui-testing uitest

我有一个任务是成功传递UITest,如果预期的元素(在我的情况下是警告)DID不会在超时之前出现(在服务器请求时)。

代码:

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

未在互联网上找到任何解决方案。

1 个答案:

答案 0 :(得分:3)

Оооо,你应该介意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)