使用 Swift 3 / Swift 4 in Xcode 9 处理 XCUITest 中的系统对话框(警报)
Handle system dialog (alert) in XCUITest with Swift 3 / Swift 4 in Xcode 9
我想编写一个 XCUITest,用于获取系统对话框/警报。我如何在 Swift 3 / Swift 4 和 Xcode 9 中处理它?
它应该找到警报并单击两个显示的按钮之一。
每次,如果我搜索警报,系统都找不到它们。
XCUIApplication().alerts.element.exists // Will get nothing
XCUIApplication().alerts.element.buttons.element(boundBy: 0) // Will get nothing too.
您可以尝试使用addUIInterruptionMonitor。下面的这个例子是当系统警报对话框出现在屏幕上时点击允许按钮。
addUIInterruptionMonitor(withDescription: "System alert") { (alert) -> Bool in
if alert.buttons["Allow"].exists {
alert.buttons["Allow"].tap()
}
return true
}
我想编写一个 XCUITest,用于获取系统对话框/警报。我如何在 Swift 3 / Swift 4 和 Xcode 9 中处理它? 它应该找到警报并单击两个显示的按钮之一。 每次,如果我搜索警报,系统都找不到它们。
XCUIApplication().alerts.element.exists // Will get nothing
XCUIApplication().alerts.element.buttons.element(boundBy: 0) // Will get nothing too.
您可以尝试使用addUIInterruptionMonitor。下面的这个例子是当系统警报对话框出现在屏幕上时点击允许按钮。
addUIInterruptionMonitor(withDescription: "System alert") { (alert) -> Bool in
if alert.buttons["Allow"].exists {
alert.buttons["Allow"].tap()
}
return true
}