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

Фотография

Запуск Selenium server.jar из командной строки вместе с тестом


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

#1 Carcharodon

Carcharodon

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

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

Отправлено 20 апреля 2012 - 13:17

Здравствуйте!

Меня интересует вот такой вопрос. Есть тест, использующий dll webdriver'a и написанный на С# и собранный в качестве exe файла. Есть selenium-server.jar. Моя задача - написать скрипт автозапуска тестов. Проблема:

Если я напишу в скрипте такую команду

java -jar selenium-server.jar & mono testsite.exe
То сервер начнет запускаться, но не успеет до конца это сделать, т.к. тут же начинает запускаться testsite.exe прилоение, которое, не найдя selenium server выводит ошибку и завершает работу, после чего в консоли вновь появляются сообщения о том что selenium server загружен...

Сервер нужен именно в фоновом режиме. Пожалуйста, кто может ответьте.

Спасибо!
  • 0

#2 sawoy

sawoy

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Alex Savchuk

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

Предлагаю запустить в фоне сервер:

nohup java -jar selenium-server.jar >> /path/to/log/file 2>&1 &


и в отдельной консоли запускать клиента:

mono ...


  • 0

#3 Carcharodon

Carcharodon

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

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

Отправлено 20 апреля 2012 - 15:06

Спасибо за совет, вот только в составе скрипта данные команды не работают. Приложение testsite.exe так и завершается с ошибкой о том, что не найден сервер селениума.
  • 0

#4 sawoy

sawoy

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Alex Savchuk

Отправлено 21 апреля 2012 - 19:56

Интересно. А что в логе /path/to/log/file ?

Попробуй запустить команду без nohup.

Другой вариант решения (если проблема именно в "сервер начнет запускаться, но не успеет до конца это сделать") - использовать ожидание:
* наивное
java -jar selenium-server.jar;
wait 30s; # ну уж за 30 секунд он запуститься
mono testsite.exe;
* на основе циклической проверки какого-либо события, например ответа на запрос, сообщения в логе и т.д.

Но я бы посоветовал разобраться в причине и написать отдельный нормальный инит скрипт для запуска и остановки Selenium. Или поискать готовый.
  • 1

#5 Carcharodon

Carcharodon

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

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

Отправлено 25 апреля 2012 - 11:43

Спасибо Вам огромное!!

вариант
java -jar selenium-server.jar >> log.log 2>&1 &
sleep 6
mono testsite.exe
работает. Сервер успевает запуститься.

Спасибо!
  • 0

#6 soleksenko2702

soleksenko2702

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

  • Members
  • PipPipPip
  • 193 сообщений
  • ФИО:Олексенко Сергей

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

Спасибо Вам огромное!!

вариант

java -jar selenium-server.jar >> log.log 2>&1 &
sleep 6
mono testsite.exe
работает. Сервер успевает запуститься.

Спасибо!


Может я что-то не понимаю или не знаю.
А объясните пожалуйста, зачем Вам селениум сервер если у Вас тест написан на WD?
  • 0

#7 Carcharodon

Carcharodon

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

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

Отправлено 27 апреля 2012 - 09:43

А объясните пожалуйста, зачем Вам селениум сервер если у Вас тест написан на WD?


Потому что в WebDriver я использую HtmlUnit (браузер без GUI).

http://seleniumhq.or..._webdriver.html <- вот здесь написано

WebDriver and the Selenium-Server

You may, or may not, need the Selenium Server, depending on how you intend to use Selenium-WebDriver.
There are some reasons though to use the Selenium-Server with Selenium-WebDriver.

You are using Selenium-Grid ...бла-бла-бла.
You want to connect to a remote machine бла-бла-бла.
You are not using the Java bindings (i.e. Python, C#, or Ruby) and would like to use HtmlUnit Driver.

Без сервера приложение-тест просто напросто не будет работать.
  • 0

#8 soleksenko2702

soleksenko2702

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

  • Members
  • PipPipPip
  • 193 сообщений
  • ФИО:Олексенко Сергей

Отправлено 27 апреля 2012 - 10:05



А объясните пожалуйста, зачем Вам селениум сервер если у Вас тест написан на WD?


Потому что в WebDriver я использую HtmlUnit (браузер без GUI).

http://seleniumhq.or..._webdriver.html <- вот здесь написано

WebDriver and the Selenium-Server

You may, or may not, need the Selenium Server, depending on how you intend to use Selenium-WebDriver.
There are some reasons though to use the Selenium-Server with Selenium-WebDriver.

You are using Selenium-Grid ...бла-бла-бла.
You want to connect to a remote machine бла-бла-бла.
You are not using the Java bindings (i.e. Python, C#, or Ruby) and would like to use HtmlUnit Driver.

Без сервера приложение-тест просто напросто не будет работать.


Все понял. Спасибо за ответ.
  • 0

#9 D2Phoenix

D2Phoenix

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

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 27 апреля 2012 - 10:33



А объясните пожалуйста, зачем Вам селениум сервер если у Вас тест написан на WD?


Потому что в WebDriver я использую HtmlUnit (браузер без GUI).

http://seleniumhq.or..._webdriver.html <- вот здесь написано

WebDriver and the Selenium-Server

You may, or may not, need the Selenium Server, depending on how you intend to use Selenium-WebDriver.
There are some reasons though to use the Selenium-Server with Selenium-WebDriver.

You are using Selenium-Grid ...бла-бла-бла.
You want to connect to a remote machine бла-бла-бла.
You are not using the Java bindings (i.e. Python, C#, or Ruby) and would like to use HtmlUnit Driver.

Без сервера приложение-тест просто напросто не будет работать.

Эм....а зачем всётаки запускать сервер? как бы без него и так HtmlUnit Driver работает
  • 0

#10 Carcharodon

Carcharodon

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

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

Отправлено 27 апреля 2012 - 11:15

Эм....а зачем всётаки запускать сервер? как бы без него и так HtmlUnit Driver работает


Ну попробуйте написать тестовое приложение с использованием библиотек селениума. Может у меня не самый лучший вариант, но не запускается у меня приложение без сервера. Точнее запускается, но не найдя его вылетает с ошибкой ConnectionFailure.

Да и по ссылке, выложенной мной выше, указано также еще в одном месте

HtmlUnit Driver
For any language binding (other than java) the Selenium Server is required to use this driver.

А, еще вот что, тестовое приложение я пишу НЕ на java.
  • 0

#11 D2Phoenix

D2Phoenix

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

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 27 апреля 2012 - 11:28

А, еще вот что, тестовое приложение я пишу НЕ на java.

вот этот момент я упустил:)
  • 0


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

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