当前位置: 首页 > 知识库问答 >
问题:

Appium iOS Safari打开新选项卡,接受警报并在两个选项卡之间切换

彭高畅
2023-03-14

因此,我正在测试一个web应用程序,我必须打开一个新的选项卡,切换到它,做一些输入,然后切换回第一个选项卡,这不止一次。我尝试通过以下方式打开新选项卡:

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

这将导致出现以下警报:

但我无法通过Appium的自动化来接受它。我尝试过的事情:

  • 使用以下功能:“safariAllowPopups”和“AutoAcceptablers”
  • 在iOS sim卡中更改safari的相应设置
  • .switchTo().alert().accept();我还等待弹出窗口。
  • 在接受弹出窗口之前切换到本机上下文
  • 单击按name.findElement(按.name(“允许”))弹出的窗口。单击()

我没有尝试过的:

  • 根据弹出的坐标在屏幕上录制。我没有尝试这个,因为我不确定如何获得“允许”按钮的位置

我的另一个问题是如何在两个选项卡之间切换?我还没有尝试过任何东西,但研究表明我可以在窗口上下文中尝试。

其他一些信息:

  • 目前正在使用iPhoneSE iOS 9.3模拟器进行测试,该解决方案应适用于多种配置
  • Appium是最新的版本
  • 类“AppiumTestBase”的唯一用途是设置功能和初始化AppiumDriver

共有2个答案

张和颂
2023-03-14

我尝试了Atthaboon Sanut建议的解决方案,但没有帮助。没有警报,但是新窗口/选项卡也没有打开。

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

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

楚浩然
2023-03-14

请在我从safari更改为“无弹出窗口”后尝试此帽子

desired_capabilities=automationName:XCUITest,browserName:safari,platformName:iOS,platformVersion:11.1,deviceName:iPhone 6,nativeWebTap:True,safariIngoreFraudWarning:True
 类似资料:
  • 因此,我有一个,我想冲浪到新选项卡中,链接是不可点击的,所以当我点击这个链接时,什么也不会发生,这将不起作用(甚至不手动): 这是我的web URL:

  • 如何在Chrome浏览器上切换到父选项卡到新选项卡并打开新URL? 我想在打开新选项卡后访问一个新的URL,所以我已经编写了如下代码,但我能够打开新选项卡,并且系统正在父窗口中打开第二个URL,而不是在第二个选项卡上?

  • 下面的示例有一个名为London的选项卡,其中有另一个名为Paris的选项卡。我怎么能在伦敦不结帐的情况下打开巴黎? 该示例直接来自W3SCHOOL,但经过了一些修改以适应我的用例。 null null 我相信问题是,“活跃”班从伦敦消失,因此,一旦我向巴黎施压,就会关闭。但我不擅长jQuery。 我想它可以很容易地在W3接口上测试:https://www.w3schools.com/howto/

  • 您好,我正在使用selenium单击链接,通常使用在线web应用程序。 当我单击打开新选项卡的特定链接并在新打开的选项卡中执行操作时,我会遇到问题。我有以下代码: 之后,网络驱动程序(从我的眼睛)打开到新标签,而我不必调用 所以一切都好。新标签会在WebDrive上打开。当我尝试单击新打开的选项卡上的链接时,我得到一个“无元素”异常,这意味着它找不到我要找的元素。 两个问题: 1) webdriv

  • 我有一个场景,就像当我点击一个链接时,它在新选项卡中打开。使用Selenium WebDriver我们如何处理它。 据我所知,我们不能切换到新的标签,但当我在网上搜索时,得到了以下一些解决方案。 null

  • 问题内容: 我有来自第三方开发人员的JavaScript文件。它具有一个具有链接的链接,该链接将当前页面替换为目标页面。我想在新标签页中打开此页面。 这是我到目前为止所拥有的: 谁能帮我吗? 问题答案: