如何在 appium 中接受此警报?

Posted

技术标签:

【中文标题】如何在 appium 中接受此警报?【英文标题】:How to accept this alert in appium? 【发布时间】:2017-03-28 11:02:17 【问题描述】:

Appium v​​1.6.4-beta Xcode 8.2 macOS Sierra 10.12

我想自动将照片保存在我的设备中。 但在第一次我必须给予许可。 我使用了“接受警报”,但无法接受允许访问照片库的警报。 当我执行测试时,它以绿色显示测试通过,但此弹出窗口仍然出现在视图中并且照片未保存。

这是我的脚本

//Check Save 
driver.findElement(By.id("Save")).click();
driver.switchTo().alert().accept();

也使用了能力,

 capabilities.setCapability("autoAcceptAlerts", true);

这是我要允许的

如何接受此提醒? 我已经很好地尝试了 xpath sa,但没有运气

【问题讨论】:

【参考方案1】:

下面的代码可以工作。用“OK”和“Ok”试试看。这是因为如果您想尝试使用文本识别元素,您可以使用accessibilityID 或ID。

driver.findElement(By.id("OK")).click();

以下代码不适用于网络警报等移动自动化中的警报。

driver.switchTo().alert().accept();

【讨论】:

非常感谢。就我而言,我通过将上下文更改为 NATIVE_APP 来处理 ios Safari 的警报。然后找到“打开”的ID点击。之后,我需要通过 driver.context(driver.getContextHandles().toArray()[1]); 回到 WEBVIEW_** 上下文;

以上是关于如何在 appium 中接受此警报?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用此按钮中的条件在颤动中显示警报对话框?

如何在机器人框架中关闭浏览器插件警报

如何在警报视图中的文本之间添加图像?

如何在 jquery 数据表上解决此警报 1 消息

如何在 Linux 中设置不到一秒钟的警报?

如何检测是不是在本机反应中显示警报?