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;
};
我正在尝试使用 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;
};