Селеновая решетка 2 для непрерывной интеграции без использования xvfb или xvnc? - PullRequest
1 голос
/ 13 июня 2011

Таким образом, при использовании сетки 2, есть ли файл конфигурации для запуска xvfb или xvnc при каждом запуске selenium RC.Hub и Selenium RC уже установлены на отдельных блоках linux.

Кроме того, есть ли способ реализовать двунаправленную связь между тестом selenium, выполняющимся на RC, и клиентом (клиентское программное обеспечение Java)?Например, тест не пройден, так как элемент не может быть найден на странице, клиент должен быть уведомлен, и клиент может предоставить правильный элемент.

, поэтому тест веб-драйвера selenium не следует останавливать, вместо этого дождитесь правильного ввода иликлиент завершает тествроде как цикл обратной связи, чтобы убедиться, что все вариации в веб-приложении учтены.пример) кнопка формы со случайно сгенерированным идентификатором, основанная на xpath, который случайно разбивается на определенных страницах.

Возможно ли добиться непрерывной интеграции путем указания регулярных интервалов времени, в которые сетка селена 2 будет загружать rc?

Означает ли это, что мне нужно расширить тест вебдрайвера в качестве сервера Jetty?или нетти?Запустить вместо этого веб-сервис селена?

Ответы [ 2 ]

3 голосов
/ 14 июня 2011

Чтобы ответить на ваш первый вопрос, я бы рекомендовал всегда запускать сервер Xvfb на ваших RC-узлах.Если вы используете Debian или Ubuntu, вы также можете запустить свои RC-узлы с помощью xvfb-run:

nohup xvfb-run java -jar selenium-server-standalone-2.0rc2.jar \
      -role rc \
      -port 5555 \
      -hub http://hub:4444/grid/register 2>&1 > selenium-rc.log &

Относительно двунаправленной связи.Почему бы просто не использовать вызов API isElementPresent () и обработать эту логику в тесте?Более сложные взаимодействия могут быть достигнуты путем расширения селена с помощью user-extensions.js и вызова API getEval ().

Пример использования вызова API getEval ()

Запуск и остановка узлов RC не поддерживаются концентратором.Целью концентратора является передача запросов от клиентов Selen к активным узлам RC.Если у вас не всегда работают RC-узлы, посмотрите на cron.

1 голос
/ 25 июня 2011

Selenium Grid - это просто способ управлять группой серверов Selenium и упростить диспетчеризацию клиентов на этих серверах.Если вы не можете что-то сделать с помощью Selenium Server напрямую, вы не сможете делать и с сеткой.Точно так же, если вы можете работать с Selenium Server, вы можете сделать это с помощью grid.

Итак, если вам нужен интерактивный скрипт, он будет работать, но все это зависит от клиента.Сервер Selenium не может перезвонить в ваше приложение.

...