必须通过webdriver.ie.driver系统属性设置驱动程序可执行文件

vkr*_*ams 57 java internet-explorer webdriver system-properties selenium-webdriver

我正在使用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();
    }    
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

必须通过webdriver.ie.driver系统属性设置驱动程序可执行文件的路径; 有关更多信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver.最新版本可以从http://www.seleniumhq.org/download/ 2012年6月12日下午4:18:42 下载org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO:I/O异常(java.处理请求时捕获的net.SocketException:软件导致连接中止:recv失败2012年6月12日下午4:18:42 org.apache.http.impl.client.DefaultRequestDirector tryExecute

有人可以帮我吗?

Pav*_*cek 73

  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();
    
    Run Code Online (Sandbox Code Playgroud)

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


Mar*_*mer 13

错误消息说

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

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

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

-Dwebdriver.ie.driver="C:/.../IEDriverServer.exe" 
Run Code Online (Sandbox Code Playgroud)

您需要使用引号,因为Windows机器上的路径中有空格或斜线,或者反转斜线,否则它们是字符串字符串转义前缀.

你也可以用

System.setProperty("webdriver.ie.driver","C:/.../IEDriverServer.exe"); 
Run Code Online (Sandbox Code Playgroud)

在你的代码里面.