驱动程序可执行文件必须由 webdriver.ie.driver system 属性设置

我正在使用Selenium来自动化测试。我的应用程序仅使用IE,它无法在其他浏览器上运行。

法典:

import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class Test {
    public static void main(String[] args) {
        final String sUrl = "http://www.google.co.in/";                             
        System.setProperty("webdriver.chrome.driver","C:\\Users\\vthaduri\\workspace\\LDCSuite\\IEDriverServer.exe");
        WebDriver oWebDriver = new InternetExplorerDriver();
        oWebDriver.get(sUrl);
        WebElement oSearchInputElem = oWebDriver.findElement(By.name("q")); // Use name locator to identify the search input field.
        oSearchInputElem.sendKeys("Selenium 2");
        WebElement oGoogleSearchBtn = oWebDriver.findElement(By.xpath("//input[@name='btnG']"));  
        oGoogleSearchBtn.click();

        try {
            Thread.sleep(5000);
        } catch(InterruptedException ex) {
            System.out.println(ex.getMessage());
        }
        oWebDriver.close();
    }    
}

这是我得到的错误

驱动程序可执行文件的路径必须由 webdriver.ie.driver system 属性设置;有关详细信息,请参阅 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver。最新版本可以从 http://www.seleniumhq.org/download/ Jun 12, 2012 4:18:42 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO: I/O exception (java.net.SocketException) 在处理请求时捕获: 软件导致的连接中止: recv 失败 Jun 12, 2012 4:18:42 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute

有人可以帮我吗?


答案 1
  1. 您将需要系统上的 InternetExplorer 驱动程序可执行文件。因此,从提示的来源(http://www.seleniumhq.org/download/)下载它,将其解压缩并放置在可以找到它的地方。在我的例子中,我将假设您将它放置到C:\Selenium\iexploredriver.exe

  2. 然后,您必须在系统中进行设置。以下是从我的Selenium项目中粘贴的Java代码:

    File file = new File("C:/Selenium/iexploredriver.exe");
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
    WebDriver driver = new InternetExplorerDriver();
    

基本上,您必须在初始化驱动程序之前设置此属性


答案 2

错误消息说

“驱动程序可执行文件的路径必须由 webdriver.ie.driver system 属性设置;”

您正在使用“webdriver.chrome.driver”属性设置 Chrome 驱动程序的路径。在 InternetExplorerDriver 时,您没有设置文件位置,为此,您必须设置“webdriver.ie.driver”属性。

您可以在 shell 中、通过 maven 或 IDE 使用 -DpropertyName=Value 设置这些属性

-Dwebdriver.ie.driver="C:/.../IEDriverServer.exe" 

由于Windows计算机上的路径中有空格或斜杠,因此需要使用引号,或者反转斜杠,否则它们是字符串字符串转义前缀。

您也可以使用

System.setProperty("webdriver.ie.driver","C:/.../IEDriverServer.exe"); 

在你的代码中。


推荐