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

时间:2015-03-30 17:43:31

标签: ios ui-automation testcomplete

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

任何建议都会受到赞赏,因为我希望每晚都能在新建的版本上运行这些测试,但是现在我必须在运行测试之前手动触发警报并将其解除。这显然不是首选。

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

您需要设置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;
};