我们在测试用例中有一个场景,其中我们必须将控制从父窗口切换到子窗口(单独)。
我们可以使用以下代码在Chrome和FF上执行此操作:
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上执行上述代码时,执行会冻结在以下位置:
WebDriver driver = gblConstants.objdriver.switchTo().window(winHandle);客户端: Java,
硒WebDriver - 2.46
操作系统: Windows 7
请帮忙做这份工作。提前谢谢。
发布于 2015-11-11 17:27:52
我也遇到了类似的问题,直到有人提醒我要运行我们用来设置IE的配置脚本,以便进行webdriver测试。这些人中有一人(或更多人)可能会为你做这件事。至少我的测试已经结束了。
@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发布于 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();中断;}
https://stackoverflow.com/questions/31608271
复制相似问题