Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

IE Webdriver


(Руслан) #1

Всем ещё раз привет,
в общем…имею такую проблему…


import Test.Clicker;
import Test.Reservation;
import junit.framework.Assert;
import org.junit.After;
import org.junit.Test;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

import java.util.concurrent.TimeUnit;

public class Reserv {

    private InternetExplorerDriver driver;

    @org.junit.Before
    public void setUp() throws Exception {
        System.setProperty("webdriver.ie.driver", "C:\\Users\\xxx\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
        driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get("http://od.ua/");
    }

    @After
    public void tearDown() throws Exception {
        driver.close();
    }

    @Test
    public void testReservationPage() throws Exception {
        Reservation view1 = new Reservation(driver);
        Clicker res1 = view1.reservation1("");
        Assert.assertTrue(res1.getReservationName().contains("c"));

        Reservation view2 = new Reservation(driver);
        Clicker res2 = view2.reservation2("");
        Assert.assertTrue(res2.getDetails().contains("a"));

        Reservation view3 = new Reservation(driver);
        Clicker res3 = view3.reservation3("");
        Assert.assertTrue(res3.getReservationName2().contains("b"));
    }
}
 Error: 
The path to the driver executable must be set by the webdriver.ie.driver system property

самое интересное, что когда я делал:

private ChromeDriver driver;

    @org.junit.Before
    public void setUp() throws Exception {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\xxx\\IEDriverServer.exe");
        driver = new ChromeDriver(); 

Запускался IE и нормально работало

как можно решить данную проблему, используя всё же “InternetExplorerDriver”


Медленная работа IEDriver на Windows Server 2008
(sidelnikovmike) #2

Вы для ie в system properties используете ключ для хрома. Ключ должен быть webdriver.ie.driver. У вас webdriver.chrome.driver. Видимо опечатка


(Дмитрий Жарий) #3

У вас там опечатка в имени проперти после хрома осталась.
Нужно webdriver.ie.driver


(Руслан) #4

да , спасибо, я оп печатался, но это к проблеме не относится


(Дмитрий Жарий) #5

Т.е. после того, как вы заменили имя свойства, у вас все равно появляется ошибка

 Error: 
The path to the driver executable must be set by the webdriver.ie.driver system property

?


(Руслан) #6

да, так и есть


(sidelnikovmike) #7

Очень странно, что у вас не работает. Может быть вы path не правильно указываете? Может в пути есть пробелы (типа как между словами program files) и это ему не нравится?
В одной из соседних тем про chrome я писал , как считывать файл из resources. Как раз сегодня с ie пробовал так и получалось нормально


(Дмитрий Жарий) #8

Тогда поддерживаю вариант @sidelnikovmike

Stackoverflow: How to make non java files copied to the bin directory as well?


(Shaman) #9

Действительно странная проблема. попробуй сделать так:

  • создай в директории с проектом папку drivers;
  • скопируй туда екзешник;
  • перед инициализацией вебдрайвера добавь System.setProperty(“webdriver.ie.driver”, “drivers/IEDriverServer.exe/”);

у меня такой вариант сработал, хотя в реальности я использую полный путь.