我在Windows 7上运行Selenium Standalone Server 2.25,将Internet Explorer 9作为浏览器运行,并且每次需要打开浏览器的测试都会出现此错误:
Selenium::WebDriver::Error::UnknownError:
Unable to get browser (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 10 milliseconds
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:08:56'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_07'
Driver info: driver.version: EventFiringWebDriver
Session ID: 356e9fc8-2d2b-4808-964c-4a1fea7415f9 (org.openqa.selenium.WebDriverException)
我做错了什么? Selenium Server控制台上显示完全相同的信息。
答案 0 :(得分:23)
在Internet Explorer中为所有区域启用保护模式设置后,错误消失(工具> Internet选项>安全选项卡)。
答案 1 :(得分:20)
仅适用于IE 11 ,您需要在目标计算机上设置一个注册表项,以便驱动程序可以维护与其创建的Internet Explorer实例的连接。
对于 32位 Windows安装,您必须在注册表编辑器中检查的密钥是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
对于 64位 Windows安装,密钥为
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
请注意,FEATURE_BFCACHE
子项可能存在也可能不存在,如果不存在,则应创建该子项。重要提示:在此密钥内,创建名为DWORD
的{{1}}值,其值为0
从中下载注册表文件 http://heliumhq.com/docs/internet_explorer
请参阅https://code.google.com/p/selenium/wiki/InternetExplorerDriver了解更多必要的IE配置步骤。
答案 2 :(得分:1)
我通常的策略是将需要自动化测试的网站单独添加到IE中的“可信站点”。
转到工具>互联网选项>安全性然后单击“可信站点”和“站点”按钮,并单独添加所需的网站。
如果你被锁定,可能更容易通过你的IT经理。
答案 3 :(得分:0)
我在Eclipse上使用Selenium,我的解决方案是以管理员身份运行IDE
答案 4 :(得分:-1)
你必须试试这个......
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
System.setProperty("webdriver.ie.driver",IE_DRIVER_PATH);
driver = new InternetExplorerDriver(capabilities);