2016-11-28 4 views
2

私はxcode 8でテストスイートのUIオートメーションを書いています。しかし、アラートを解除しようとしている間、この問題が発生し続けています。UIテストの失敗 - 受信しなかった2.0秒以内に通知が消えました

私は現在、私はapp.tap()を使用して火に中断モニタを呼び出すときしかし、私はエラーUIテストの失敗を取得し、私のアラートを削除するために、addUIInterruptionMonitorを使用しています - ビューを受信しませんでしたが2.0Sエラー

内の通知を消えました

なぜこれが起こっていますか?これをどうして防ぐことができますか?添付

app.launch(前にモニターを追加し、アプリ

override func setUp() { 
    super.setUp() 
    XCUIApplication().terminate() 
    continueAfterFailure = false 
    app.launch() 

    addUIInterruptionMonitorWithDescription("Enable Notifications") { (alert) -> Bool in 
     let button = alert.buttons["OK"] 
     if button.exists{ 
      button.tap() 
      return true 
     } 
     return false 
    } 
    app.buttons["Enable notifications"].tap() 

    app.tap() 

    XCTAssert(app.tabBars.buttons["Settings"].exists) 
    app.tabBars.buttons["Settings"].tap() 
} 

答えて

0

まず私のためのスタートアップコードである)、あなたはapp.tap()

セカンドを必要としないだろう、app.buttons["Enable notifications"].tap()はにアラートのトリガーであります表示されない場合は、その行を削除します。

第3に、モニターのハンドラーでfalseを返すと、システムはその警告の「キャンセル」ボタンをタップします。私は予期せぬシステムアラートなので、この場合はテストに失敗することをお勧めします。