UIAutomation:Alert视图上的取消button被轻敲而不实际执行
我在UIAutomation面临这个奇怪的问题。
我正在检查一个警报。 在那里,我正在尝试logging警报标题和警报消息。 我的代码是这样的:
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);
我不在点击取消button在警报解雇它。 但是,它正在自动挖掘。 我不知道为什么。 即使在logMessages中,我也看到了
target.frontMostApp().alert().cancelButton().tap()
这一行自动执行。 我的脚本文件中没有这行。 这是在iOS的错误?
除非 onAlert
callbackonAlert
返回true
否则 onAlert
警报上的取消button以阻止应用程序阻塞。 通过返回true
,您告诉警报处理机制, 您将处理轻击适当的button来取消警报。
更改您的警报callback看起来像这样:
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
或者返回值完全告知警报处理机制取消button应该被点击。