首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium webDriver 2.46使用switchto.window挂在切换窗口上

Selenium webDriver 2.46使用switchto.window挂在切换窗口上
EN

Stack Overflow用户
提问于 2015-07-24 10:33:08
回答 2查看 1.1K关注 0票数 0

我们在测试用例中有一个场景,其中我们必须将控制从父窗口切换到子窗口(单独)。

我们可以使用以下代码在Chrome和FF上执行此操作:

代码语言:javascript
复制
Set<String> winHandles = gblConstants.objdriver.getWindowHandles();

System.out.println(gblConstants.objdriver.getWindowHandles().size());

for (String winHandle : winHandles )
{

if(!(winHandle.equals(Keywords.parentWindowHandle)))
{

  WebDriver driver = gblConstants.objdriver.switchTo().window(winHandle);

  blnRes = true;

  driver.window().maximize();

  break;                            

}             
}

但是,当我们试图在IE11上执行上述代码时,执行会冻结在以下位置:

代码语言:javascript
复制
 WebDriver driver = gblConstants.objdriver.switchTo().window(winHandle);

客户端: Java,

硒WebDriver - 2.46

操作系统: Windows 7

请帮忙做这份工作。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-11-11 17:27:52

我也遇到了类似的问题,直到有人提醒我要运行我们用来设置IE的配置脚本,以便进行webdriver测试。这些人中有一人(或更多人)可能会为你做这件事。至少我的测试已经结束了。

代码语言:javascript
复制
@ECHO OFF
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Zoom" /v "ZoomFactor" /t REG_DWORD /d 0x000186a0 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1" /v "2500" /t REG_DWORD /d 0x00000000 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2" /v "2500" /t REG_DWORD /d 0x00000000 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2500" /t REG_DWORD /d 0x00000000 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\4" /v "2500" /t REG_DWORD /d 0x00000000 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Check_Associations" /t REG_SZ /d "no" /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation" /v "IntranetCompatibilityMode" /t REG_DWORD /d 0x00000000 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Recovery" /v "AutoRecover" /t REG_DWORD /d 0x00000002 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2" /v "Flags" /t REG_DWORD /d 0x00000043 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\global.pvt\*.pbi" /v "*" /t REG_DWORD /d 0x00000002 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2" /v "2101" /t REG_DWORD /d 0x00000000 /f
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /v "RemoteDesktop_SuppressWhenMinimized" /t REG_DWORD /d 0x00000002 /f
票数 1
EN

Stack Overflow用户

发布于 2015-07-27 12:56:00

我假设selenium的新版本不能正确地支持IE11。请尝试使用下面的code.It看起来类似于您的代码。不过,也许能行。

字符串parentWindow = driver.getWindowHandle();Set handles2 = driver.getWindowHandles();for(String windowHandle : handles2) { if(!windowHandle.equals(parentWindow)) { driver.switchTo().window(windowHandle);driver.window().maximize();中断;}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31608271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档