使用Appium/Selenium在crossbrowsertesting平台上切换Android(Chrome)中的选项卡

使用Appium/Selenium在crossbrowsertesting平台上切换Android(Chrome)中的选项卡,android,selenium,mobile,cross-browser,appium,Android,Selenium,Mobile,Cross Browser,Appium,我正在Android Chrome的CrossBrowser测试平台上工作,面临一个挑战,我需要点击一个在新标签中打开的链接。我需要切换到那个新标签并获取它的URL。 问题是我无法切换到新打开的选项卡并获取其URL 使用的方法- 当使用driver.switchTo().window(child_window)时,我发现以下错误- org.openqa.selenium.InvalidArgumentException:无效参数:“name” 一定是字符串 但在基于Windows的chrome浏

我正在Android Chrome的CrossBrowser测试平台上工作,面临一个挑战,我需要点击一个在新标签中打开的链接。我需要切换到那个新标签并获取它的URL。 问题是我无法切换到新打开的选项卡并获取其URL

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

org.openqa.selenium.InvalidArgumentException:无效参数:“name” 一定是字符串

但在基于Windows的chrome浏览器(而不是Android chrome浏览器)中也可以很好地实现这一点

平台信息:

交叉交叉试验
“浏览器名”、“浏览器名”
“deviceName”、“Galaxy S9”
“平台版”、“9.0”
“平台名”、“安卓”

“设备定向”、“纵向”

您能否提供用于测试的Appium/Selenium的详细信息? 我在这里发现了一个非常类似的bug:
请检查您的版本是否高于1.15,以确认代码中存在修复。

chromedriver本身似乎存在缺陷
W3C
协议要求调用POST/window来设置句柄参数,但chromedriver仍然希望
name
JSONWP
中的一样。规格是

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

我找到了解决方案:

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

1-使用chromeDriver和兼容的Android仿真器版本

2-切换到正确视图

3-使用的驱动程序。切换到()。窗口()


谢谢大家的回答。

欢迎来到stack overflow。请考虑为上面的代码使用代码表示法。您还可以详细说明步骤3。