【发布时间】:2018-09-10 20:02:50
【问题描述】:
所以我正在测试一个网络应用程序,我必须为其打开一个新选项卡,切换到它,进行一些输入,而不是切换回第一个选项卡,并且不止一次。 我尝试以这种方式打开新标签:
((JavascriptExecutor) AppiumTestBase.getDriver()).executeScript("window.open('http://google.com', '_blank')");
这会导致出现以下警报:
但我无法通过 Appium 的自动化来接受它。我尝试过的事情:
- 使用以下功能:“safariAllowPopups”和“autoAcceptAlerts”
- 在 iOS sim 中更改 safari 的相应设置
- .switchTo().alert().accept();我也等待弹出窗口。
- 在接受弹出窗口之前切换到本机上下文
- 按名称单击弹出窗口 .findElement(By.name("Allow")).click();
我没有尝试过的:
- 根据弹出坐标点击屏幕。我没有尝试这个,因为我不确定如何获得“允许”按钮的位置。
我的另一个问题是如何在两个选项卡之间切换?我还没有尝试过任何东西,但研究表明我可以尝试使用窗口上下文。
其他一些信息:
- 目前正在使用 iPhoneSE iOS 9.3 模拟器进行测试,该解决方案应该适用于多种配置
- Appium 是最新版本
- “AppiumTestBase”类的唯一目的是设置功能和初始化 AppiumDriver
【问题讨论】:
标签: ios safari tabs appium alert