使用 Appium/Selenium 在跨浏览器测试平台中切换 Android(Chrome) 中的选项卡



我正在Android Chrome的跨浏览器测试平台上工作,并面临一个挑战,我需要单击在新选项卡中打开的链接。我需要切换到该新选项卡并获取其URL。 问题是我无法切换到新打开的选项卡并获取其URL。         

使用的方法 - 当使用driver.switchTo((.window(child_window(时,我得到以下错误 -

org.openqa.selenium.InvalidArgumentException: invalid argument: 'name' 必须是字符串。

但是在基于Windows的chrome(不是Android chrome浏览器(中同样可以正常工作。

平台信息 :

跨浏览器测试"浏览器名称", "Chrome"设备名称", ">

Galaxy S9">
"平台版本", "9.0"平台名称", "Android"设备方向", "纵向">



你能提供用于测试的Appium/Selenium的细节吗? 我在这里发现了这个非常相似的错误:https://github.com/appium/appium/issues/13106 请检查您的版本是否高于 1.15,以确认代码中是否存在修复程序。

看起来chromedriver本身就存在错误。W3C协议要求对 POST/window 的调用具有句柄参数设置,但 chromedriver 仍然希望像JSONWP中一样name。规格在这里

它已经在Appium Beta版本v1.14.0-beta.2上进行了测试,并在Android上成功运行。请使用此版本更新您的应用程序库,至少更新到此版本或更高版本。

我找到了解决方案:

我的项目涉及Web和本机视图,所以以下是我所做的

1-使用ChromeeDriver与兼容的Android模拟器版本

2-切换到正确的视图

3- 使用的驱动程序.switchTo((.window((

谢谢大家的回答。

最新更新