UIAutomation:在没有实际执行的情况下点击警报视图上的取消按钮

2023-12-26

我在 UIAutomation 中面临这个奇怪的问题。

我正在检查警报。在其中,我试图记录警报标题和警报消息。我的代码是:

UIATarget.onAlert = function onAlert(alert) {
UIALogger.logMessage("alert Shown");
UIALogger.logMessage(frontApp.alert().name());
UIALogger.logMessage(frontApp.alert().staticTexts()[1].value());
}

var target = UIATarget.localTarget().frontMostApp().mainWindow();
target.scrollViews()[0].buttons()["saveB"].tap();
UIATarget.localTarget().delay(2);

我没有点击警报中的取消按钮来关闭它。但是,它会被自动利用。我不知道为什么。即使在日志消息中,我也看到

target.frontMostApp().alert().cancelButton().tap()

该行会自动执行。我的脚本文件中的任何地方都没有这一行。这是 iOS 中的一个错误吗?


始终点击警报上的取消按钮以防止应用程序被阻止unless the onAlert回调返回true。通过返回true,你告诉警报处理机制you将处理点击适当的按钮来消除警报。

将警报回调更改为如下所示:

UIATarget.onAlert = function onAlert(alert) {
    UIALogger.logMessage("alert Shown");
    UIALogger.logMessage(frontApp.alert().name());
    UIALogger.logMessage(frontApp.alert().staticTexts()[1].value());
    return true;   // <-- Adding this line
}

反之,返回false或者完全省略返回值,向警报处理机制发出应该点击取消按钮的信号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIAutomation:在没有实际执行的情况下点击警报视图上的取消按钮 的相关文章

随机推荐