Запуск Java-теста WebDriver из консоли
#1
Отправлено 18 апреля 2012 - 06:25
На данный момент у меня есть несколько простых 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
и тишина. Подозреваю, что делаю что то не так :) Буду весьма благодарен за помощь. На моей делике двигатель в одну каску проще снять, чем из консоли мне тест запустить :)
#2
Отправлено 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
Видимо, запуск ваших тестов будет зависеть от используемого у вас тестового фрэймворка.
#3
Отправлено 18 апреля 2012 - 08:23
Я планирую тестировать внешний сервер, а на сколько я понял Selenium-сервер на локальной машине поднимает тестирование.
#4
Отправлено 18 апреля 2012 - 08:36
у меня JUnit, т.е. получается, что запускать сам сервер нет необходимости?
Я планирую тестировать внешний сервер, а на сколько я понял Selenium-сервер на локальной машине поднимает тестирование.
На 100% не уверен, но, насколько мне известно, в WebDriver (Selenium 2.0) в качестве сервера выступает плагин в браузере, который слушает команды от скрипта-клиента.
Мы никакой сервер отдельно не поднимали, у нас всё работало. Возможно со старым Selenium'ом нужно было делать что-то подобное (я с ним почти не сталкивался, не знаю).
#5
Отправлено 18 апреля 2012 - 08:40
FirefoxDriver driver = new FirefoxDriver();Если такое в коде есть, то отдельно ничего поднимать не нужно.
#6
Отправлено 18 апреля 2012 - 09:08
#7
Отправлено 18 апреля 2012 - 09:40
java org.junit.runner.JUnitCore TestSuite.class?
PS. Вам нужно искать информацию не по запуску WebDriver'а, а по запуску JUnit-тестов из консоли.
#8
Отправлено 18 апреля 2012 - 10:11
#9
Отправлено 18 апреля 2012 - 10:50
#10
Отправлено 18 апреля 2012 - 11:36
#11
Отправлено 19 апреля 2012 - 09:41
Например отделить тесты запускаемые для Linux и тесты запускаемые для Windows, ибо используются то разные драйвера. Мне советуют рулить этим в самих тестах, мол отлавливать эксепшен при попытке запуска любого драйвера (если он не подходит для этой ОС) и прямо из теста возвращать что тест пройден (пока не знаю как это реализовать). При таком варианте можно не создавать две конфигурации (под разные ОС), а крутить все подряд.
Но мне этот вариант не нравится. Не могу сказать почему, что то вроде внутреннего голоса.
#12
Отправлено 19 апреля 2012 - 11:45
Если набор тестов один, а отличается только список драйверов, то тоже можно воспользоваться сьютом. В методе, аннотированном @BeforeSuite, определять операционку (например, так) и формировать список веб-драйверов, которыми должны пользоваться тесты.
Сложно подсказать точнее, т.к. не знаю, как у вас организована привязка тестов к веб-драйверам.
#13
Отправлено 20 апреля 2012 - 09:01
mvn test.
В итоге нет необходимости решать какой драйвер куда привязывать, тесты выбираются по имени (в имени теста указано для какой он ОС). Все :)
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных