2017-11-20 17 views
1

予想される要素(私の場合はアラート)がタイムアウト(サーバー要求時)の前に表示されない場合、UITestを正常に受け渡すタスクがあります。waitForExpectationsが失敗したときに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 

は、インターネット上で任意の解決策を見つけることができませんでした。

答えて

1

О®®、あなたはそれが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) 
+0

興味深いことに!コードの例を投稿してください。 – Igor

+0

Brilliant!それは私が必要としたものです!この手がかりをありがとう!郵便番号と私はあなたの答えを受け入れるでしょう。 – Igor

+0

私はそれを自分で追加しました。前の回答を削除してください。 – Igor

関連する問題