所以我正在测试一个网络应用程序,我必须打开一个新选项卡,切换到它,进行一些输入,而不是切换回第一个选项卡,并且不止一次。 我尝试以这种方式打开新选项卡:
((JavascriptExecutor) AppiumTestBase.getDriver()).executeScript("window.open('http://google.com', '_blank')");
这会导致出现以下警报:
但我无法通过 Appium 的自动化来接受它。我尝试过的事情:
- 使用以下功能:“safariAllowPopups”和“autoAcceptAlerts”
- 在 iOS sim 中更改 safari 的相应设置
- .switchTo().alert().accept();我也等待弹出窗口。
- 在接受弹出窗口之前切换到 native 上下文
- 点击名称弹出窗口 .findElement(By.name("Allow")).click();
我没有尝试过:
- 根据弹出的坐标点击屏幕。我没有尝试这个,因为我不确定如何获取“允许”按钮的位置。
我的另一个问题是如何在两个选项卡之间切换?我还没有尝试过任何东西,但研究建议我在窗口上下文中尝试一下。
其他一些信息:
- 目前正在使用 iPhoneSE iOS 9.3 模拟器进行测试,该解决方案应该适用于多种配置
- Appium 为最新版本
- “AppiumTestBase”类的唯一目的是设置功能和初始化 AppiumDriver
最佳答案
请在我更改为不再从 safari 弹出窗口后尝试此上限
desired_capabilities=automationName:XCUITest,browserName:safari,platformName:iOS,platformVersion:11.1,deviceName:iPhone 6,nativeWebTap:True,safariIngoreFraudWarning:True
关于ios - Appium iOS Safari 打开新标签,接受提醒并在两个标签之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47867759/