使用Xcode 9中的Swift 3 / Swift 4处理XCUITest中的系统对话框(警报)

时间:2017-09-28 15:12:59

标签: swift3 swift4 xcode9 xcuitest

我想写一个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.

1 个答案:

答案 0 :(得分:3)

您可以尝试使用addUIInterruptionMonitor。下面的示例是当屏幕上显示按钮时,点击系统警告上的允许对话框。

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