私はXcode UIテストアプリケーションにswiftを使用しています。テスト中のアプリケーションは、テストケースの通常のワークフローに影響する「アラートボックス」を表示することがあります。ポップアップがいつ現れるかを予測する方法はありません。テストケース1またはテストケース番号xに表示されることがあります。Xcode UIテストを使用したスワイプASYNCイベント処理
私は "警告ボックス"を却下し、テストケースの残りの部分を続けたいと思っていました。テストケースの通常のフローに影響を与えずに、迅速なXCUITestフレームワークを使用して同様の性質のASYNCイベントを処理するにはどうすればよいですか?
これまでのところ、私が発見した:
expectationForPredicate(exists, evaluatedWithObject: alertbox, handler: nil)
waitForExpectationsWithTimeout(300, handler: nil)
は、これは2つの理由で現実的ではありません。
- タイムアウトが
を予測することはできません
func testTestCase1 { let expectation = expectationWithDescription("Alert Found! Dismissing") do { // ... // test steps // ... expectation.fulfill() } waitForExpectationsWithTimeout(300) { dimissAlert() } }
Ref1のテストケースの流れをブロックしている: https://www.bignerdranch.com/blog/asynchronous-testing-with-xcode-6/
Ref2の: XCTest and asynchronous testing in Xcode 6
REF3:https://adoptioncurve.net/archives/2015/10/testing-asynchronous-code-in-swift/
スイート全体で非同期イベントを処理する一般的な方法はありますか?別のスレッドが「アラートボックス」イベントを表示するのを待っている間、テストを続行するにはどうすればよいですか?
乾杯!