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

Фотография

Headless запуск Selenium WebDriver


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

#1 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 24 марта 2014 - 14:08

Долгое время делал тесты на java под chrome driver. Но сейчас встала необходимость запуска headless-тестов.
Через HtmlUnit работает очень криво. Возможно есть какие-то актуальные иные способы запуска. Погуглил и ничего адекватного под запуск с windows не нашел.

Заранее спасибо за помощь!)


  • 0

#2 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 24 марта 2014 - 14:21

Скорее всего вам поможет http://phantomjs.org - для него и драйвер соответствующий есть.


  • 0

#3 asolntsev

asolntsev

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

  • Members
  • Pip
  • 64 сообщений
  • ФИО:Андрей Солнцев
  • Город:Таллинн

Отправлено 24 марта 2014 - 18:43

Да, PhantomJS сейчас в моде. Попробуйте.

Но на самом деле и HtmlUnit тоже вполне работает. Я на нём гоняю тесты в нескольких проектах. Просто на нём надо включить JavaScript, по умолчанию он выключен. Ну и правильные ожидания использовать для динамических элементов. Или использовать Selenide, которая делает это автоматически. :)


  • 0

#4 leipreachan

leipreachan

    Активный участник

  • Members
  • PipPip
  • 95 сообщений
  • Город:Москва

Отправлено 25 марта 2014 - 08:02

Фантом штука интересная, но если сложный ajax на странице и вёрстка не очень простая, то там оооочень много возни может быть.

Например, в хроме и firefox (и в IE) все тесты работают, а в фантоме какой-нибудь клик ничего не делает.

И сиди там, дебажь.. =(


  • 0

#5 vitorg

vitorg

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений

Отправлено 25 марта 2014 - 08:05

Т.е. на самом деле встречали такую ситуацию когда WebKit'овый браузер (та же версия движка) отрабатывает без проблем, а PhantomJS не фурычит?


  • 0

#6 leipreachan

leipreachan

    Активный участник

  • Members
  • PipPip
  • 95 сообщений
  • Город:Москва

Отправлено 26 марта 2014 - 09:01

Т.е. на самом деле встречали такую ситуацию когда WebKit'овый браузер (та же версия движка) отрабатывает без проблем, а PhantomJS не фурычит?

 

Смотря что считать "другим webkit-овым" браузером. Хром? Да, он спокойно отрабатывает. Сафари пробовали (но не на регулярной основе) - тоже работает


  • 0

#7 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 26 марта 2014 - 13:39

Провозился сегодня полдня с фантомJS. В итоге ошибку(org.openqa.selenium.remote.unreachablebrowserexception) обойти не удалось. 
Может кто-нибудь более популярно объяснить как его прикрутить к селениуму?
Нашел такую статейку (http://www.appneta.c...d-testing-java/). Вроде бы все популярно расписано, но делаю все так же, а ошибки сыпятся и сыпятся(


  • 0

#8 leipreachan

leipreachan

    Активный участник

  • Members
  • PipPip
  • 95 сообщений
  • Город:Москва

Отправлено 26 марта 2014 - 15:16

Провозился сегодня полдня с фантомJS. В итоге ошибку(org.openqa.selenium.remote.unreachablebrowserexception) обойти не удалось. 
Может кто-нибудь более популярно объяснить как его прикрутить к селениуму?
Нашел такую статейку (http://www.appneta.c...d-testing-java/). Вроде бы все популярно расписано, но делаю все так же, а ошибки сыпятся и сыпятся(

 

у вас именно запуск не работает или на этапе теста падает?


  • 0

#9 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 27 марта 2014 - 06:32

 

Провозился сегодня полдня с фантомJS. В итоге ошибку(org.openqa.selenium.remote.unreachablebrowserexception) обойти не удалось. 
Может кто-нибудь более популярно объяснить как его прикрутить к селениуму?
Нашел такую статейку (http://www.appneta.c...d-testing-java/). Вроде бы все популярно расписано, но делаю все так же, а ошибки сыпятся и сыпятся(

 

у вас именно запуск не работает или на этапе теста падает?

 

Прямо на запуске падает.


  • 0

#10 leipreachan

leipreachan

    Активный участник

  • Members
  • PipPip
  • 95 сообщений
  • Город:Москва

Отправлено 27 марта 2014 - 07:45

у вас всё выпытывать?=)

 

как запускаете? ошибку?


  • 0

#11 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 28 марта 2014 - 06:11

Собственно что я сделал:
1) Скачал phatomJS

2) В простеньком тестовом классе(простой переход по ссылке и вывод текста в консоль;чисто для проверки) изменил хромовский драйвер на phatomJS

System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
driver = new ChromeDriver();

на
 
DesiredCapabilities caps = new DesiredCapabilities();
        caps.setJavascriptEnabled(true); 
        caps.setCapability(
        PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
        "C:/phantomjs-1.9.7-windows/phantomjs.exe");
        driver = new PhantomJSDriver(caps);
 
3) Добавил в pom.xml :
  <groupId>com.github.detro.ghostdriver</groupId>
            <artifactId>phantomjsdriver</artifactId>
            <version>1.0.4</version>

4) запустил mvn clean install. Скачались файлы гостдрайвера

5) Дальше запустил mvn test. И в самом начале теста появляется ошибка org.openqa.selenium.remote.unreachablebrowserexception и все падает.

 

На стековерфлоу прочитал, что ошибка возможно возникает из-за версии селениума. Попробовал и на 2.37, и на 2.40, и еще на паре более ранних - ситуация не изменилась.


  • 0

#12 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 28 марта 2014 - 07:28


Патамушто http://ivandemarino....odename-banquo/

Last time I have cut a release of GhostDriver (1.0.4) was... July 2013

В поме надо

	<dependency>
		<groupId>com.github.detro.ghostdriver</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.1.0</version>
	</dependency>

  • 0

#13 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 31 марта 2014 - 08:49

 

Патамушто http://ivandemarino....odename-banquo/

Last time I have cut a release of GhostDriver (1.0.4) was... July 2013

В поме надо

	<dependency>
		<groupId>com.github.detro.ghostdriver</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.1.0</version>
	</dependency>

Ситуация не изменилась(


  • 0

#14 elvis

elvis

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

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


Отправлено 31 марта 2014 - 08:55

попробуйте selenium 2.41.0


  • 0

#15 leipreachan

leipreachan

    Активный участник

  • Members
  • PipPip
  • 95 сообщений
  • Город:Москва

Отправлено 31 марта 2014 - 08:56

Вопрос наивный, но всё же:

 

C:/phantomjs-1.9.7-windows/phantomjs.exe

 

по этому пути у вас драйвер запускается?


  • 0

#16 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 31 марта 2014 - 10:32

Собственно вот что появляется в консоле:

мар 31, 2014 5:24:44 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: executable: C:\phantomjs-1.9.7-windows\phantomjs.exe
мар 31, 2014 5:24:44 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: port: 21279
мар 31, 2014 5:24:44 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: arguments: [--webdriver=21279, --webdriver-logfile=C:\eclipse\workspace\my-app\phantomjsdriver.log]
мар 31, 2014 5:24:44 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: environment: {}

Дальше я как понимаю должно идти PhantomJS is launching GhostDriver, но у меня тест падает с указанной выше ошибкой. Из-за чего это может быть?
 
PS попробовал и 2.41 версию. не изменилось
PPS C:/phantomjs-1.9.7-windows/phantomjs.exe по этому пути распакован архив с PhantomJS скаченный с http://phantomjs.org/

  • 0

#17 elvis

elvis

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

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


Отправлено 31 марта 2014 - 12:59

в консоли получается запустить C:/phantomjs-1.9.7-windows/phantomjs.exe ?


  • 0

#18 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 31 марта 2014 - 13:13

в консоли получается запустить C:/phantomjs-1.9.7-windows/phantomjs.exe ?

да, сам браузер нормально запускается.


  • 0

#19 elvis

elvis

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

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


Отправлено 31 марта 2014 - 14:35

 

в консоли получается запустить C:/phantomjs-1.9.7-windows/phantomjs.exe ?

да, сам браузер нормально запускается.

 

в терминале винды проверьте версию. 

C:\phantomjs-1.9.7-windows\phantomjs.exe --version

  • 0

#20 Axill

Axill

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

  • Members
  • Pip
  • 18 сообщений
  • ФИО:КАС

Отправлено 01 апреля 2014 - 09:19

1.9.7.0


  • 0


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

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