有没有办法强制机器人在xcode持续集成中的ui测试下始终接受权限警报?

时间:2016-09-30 18:57:47

标签: xcode continuous-integration xcode-ui-testing

我需要使用大量的模拟器在xcode服务器上运行持续集成。有没有办法强制它始终接受权限提醒,如:

  

允许“应用”访问您的照片

依旧......

1 个答案:

答案 0 :(得分:7)

setUp()方法中,创建中断监视器并点击“确定”按钮处理警报。这意味着每当您尝试与应用程序进行交互时,都会进行检查以查看权限视图是否妨碍,然后点击“确定”按钮。

let permissionInterruptionMonitor = addUIInterruptionMonitor(withDescription: "Photos permission alert") { (alert) in
    alert.buttons["OK"].tap()
    return true // The interruption has been handled
}

如果您的应用中有其他警报可能会显示确定按钮,但您不希望自动处理这些警报,则应确保中断监视器处理程序检查是否是您的警报想要处理。

let permissionInterruptionMonitor = addUIInterruptionMonitor(withDescription: "Photos permission alert") { (alert) in
    if alert.staticTexts["\"AppName\" Would Like To Access Your Photos"].exists {
        alert.buttons["OK"].tap()
        return true // The interruption has been handled
    }
    return false // The interruption has not been handled
}