Перейти к содержимому

Фотография

Удается подключить ChromeDriver только через System.setProperty


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 14

#1 Electravenik

Electravenik

    Новый участник

  • Members
  • Pip
  • 13 сообщений

Отправлено 13 сентября 2016 - 09:29

Начал недавно изучать Селениум с столкнулся с одной проблемой.

 

Создал проект maven, и для работы с ChromeDriver, в pom-файле прописал зависимость:

 

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>2.52.0</version>

</dependency> 

 

Однако при запуске теста появляется ошибка о том, что в webdriver.chrome.driver должен быть указан путь к хром-драйверу.

В системной переменной PATH я его прописал, но видимо этого мало.

Погуглил я и нашел только такое решение, когда путь к хром-драйверу прописывается прямо в коде:

 

System.setProperty("webdriver.chrome.driver", "D:\\!!\\webdrivers\\chromedriver.exe");

 

Вариант не очень, поэтому хотелось бы как-то это сделать попроще и желательно с помощью maven.


  • 0

#2 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 13 сентября 2016 - 09:42

ChromeDriver версии 2.52?

по моему актуальная на данный момент 2.24


  • 0

#3 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 13 сентября 2016 - 09:52

Тебе надо

а)https://sites.google...g/chromedriver/

б)https://mvnrepositor...m/selenium-java

 

 

Создал проект maven, и для работы с ChromeDriver, в pom-файле прописал зависимость:

 

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>2.52.0</version>

</dependency>

 

 

это КЛИЕНТСКАЯ библиотека


  • 0

#4 Electravenik

Electravenik

    Новый участник

  • Members
  • Pip
  • 13 сообщений

Отправлено 13 сентября 2016 - 09:53

Согласно этому, 2.24 вышла в июне 2012 года:

 

https://mvnrepositor...m-chrome-driver


  • 0

#5 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 13 сентября 2016 - 09:55

2 Electravenik

 

Что тебе нужно я написал, ты путаешь драйвер и клиентскую библиотеку


  • 0

#6 Electravenik

Electravenik

    Новый участник

  • Members
  • Pip
  • 13 сообщений

Отправлено 13 сентября 2016 - 10:00

Тебе надо

а)https://sites.google...g/chromedriver/

б)https://mvnrepositor...m/selenium-java

 

 

Создал проект maven, и для работы с ChromeDriver, в pom-файле прописал зависимость:

 

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>2.52.0</version>

</dependency>

 

 

это КЛИЕНТСКАЯ библиотека

 

Selenium java я в pom-файле прописал, с ним все ок.

Насчет хром-драйвера не совсем понял.. Надо просто в <version> поменять с 2.52.0 на 2.24 или еще что-то сделать?


  • 0

#7 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 13 сентября 2016 - 10:04

Тебе надо

а)https://sites.google...g/chromedriver/

б)https://mvnrepositor...m/selenium-java

 

Ничего больше не надо.

 

Вот это, что ты писал вверху:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>2.52.0</version>

</dependency>

 

Это КЛИЕНТСКАЯ библиотека, ты путаешь драйвер и КЛИЕНТСКУЮ библиотеку для драйвера.


  • 0

#8 Electravenik

Electravenik

    Новый участник

  • Members
  • Pip
  • 13 сообщений

Отправлено 13 сентября 2016 - 10:16

user12, я ошибку понял. Почему то подумал что драйвер можно еще и через maven подключить чтобы не париться)

В общем как мне тогда подключить скачанный драйвер 2.24, не используя setProperty (код я писал выше)? Как то можно это все проще оформить?


  • 0

#9 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 13 сентября 2016 - 10:33

В общем как мне тогда подключить скачанный драйвер 2.24, не используя setProperty (код я писал выше)? Как то можно это все проще оформить?

 

Не знаю способа проще.


  • 1

#10 Electravenik

Electravenik

    Новый участник

  • Members
  • Pip
  • 13 сообщений

Отправлено 13 сентября 2016 - 11:17

 

В общем как мне тогда подключить скачанный драйвер 2.24, не используя setProperty (код я писал выше)? Как то можно это все проще оформить?

 

Не знаю способа проще.

 

Я как то делал, но это давно было. Не могу вспомнить уже...

Просто не хочется хардкодить.


  • 0

#11 elvis

elvis

    Постоянный участник

  • Members
  • PipPipPip
  • 189 сообщений
  • Город:Tallinn


Отправлено 13 сентября 2016 - 14:05

не проверял, но по идее должно работать
mvn -Dwebdriver.chrome.driver=/path/to/chromedriver clean test
 


  • 0

#12 sergueik

sergueik

    Постоянный участник

  • Members
  • PipPipPip
  • 166 сообщений
  • ФИО:кузьмин сергей

Отправлено 13 сентября 2016 - 23:43

попробуйте
http://maven.apache....properties.html

 

 

например на win

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.18</version>
        <configuration>
          <suiteXmlFiles>
            <suiteXmlFile>testng.xml</suiteXmlFile>
          </suiteXmlFiles>
          <systemPropertyVariables>
            <webdriver.chrome.driver>c:/java/selenium/chromedriver.exe</webdriver.chrome.driver>
          </systemPropertyVariables>
        </configuration>
      </plugin>

 

заменяет

      System.setProperty("webdriver.chrome.driver", "c:/java/selenium/chromedriver.exe");
 


  • 0

#13 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 14 сентября 2016 - 07:42

Коллеги, автор просил способ проще.


  • 0

#14 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 14 сентября 2016 - 11:17

1) Можно положить исполняемый файл chromedriver в одну из директорий, которые упоминаются в переменной окружения PATH. Если Вы попытались это сделать, но не работает -- вероятно, неправильно настроили переменную, либо не перезапустили приложение, которое должно увидеть изменённое значение переменной. В операционной системе Windows можно просто положить исполняемый файл в c:\windows\system32, эта директория по умолчанию включена в PATH (если только вы её оттуда сами не удалили)

 

2) Можно положить исполняемый файл chromedriver в текущую директорию. То есть в ту директорию, которая будет текущей, когда вы будете запускать тесты. Скорее всего это корневая директория проекта.


  • 1
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#15 Electravenik

Electravenik

    Новый участник

  • Members
  • Pip
  • 13 сообщений

Отправлено 14 сентября 2016 - 11:54

1) Можно положить исполняемый файл chromedriver в одну из директорий, которые упоминаются в переменной окружения PATH. Если Вы попытались это сделать, но не работает -- вероятно, неправильно настроили переменную, либо не перезапустили приложение, которое должно увидеть изменённое значение переменной. В операционной системе Windows можно просто положить исполняемый файл в c:\windows\system32, эта директория по умолчанию включена в PATH (если только вы её оттуда сами не удалили)

 

2) Можно положить исполняемый файл chromedriver в текущую директорию. То есть в ту директорию, которая будет текущей, когда вы будете запускать тесты. Скорее всего это корневая директория проекта.

 

Спасибо, попробую закинуть в system32 или в директорию проекта.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных