ios - 如何通过UIAutomation处理 "_APPNAME_ Would Like to Use Your Current Location"告警

标签 ios ios-ui-automation

好吧,这让我抓狂。我有一个小的 CI 构建系统正在运行。我正在使用 UIAutomation 对我的应用程序进行 UI 测试。由于该应用程序使用 CoreLocation,因此第一次启动该应用程序时,我会收到一个小警报,要求我确认我希望跟踪我的位置。这会很棒,但是警报不是我自己的应用程序的一部分,我不能使用 UIAutomation 与它交互。是否有任何解决方案可以在不手动点击按钮的情况下确认此警报。

谢谢。

附言摆脱测试构建的 CoreLocation 不是一种选择。

最佳答案

我在之前工作的地方解决这个问题的唯一方法是编写一个小的苹果脚本应用程序,它可以为您解除警报。

您应该能够执行一些简单的 UI 脚本来消除 iOS 模拟器上的警报。

显然,我假设您在模拟器上运行,而不是用于测试的设备。

如何通过 iPhone 模拟器的 apple 脚本关闭位置提醒

  1. 系统偏好设置中打开辅助功能。在左下角,确保选中选项为辅助设备启用访问

Apple 脚本在您的应用程序在模拟器中启动并显示警报后运行,因此您需要在一些延迟后运行它。

tell application "iPhone Simulator"
    activate
end tell

tell application "System Events"
    tell process "iPhone Simulator"
        click button "OK" of window 1
    end tell
end tell

关于ios - 如何通过UIAutomation处理 "_APPNAME_ Would Like to Use Your Current Location"告警,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938537/

相关文章:

javascript - 在后台服务中发送地理定位[钛]

javascript - iOS UI 自动化 : Handling two alertViews, 其中一个触发另一个

javascript - 想要使用 js 文件在 iDevice 中的指定点注入(inject)触摸或点击

ios - Xcode UI Automation captureScreenWithName 无法在 iPhone 6 模拟器及更高版本上捕获整个屏幕

ios - 点击按钮上的命令在 UIAutomation 中不起作用

iphone - 如何使用参数从另一个方法调用一个方法

ios - 以节点为结构的 swift LinkedList

iOS - 向 NSObject 添加方法而不导入类别 .h 文件

ios - 任何模型中的 NSEntityDescriptions 都没有声明 NSManagedObject 子类

ios - 了解 Appium 的 iOS uiautomation 选择器策略的基础知识