override func setUp() {
addUIInterruptionMonitor(withDescription: "App store alert") { (alert) -> Bool in
alert.buttons.element(boundBy: 0).tap()
return true
}
}
func test() {
functionThatCausesAlertToAppear()
XCUIApplication().tap()
}
当我尝试在 addUIInterruptionMonitor 中打印一条语句时,它不会打印,这让我相信该块没有被触发。
虽然这不能解决手头的问题,但我找到了解决方法: addUIInterruptionMonitor(withDescription:handler:) not work on iOS 10 or 9
let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
let allowBtn = springboard.buttons["Allow"]
if allowBtn.waitForExistence(timeout: 10) {
allowBtn.tap()
}
如果您遇到即使在确保代码正确后中断也不会触发的问题,请阅读 Apple 网站上的此文档 - 处理 UI 中断。
我也面临着这个挑战,在意识到这个问题后,我简单地识别了OK按钮并在流程中点击它。
希望这对您也有帮助!