Подтвердить что ты не робот

Исполняемый файл драйвера должен быть установлен с помощью свойства webdriver.ie.driver

Я использую 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; для получения дополнительной информации см. 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 (java.net.SocketException), обнаруженное при обработке запроса: программное обеспечение вызвало прерывание соединения: recv failed 12 июня 2012 г. 4:18:42 org.apache.http.impl.client.DefaultRequestDirector tryExecute

Может кто-нибудь помочь мне в этом?

4b9b3361

Ответ 1

  • Вам понадобится исполняемый файл драйвера InternetExplorer в вашей системе. Поэтому загрузите его из намеченного источника (http://www.seleniumhq.org/download/) распакуйте его и поместите где-нибудь, где вы его найдете. В моем примере я предположим, что вы поместите его в C:\Selenium\iexploredriver.exe

  • Затем вам нужно настроить его в системе. Вот код Java, вставленный из моего проекта Selenium:

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

В принципе, вы должны установить это свойство до, вы инициализируете драйвер

Ответ 2

Вы устанавливаете путь для Chrome, а не IE. В сообщении об ошибке указано

"Путь к исполняемому файлу драйвера должен быть установлен webdriver.ie.driver системное свойство;

Однако вы устанавливаете " webdriver.chrome.driver".

Вы должны установить " webdriver.ie.driver" в расположение файла при использовании InternetExplorerDriver.

Вы можете установить эти свойства в своей оболочке /MVN/IDE с помощью -DpropertyName = Value

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

Вам нужно использовать кавычки из-за пробелов или косых черт на вашем пути, альтернативно, обратные косые черты, другие мудрые - это escape-код.

Вы также можете использовать

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

внутри вашего кода.

Ответ 3

Я просто помещаю файлы драйвера непосредственно в свой проект, чтобы не получить никакой зависимости от моей локальной машины.

final File file = new File("driver/chromedriver_2_22_mac");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());

driver = new ChromeDriver();

Ответ 4

Вам понадобится загрузить исполняемый файл InternetExplorer в вашу систему, загрузить его из источника (http://code.google.com/p/selenium/downloads/list) после загрузки разархивировать его и положить на место где-то на вашем компьютере. В моем примере я поместил его в D:\iexploredriver.exe

Затем вы пишете код ниже в главном классе eclipse

   System.setProperty("webdriver.ie.driver", "D:/iexploredriver.exe");
   WebDriver driver = new InternetExplorerDriver();

Ответ 5

Для spring:

File inputFile = new ClassPathResource("\\chrome\\chromedriver.exe").getFile();
System.setProperty("webdriver.chrome.driver",inputFile.getCanonicalPath());