次のテストはiOS 11でうまくいきます。ロケーションサービスを使用するためのアクセス許可を求めるアラートを閉じ、マップをズームインします。 iOS 10または9では、これは実行されず、テストは成功します。addUIInterruptionMonitor(withDescription:handler :)がiOS 10または9で動作していません
func testExample() {
let app = XCUIApplication()
var handled = false
var appeared = false
let token = addUIInterruptionMonitor(withDescription: "Location") { (alert) -> Bool in
appeared = true
let allow = alert.buttons["Allow"]
if allow.exists {
allow.tap()
handled = true
return true
}
return false
}
// Interruption won't happen without some kind of action.
app.tap()
removeUIInterruptionMonitor(token)
XCTAssertTrue(appeared && handled)
}
なぜ、回避策がありますか?
XCTest UI interruption monitors now work correctly on devices and simulators running iOS 10. (33278282)
私はこの作品が信じられません:) thx!しかし、私は索引でボタンにアクセスしたいのですが、それ以外のiOSバージョンでは動作しません(iOS 11でボタンのタイトルが変更されました) – Daniel
'addUIInteruptionMonitor()'を使って 'SFAuthenticationSession'アラートを消すことができませんでした。この技術は私たちのために働いた。 –