2017-09-28 5 views
0

XCUITestを記述して、システムダイアログ/アラートを取得します。 Swift 3/Swift 4でXcode 9でどのように処理できますか? 警告が表示され、表示されている2つのボタンの1つをクリックする必要があります。 アラートを検索するたびに、システムがアラートを検索できません。XCUITestでXcode 9のSwift 3/Swift 4を使用してシステムダイアログを処理する(警告)

XCUIApplication().alerts.element.exists // Will get nothing 
XCUIApplication().alerts.element.buttons.element(boundBy: 0) // Will get nothing too. 
+0

'(lldb)経口XCUIApplication()alerts.element(BOUNDBY:0)。PID 910 のT =の275.27sとアプリの T = 274.61sスナップショットアクセシビリティ階層は検索:タイプアラート クエリ鎖に一致子孫: →検索:ターゲットアプリケーションを0x1702b1100 ↪︎Find:タイプアラート ↪︎Findマッチング子孫:インデックスにある要素を0 (lldb)のpo XCUIApplication()alerts.buttons.count トン=は、のために一致の数を取得します300.49s。 :タイプに一致する子孫ボタン t = 300.63sスナップショットアクセスpidを持つアプリの階層の階層910 t = 300.71s Find:タイプにマッチする子孫Alert 0' – Saintz

答えて

2

addUIInterruptionMonitorを試すことができます。以下の例は、画面に表示されたときにシステム警告ダイアログボックスで許可するボタンをタップすることです。

addUIInterruptionMonitor(withDescription: "System alert") { (alert) -> Bool in 
     if alert.buttons["Allow"].exists { 
      alert.buttons["Allow"].tap() 
     } 
     return true 
    } 
関連する問題