我是自动化测试新手,虽然我的Selenium测试在Chrome和Firefox上运行,但它们并没有在IE11上运行。我做了下面详细介绍的所有检查,但我仍然遇到这个错误:
org.openqa.selenium.WebDriverException:无法导航到http://myapp。这通常意味着对COM方法IWebBrowser2 :: Navigate2()的调用失败。
我首先完成了所需的配置 https://code.google.com/p/selenium/wiki/InternetExplorerDriver#Required_Configuration)。
我已按照In IE: org.openqa.selenium.WebDriverException: This usually means that a call to the COM method IWebBrowser2::Navigate2() failed的建议尝试编辑我的注册表 到HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_HTTP_USERNAME_PASSWORD_DISABLE添加名为iexplore.exe的新DWORD值和值0,如https://stackoverflow.com/users/80779/lordofthepigs所述
我也试过介绍https://stackoverflow.com/users/4210466/karunakar-sapogu建议的代码段:
new_window = self.driver.window_handles [1]
self.driver.switch_to_window(new_window)
但我似乎没有正确引入它,因为我遇到了java错误。
有没有人用Java解决这个问题?你能给我一步一步的指示吗? (请记住,我是新手,并且Java知识有限)。
非常感谢你!
答案 0 :(得分:1)
1)你确定你的IEdriver实例运行了吗?
2)您使用的是IEdriver x64还是IEDriver x86?
即使您使用x64窗口,在大多数情况下您也使用Internet exlporer x86。请尝试x86驱动程序并尝试重现此类行为
答案 1 :(得分:0)
此错误消息...
org.openqa.selenium.WebDriverException: Failed to navigate to http://myapp. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed
...表示IEDriverServer无法启动/产生新的浏览上下文,即 Internet Explorer Browser 会话作为COM对象。
Required Configuration的Internet Explorer Driver明确提到:
IEDriverServer
可执行文件并将其放置在PATH中。
Advanced
标签中找到此选项。100%
,以便可以将本地鼠标事件设置为正确的坐标。100%
。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
。HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
。FEATURE_BFCACHE
子项可能存在也可能不存在,如果不存在则应创建。在此键内,创建一个名为DWORD
的{{1}}值,其值为0`。首先,您需要确保每个区域的保护模式设置为相同的值。此外,您还需要确保 Internet Explorer驱动程序的所需配置。
您可以在以下位置找到一些相关的讨论