iOS 对象浏览器中未显示系统权限警报视图

iOS system permission alert views not showing up in object browser

我正在尝试使用 TestComplete 在 iPad 应用程序上执行自动化测试,但该测试 运行 遇到位置服务权限警报的问题。登录应用程序后出现此警报,但由于某种原因它没有显示在对象浏览器中,我无法让 TestComplete 处理警报。但是,我可以在应用程序的其他地方处理自定义警报。

任何建议将不胜感激,因为我想每晚在新构建中进行这些测试 运行,但现在我必须手动触发警报并在 运行测试。这显然不是首选。

编辑:所以我相信我知道为什么会这样,那是因为 AlertView 属于应用程序 "Springboard" 而不是我的应用程序。有解决方法吗?

由于此权限警报是由系统而不是应用程序显示的,因此 TestComplete 无权访问它,因此无法将其放入对象树。要处理此权限警报,您唯一可以做的就是通过 device.Touch 方法使用屏幕坐标模拟触摸操作。

您需要设置 the UIAutomation onAlert callback 以捕捉位置警报。

UIATarget.onAlert = function onAlert(alert) {
    var title = alert.name();
    UIALogger.logDebug("Caught onAlert: " + title);
    if (title.indexOf("Would Like to Use Your Current Location") > -1) {
        alert.buttons()["OK"].tap();
        delay(0.3);
        return true;
    }
    return false;
};