UIAutomation:任何解除“想要使用当前位置”警报的方法吗?

时间:2013-03-26 18:59:02

标签: ios ui-automation instruments ios-ui-automation

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

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

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

3 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分:0)

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

答案 2 :(得分: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;
}