selenium2 在win7和IE下的一些错误(2013-01-18 10:33:56)
<!-- 正文开始 -->
环境:selenium2 64位win7 IE8
开发:eclipse,java
初始代码:
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.name("wd"));
element.sendKeys("hello Selenium!");
element.submit();
错误提示:
Exception in thread "main" org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer.
应该是没驱动起来。去看了一下官网网站,需要有个单独的IE驱动,先下载回来,修改一下代码。
变更第一次的代码:
System.setProperty("webdriver.ie.driver","D:\\workspace\\selenium\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.name("wd"));
element.sendKeys("hello Selenium!");
element.submit();
继续错误提示:
Exception in thread "main" org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not provide any stacktrace information)
错误代码不一样了,安全模式问题?继续google一下。有人提示问题原因如下:
如果IE浏览器设置安全性较高,在“Internet Options”中都不要选择“Enable Protected Mode”(保护模式),否则可能遇到如下的错误提示。
解决方法:
一种是修改掉IE的设置,不要在任何情况下使用保护模式(protected mode),另一种即是前面代码中如下片段在运行时设置IE的Capabilities。
第二种方法应该是在运行时设置IE的部分参数。鉴于代码健壮性考虑,使用第二种方法,继续修改代码。
变更第二次的代码:
System.setProperty("webdriver.ie.driver","D:\\workspace\\selenium\\IEDriverServer.exe");
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
WebDriver driver = new InternetExplorerDriver(ieCapabilities);
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.name("wd"));
element.sendKeys("hello Selenium!");
element.submit();
再次运行,成功。
开发:eclipse,java
初始代码:
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.name("wd"));
element.sendKeys("hello Selenium!");
element.submit();
错误提示:
Exception in thread "main" org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer.
应该是没驱动起来。去看了一下官网网站,需要有个单独的IE驱动,先下载回来,修改一下代码。
变更第一次的代码:
System.setProperty("webdriver.ie.driver","D:\\workspace\\selenium\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.name("wd"));
element.sendKeys("hello Selenium!");
element.submit();
继续错误提示:
Exception in thread "main" org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not provide any stacktrace information)
错误代码不一样了,安全模式问题?继续google一下。有人提示问题原因如下:
如果IE浏览器设置安全性较高,在“Internet Options”中都不要选择“Enable Protected Mode”(保护模式),否则可能遇到如下的错误提示。
解决方法:
一种是修改掉IE的设置,不要在任何情况下使用保护模式(protected mode),另一种即是前面代码中如下片段在运行时设置IE的Capabilities。
第二种方法应该是在运行时设置IE的部分参数。鉴于代码健壮性考虑,使用第二种方法,继续修改代码。
变更第二次的代码:
System.setProperty("webdriver.ie.driver","D:\\workspace\\selenium\\IEDriverServer.exe");
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
WebDriver driver = new InternetExplorerDriver(ieCapabilities);
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.name("wd"));
element.sendKeys("hello Selenium!");
element.submit();
再次运行,成功。
相关推荐
在 Win7 IE8 下运行 Selenium 时,可能会出现“couldn't open app window;is the pop-up blocker enabled?”的错误。这是因为 IE 被设置成了“Protected Mode”,导致 Selenium 无法打开 IE。 解决方法 解决这个...
**Selenium IEDriverServer** 是一个用于自动化Microsoft Internet Explorer浏览器的工具,它是Selenium WebDriver接口的一...了解其工作原理、配置和使用方法对于在Windows环境下进行Web应用的自动化测试至关重要。
7. **异常处理**:在进行自动化测试时,可能会遇到各种错误和异常,如找不到元素、网络连接问题等。这时,你需要根据异常信息来诊断问题,并调整测试脚本或配置。 总的来说,IEDriverServer是Selenium WebDriver与...
为了在Python中使用Selenium测试IE,你需要下载对应操作系统的版本,这里提到的是`win7 64bit`,所以应下载64位的`IEDriverServer.exe`。将下载后的文件放在系统路径下,或者在运行Python脚本时指定其绝对路径。 接...
综上所述,"chromedriver-win64_127.0.6493.2.zip"是一个用于Windows 64位环境下的ChromeDriver版本,它是Selenium自动化测试的关键组件。了解其工作原理、安装配置以及如何在实际项目中应用,对于提升Web应用程序...
总结来说,"IEDriverServer_Win32_3.0.0.zip" 提供了在Windows 32位系统上使用Selenium WebDriver自动化测试IE浏览器的能力,通过理解和配置这个驱动,开发者可以高效地进行Web应用的兼容性测试。
用户在使用时,通常需要将此文件解压到系统路径下,或者在运行自动化脚本时指定其完整路径,以便Selenium能够找到并启动它来控制IE浏览器。 使用IEDriverServer进行自动化测试时,开发者需要了解以下关键知识点: ...
7. **更新和维护**:由于Chrome和Chromedriver的频繁更新,开发者应定期检查并更新Chromedriver以保持与最新Chrome版本的兼容性,避免自动化测试过程中出现错误或异常。 8. **错误处理**:在使用Chromedriver时,...
1. **Selenium WebDriver**:Selenium是一个开源的Web自动化测试框架,支持多种浏览器,包括Chrome、Firefox、IE等。WebDriver是其核心部分,提供了一种编程接口,允许开发者编写脚本来控制浏览器的行为。 2. **...
7. **错误处理**:在自动化测试过程中,可能会遇到各种错误,如找不到元素、浏览器崩溃等。Chromedriver会返回错误信息,帮助开发者调试和解决问题。 8. **持续集成**:Chromedriver常被集成到持续集成(CI)/持续...
【压缩包子文件的文件名称列表】中的“chromedriver-win64”是实际的可执行文件,用户解压后通常需要将其放置在PATH环境变量所包含的目录下,以便于Selenium WebDriver可以找到并使用它。这个文件通常是可执行的二...
2. **Selenium WebDriver**:Selenium是一个开源的自动化测试框架,支持多种浏览器,包括Chrome、Firefox、IE等。WebDriver是Selenium的一部分,提供了一种跨平台的API,用于编写可自动化测试浏览器行为的代码。它...
对于更复杂的交互,如在IE地址栏输入文本,可能需要结合鼠标和键盘事件模拟,如mouse_event和keybd_event函数。 3. **同步和等待机制**:在自动化测试中,确保目标控件处于可操作状态至关重要。这通常需要在等待...