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

Фотография

Запуск Java-теста WebDriver из консоли


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

#1 shadow from omsk

shadow from omsk

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:Зиновьев Александр
  • Город:Омск

Отправлено 18 апреля 2012 - 06:25

Совсем запутался в понятиях, подскажите плиз, где можно прочесть инструкцию по запуску теста из консоли Ubuntu?

На данный момент у меня есть несколько простых Java-тестов, которые авторизуются в некой форме для разных браузеров (Chrome, IE, Firefox). Следуя инструкции на форуме и документации на Селениум, сумел настроить Эклипс на использование селениума, из Эклипса все тесты запускаются, все работает при нажатии кнопки "Run test" и это уже радует.

Теперь в планах научится запускать эти тесты из консоли. Погуглил и нашел похожие инструкции (как мне показалось):

http://www.protestin...ium_server.html
http://selenium2.ru/...elenium-rc.html
http://selenium2.ru/.../webdriver.html

Либо лыжи не едут, либо я... , ибо даю команду на запуск теста:

java -jar selenium-server-standalone-2.21.0.jar Login.java

в ответ в консоли получаю:

18.04.2012 13:17:18 org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
13:17:18.306 INFO - Java: Sun Microsystems Inc. 20.1-b02
13:17:18.307 INFO - OS: Linux 2.6.32-40-generic-pae i386
13:17:18.319 INFO - v2.21.0, with Core v2.21.0. Built from revision 16552
13:17:18.431 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
13:17:18.432 INFO - Version Jetty/5.1.x
13:17:18.432 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
13:17:18.433 INFO - Started HttpContext[/selenium-server,/selenium-server]
13:17:18.433 INFO - Started HttpContext[/,/]
13:17:18.444 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@6cb8
13:17:18.444 INFO - Started HttpContext[/wd,/wd]
13:17:18.447 INFO - Started SocketListener on 0.0.0.0:4444
13:17:18.447 INFO - Started org.openqa.jetty.jetty.Server@1006d75

и тишина. Подозреваю, что делаю что то не так :) Буду весьма благодарен за помощь. На моей делике двигатель в одну каску проще снять, чем из консоли мне тест запустить :)
  • 0

#2 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 18 апреля 2012 - 08:02

Если я правильно понимаю, то вот это
java -jar selenium-server-standalone-2.21.0.jar Login.java
запускает только Selenium-сервер, но не запускает сам скрипт.

У нас используется Selenium в связке с JUnit. Из командной строки (Win7) запускали тесты так:
java org.junit.runner.JUnitCore TestSuite.class

Видимо, запуск ваших тестов будет зависеть от используемого у вас тестового фрэймворка.
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники

#3 shadow from omsk

shadow from omsk

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:Зиновьев Александр
  • Город:Омск

Отправлено 18 апреля 2012 - 08:23

у меня JUnit, т.е. получается, что запускать сам сервер нет необходимости?

Я планирую тестировать внешний сервер, а на сколько я понял Selenium-сервер на локальной машине поднимает тестирование.
  • 0

#4 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 18 апреля 2012 - 08:36

у меня JUnit, т.е. получается, что запускать сам сервер нет необходимости?

Я планирую тестировать внешний сервер, а на сколько я понял Selenium-сервер на локальной машине поднимает тестирование.


На 100% не уверен, но, насколько мне известно, в WebDriver (Selenium 2.0) в качестве сервера выступает плагин в браузере, который слушает команды от скрипта-клиента.
Мы никакой сервер отдельно не поднимали, у нас всё работало. Возможно со старым Selenium'ом нужно было делать что-то подобное (я с ним почти не сталкивался, не знаю).
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники

#5 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 18 апреля 2012 - 08:40

Т.е. по сути у нас сервер поднимается из самих тестов, типа такого:
FirefoxDriver driver = new FirefoxDriver();
Если такое в коде есть, то отдельно ничего поднимать не нужно.
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники

#6 shadow from omsk

shadow from omsk

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:Зиновьев Александр
  • Город:Омск

Отправлено 18 апреля 2012 - 09:08

да, в коде такое есть. В зависимости от того, какой браузер нужен, тот драйвер и запускается. Тогда я вообще запутался, как запустить тест из консоли :(
  • 0

#7 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 18 апреля 2012 - 09:40

Так а в чём проблема? Так не работает что-ли:
java org.junit.runner.JUnitCore TestSuite.class
?

PS. Вам нужно искать информацию не по запуску WebDriver'а, а по запуску JUnit-тестов из консоли.
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники

#8 shadow from omsk

shadow from omsk

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:Зиновьев Александр
  • Город:Омск

Отправлено 18 апреля 2012 - 10:11

Да, я так и понял, накопал, что запуск проводить через Ant. Пока изучаю доку.
  • 0

#9 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 18 апреля 2012 - 10:50

У нас сейчас сделано тоже через Ant, но только потому, что так проще интегрировать тесты с TeamCity. А так можно и просто из командной строки запускать так как я описывал. Тоже никаких проблем быть не должно.
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники

#10 shadow from omsk

shadow from omsk

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:Зиновьев Александр
  • Город:Омск

Отправлено 18 апреля 2012 - 11:36

В далеко идущих планах у меня и есть прицел на TeamCity :) с Аnt разобрался, часть тестов запускается, часть нет (там что то с путями), буду разбираться дальше. По результатам отпишусь :)
  • 0

#11 shadow from omsk

shadow from omsk

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:Зиновьев Александр
  • Город:Омск

Отправлено 19 апреля 2012 - 09:41

Юрий, еще попутный вопрос, не подскажите, как логически правильнее организовать запуск тестов для разных ОС?

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

Но мне этот вариант не нравится. Не могу сказать почему, что то вроде внутреннего голоса.
  • 0

#12 Rara

Rara

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

  • Members
  • PipPip
  • 83 сообщений
  • ФИО:Кондрашов Юрий Алексеевич
  • Город:Минск, Беларусь


Отправлено 19 апреля 2012 - 11:45

Если у вас разный набор тестов для каждой операционки, то можете сгруппировать их в тест-сьюты и запусакать в каждой ОС свой сьют.

Если набор тестов один, а отличается только список драйверов, то тоже можно воспользоваться сьютом. В методе, аннотированном @BeforeSuite, определять операционку (например, так) и формировать список веб-драйверов, которыми должны пользоваться тесты.

Сложно подсказать точнее, т.к. не знаю, как у вас организована привязка тестов к веб-драйверам.
  • 0
Я бы переписал жизнь, но Бог не дает мне исходники

#13 shadow from omsk

shadow from omsk

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

  • Members
  • Pip
  • 42 сообщений
  • ФИО:Зиновьев Александр
  • Город:Омск

Отправлено 20 апреля 2012 - 09:01

покопались в документации, нашли возможность у Maven определять тип ОС, а в зависимости от типа ОС запускать нужные тесты. собственно у Maven теперь несколько профилей (для линукса, винды), а все это прекрасно запускается одной командой в TeamCity
mvn test.

В итоге нет необходимости решать какой драйвер куда привязывать, тесты выбираются по имени (в имени теста указано для какой он ОС). Все :)
  • 0


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

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