ios – UI自动化onAlert方法未在模拟器上调用

在我的应用程序首次启动时,我收到一个权限警报,询问我是否允许该应用程序使用我当前的位置.我的onAlert方法成功解除了我设备上的警报.当我在模拟器上运行它时,它永远不会被调用.其他内部警报由模拟器上的onAlert方法处理.来自 SpringBoard的权限警报不在模拟器上处理.有任何想法吗?

UIATarget.onAlert = function onAlert(alert)
{
    var title = alert.name();
    UIALogger.logMessage(title);
    return false;
}

解决方法

出现此问题是因为您看到的警报来自系统本身 – 在应用程序实际启动之前,您的自动化环境已初始化.

要查看这种情况,请在UIATarget.onAlert的函数定义之前添加调试行:

UIALogger.logDebug("Now setting up the alert function");
UIATarget.onAlert = function onAlert(alert) {}

接下来,在您的模拟器上重置内容和设置…并重新运行您的自动化.您应该注意到,在手动关闭有关使用当前位置的警报之后,调试行才会出现.

我不知道如何从javascript代码中解决这个问题.您必须延迟警报,直到应用程序正确启动,或遵循example shown in this answer.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...