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

Не находится chromeDriver при попытке установить property из конфига

java
selenium
webdriver
Теги: #<Tag:0x00007f7b60519248> #<Tag:0x00007f7b605190e0> #<Tag:0x00007f7b60518f00>

(Александр Беликов) #1

Всем привет! Подскажите, почему когда я указываю путь к chromeDriver таким образом

System.setProperty("webdriver.chrome.driver", "d:\\Distr\\chromedriver\\chromedriver.exe");

то все работает, но в случае, если я беру эту же строку из конфига

String chromePath = PropertyLoader.loadProperty("chromePath");
System.setProperty("webdriver.chrome.driver", chromePath);

(в конфиге строчка выглядит так chromePath=“d:\Distr\chromedriver\chromedriver.exe”)
получаю ошибку

java.lang.IllegalStateException: The driver executable does not exist:

(Fiodar Motin) #2

Ну так исправьте на

d:\\Distr\\chromedriver\\chromedriver.exe

(Александр Беликов) #3

Он именно так и выглядит. Тут на сайте при вставке почему то заменилось


(Fiodar Motin) #4

Ну тогда конфиг плиз в студию.
Еще такой момент, не совсем понятно зачем это?
Закиньте драйвер в ресурсы и не используйте абсолютный путь, что бы ваша тестовая система не была прибита гвоздями только к одному месту.

System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");

И все ваши тесты стартанут на любой машине с виндой.


(Александр Беликов) #5

О, кстати, идея! Спасибо


(Александр Беликов) #6

С этим понятно, но сейчас получил вот такую ошибку при попытке перейти на гугл

org.openqa.selenium.WebDriverException: unknown error: unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"}

(Fiodar Motin) #7

Скиньте конкретный линк на который пытались перейти


(Александр Беликов) #8

http://google.com


(Fiodar Motin) #9

Ну не знаю даже, надо больше инфы (код теста, код инициализации драйвера, версия драйвера и хрома). Скорее всего что то с драйвером.

У меня все работает, правдо я на selenide

  @BeforeClass
    public void setUp(){
        System.setProperty("webdriver.gecko.driver", "src/main/resources/geckodriver.exe");
        System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe");
        Configuration.browser = "chrome";
    }

    @Test
    public void googleTest(){
        open("http://google.com");
    }


(Остап Олексин) #10

Не держите файлы драйверов вместе с проектом и лучше используйте https://github.com/bonigarcia/webdrivermanager

@ordeh если у вас селенид, то там webdrivermanager включен по умолчанию, сетать драйвер вам уже не нужно.


(Fiodar Motin) #11

Да я знаю, но пользоватся менеджером нет желания, когда то юзал и были серьёзные проблемы с хромом, может сейчас он стал работать стабильно, но всеровно я лучше останусь в староверах так сказать).


(Борис Осянин) #12

Selenide же сам следить за вебдрайвером, скачивает там, это вот все. Или нужна фиксированная версия?