Вопрос по webdriver, internet-explorer, selenium-webdriver, java, system-properties – Исполняемый файл драйвера должен быть установлен системным свойством webdriver.ie.driver.

56

Я использую 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();
    }    
}

И вот ошибка, которую я получаю

The path to the driver executable must be set by the webdriver.ie.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver, Последняя версия может быть загружена сhttp://www.seleniumhq.org/download/ 12 июня 2012 г., 16:18:42 org.apache.http.impl.client.DefaultRequestDirector tryExecute ИНФОРМАЦИЯ: Исключительная ситуация ввода-вывода (java.net.SocketException) при обработке запроса: программное обеспечение вызвало прерывание соединения: сбой recv 12 июня 2012 г., 16:18:42 org.apache.http.impl.client.DefaultRequestDirector tryExecute

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

Замените строку System.setProperty ("webdriver.chrome.driver", "C: \\ Users \\ vthaduri \\ workspace \\ LDCSuite \\ IEDriverServer.exe"); System.setProperty ("webdriver.ie.driver", "C: \\ Users \\ vthaduri \\ workspace \\ LDCSuite \\ IEDriverServer.exe"); Ripon Al Wasim
Не знаю, почему я не могу опубликовать ответ для этого, но вы также можете обойти это, указав расположение папки в значении PATH Environment на рассматриваемом компьютере. Это удобно, если вы хотите или должны хранить файлы в разных местах на разных машинах в разных средах MorkPork
Вы установили свойство для Chrome вместо IE. это только проблема Ripon Al Wasim

Ваш Ответ

5   ответов
1

Для весны:

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

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

Вы задаете путь для драйвера Chrome с помощью " Webdriver.chrome.driver "свойство. Вы не устанавливаете местоположение файла, когда для InternetExplorerDriver, чтобы сделать это, вы должны установить" Webdriver.ie.driver" свойство

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

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

Вам нужно использовать кавычки из-за пробелов или косых черт в вашем пути на компьютерах с Windows или, наоборот, переставлять косые черты, если они являются префиксом escape-строки.

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

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

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

Да, это неправильно. Вы написали код как: System.setProperty ("webdriver.chrome.driver", "C: \\ Users \\ vthaduri \\ workspace \\ LDCSuite \\ IEDriverServer.exe"); Пожалуйста, используйте "webdriver.chrome.driver" вместо "webdriver.chrome.driver" Ripon Al Wasim
72

теме. Так что скачайте его из подсказки 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();

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

Мой код: Файл file = new File ("F: \\ SoftwareDownload_Ripon \\ WebDriver \\ IEDriverServer_Win32_2.24.2 \\ IEDriverServer.exe"); System.setProperty ("webdriver.ie.driver", file.getAbsolutePath ()); Драйвер WebDriver = новый InternetExplorerDriver (); Это работает, но ошибка: INFO: исключение ввода-вывода (org.apache.http.NoHttpResponseException) при обработке запроса: целевой сервер не смог ответить org.openqa.selenium.remote.UnreachableBrowserException: ошибка связи с удаленным браузером. Возможно, он умер. Как решить проблему? Ripon Al Wasim
Отлично Решено. Это полная ошибка вставки копии: -) vkrams
Примечание: я использую Chrome, поэтому код, вероятно, потребует некоторых настроек. Особенно начальная часть IE Pavel Janicek
Я уже добавил код в мою программу. Посмотрите на мой код в вопросе. Но я не уверен, как избавиться от System.setProperty ("webdriver.chrome.driver", "C: \\ Users \\ vthaduri \\ workspace \\ LDCSuite \\ IEDriverServer.exe"); WebDriver oWebDriver = new InternetExplorerDriver (); vkrams
просто заменитеwebdriver.chrome.driver сwebdriver.ie.driver и это должно сработать Pavel Janicek
2

чтобы не зависеть от моего локального компьютера.

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

driver = new ChromeDriver();
0

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

Затем напиши код в главном классе затмения

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

Похожие вопросы