【问题标题】:UIAutomation: Any way to dismiss "Would Like To Use Your Current Location" alert?UIAutomation:有什么方法可以解除“想使用您当前的位置”警报?
【发布时间】:2013-03-16 17:31:51
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案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();
    }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 你能发布你的解决方案吗?
      【解决方案3】:

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

      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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-07
        • 2022-01-15
        • 1970-01-01
        • 2011-04-14
        • 2012-06-16
        • 1970-01-01
        • 1970-01-01
        • 2011-01-18
        相关资源
        最近更新 更多