10

我的应用程序正在使用定位服务,对于自动化测试,我希望能够关闭“应用程序希望使用您当前的位置”弹出窗口。但是,当我尝试在 Instruments 中使用 UIAutomation 脚本执行此操作时,我收到此错误:

Fail: Could not start script, target application is not frontmost.

这是有道理的,因为警报是由不同的过程产生的。但是,Apple 在这种情况下帮助人们自动化测试的计划是什么?

4

3 回答 3

1
**Try**

UIATarget.onAlert = function onAlert(alert)
        {
        return true;
        }
alertTitle = target.frontMostApp().alert().name();
if(alertTitle==="APP Would Like To Use Your Current Location")
{
target.frontMostApp().alert().buttons()["OK"].tap();
}
于 2013-03-29T11:36:57.777 回答
0

在触发位置请求对话框出现之前使用此代码。请注意应用名称周围的特殊引号。

UIATarget.onAlert = function onAlert(alert)
{
    if( alert.name()=="“local” Would Like to Use Your Current Location" )
    {
        alert.buttons()["OK"].tap();
    }
    else
    {
        UIALogger.logFail( "Location request dialog expected.");
    }
    return true;
}
于 2013-08-12T13:39:55.763 回答
0

解决方案似乎是使用 AppleScript,在足够的延迟后运行以允许出现警报。您告诉它单击模拟器窗口中的警报按钮。

于 2013-03-26T23:27:55.760 回答