【问题标题】:Appium iOS Safari Open new tab, accept alerts and switch between two tabsAppium iOS Safari 打开新标签,接受警报并在两个标签之间切换
【发布时间】: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


    【解决方案1】:

    请在我更改为不再从 safari 弹出窗口后尝试此上限

    desired_capabilities=automationName:XCUITest,browserName:safari,platformName:iOS,platformVersion:11.1,deviceName:iPhone 6,nativeWebTap:True,safariIngoreFraudWarning:True
    

    【讨论】:

      【解决方案2】:

      我尝试了 Atthaboon Sanurt 建议的解决方案,但没有帮助。 没有警报,但新窗口/标签也没有打开。

      报告问题的地方: https://github.com/appium/appium/issues/6864

      到目前为止,似乎没有解决方案并计划修复它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-16
        • 1970-01-01
        • 1970-01-01
        • 2014-01-26
        相关资源
        最近更新 更多