ios - Appium iOS Safari 打开新标签,接受提醒并在两个标签之间切换

标签 ios safari tabs appium alert

所以我正在测试一个网络应用程序,我必须打开一个新选项卡,切换到它,进行一些输入,而不是切换回第一个选项卡,并且不止一次。 我尝试以这种方式打开新选项卡:

((JavascriptExecutor) AppiumTestBase.getDriver()).executeScript("window.open('http://google.com', '_blank')");

这会导致出现以下警报:

iOS pop-up

但我无法通过 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/

相关文章:

ios - 您需要启用 CloudKit 才能访问 iCloud 照片吗?

iphone - 从 plist 中提取 NSDates 时出错

ios - iOS Safari 11.3 上的导航器中没有服务 worker

iphone - 在 iOS 7 中为 UITableViewCell 使用背景 View 覆盖默认删除按钮

iOS布局为什么中心约束不够?

jquery - Safari 渲染页面字体更细,页面上有 jQuery slider

javascript - 如何在 Safari 中使 DOM 处理程序可枚举?

google-chrome - 谷歌浏览器禁用标签工具提示弹出窗口

android - 如何使用 Tabs 和 Pager 示例替换 ActionBarSherlock 中的选项卡使用的 fragment ?

具有非默认语言环境的 ActionBar NullPointerException 的 Android 应用程序