Описание, использование и опции запуска Selenium Server

Selenium Server требования

Selenium Server написан на Java, и для его запуска требуется Java Runtime Environment (JRE) версии 1.5.0 или выше. Вероятнее всего, оно уже установлено на вашем компьютере. Попробуйте выполнить следующую команду:

java –version

Должно появится небольшое сообщение с версией JRE, установленной на вашем компьютере

java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode)

Если вместо него вы увидели сообщение об ошибке, вам необходимо установить JRE, либо добавить путь к ней к переменной окружения PATH

Как запустить Selenium Server? 

Для запуска Selenium Server необходимо, находясь в директории, в которой установлен Selenium Server, выполнить следующую команду:

java -jar selenium-server.jar [options]

Если вы все сделали правильно, то должны увидеть приблизительно следующее:

23:44:36.343 INFO - Java: Sun Microsystems Inc. 11.2-b01
23:44:36.343 INFO - OS: Windows XP 5.1 x86
23:44:36.359 INFO - v1.0.1 [2696], with Core v@VERSION@ [@REVISION@]
23:44:36.421 INFO - Version Jetty/5.1.x
23:44:36.421 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
23:44:36.421 INFO - Started HttpContext[/selenium-server,/selenium-server]
23:44:36.421 INFO - Started HttpContext[/,/]
23:44:36.437 INFO - Started SocketListener on 0.0.0.0:4444
23:44:36.437 INFO - Started org.mortbay.jetty.Server@dbe178

Данные сообщения говорят о том, что Selenium Server стартовал нормально на порту 4444. Ну и отлично!

Опции Selenium Server

  • port <nnnn> - номер порта, на котором будет работать Selenium Server (по умолчанию 4444)
  • timeout <nnnn> - таймаут выполнения команд, в секундах
  • interactive - запускает сервер в интерактивном режиме (позволяет вводить команды непосредственно в консоль сервера)
  • multiWindow - запускает тестирование сайта в окне, отдельном от панели управления, т.о. позволяя тестировать страницы, содержащие фреймы
  • forcedBrowserMode <browser> - заставляет использовать для тестирования определенный браузер, вне зависимости от того, какой браузер будет указан при инициализации очередной сессии тестирования
  • userExtensions <file> - указывает на JavaScript файл с пользовательскими функциями, который необходимо загрузить
  • browserSessionReuse - предотвращает ре-инициализацию браузера между тестами
  • avoidProxy - по умолчанию, проксируются все запросы от браузера. Установив этот флаг, вы укажете что браузеру нужно проксировать только адреса, содержащие “/selenium-server”
  • firefoxProfileTemplate <dir> - по умолчанию, для FireFox, генерируется новый «чистый» профиль при каждом запуске. Данным флагом, вы можете указать, какой профиль необходимо использовать в тестах
  • debug - включает режим отладки, где выводится более детальная информация о выполнении команд, а также диагностические сообщения
  • log - указывает файл, в который следует писать отладочную информацию
  • htmlSuite <browser> <startURL> <suiteFile> <resultFile> - запускает на выполнение тестовый набор (в формате HTML, который использовался для Selenium Core), с использованием указанного браузера, в указанном домене. По окончании тестов, сервер останавливается. Параметры <suiteFile> и <resultFile>, должны содержать абсолютный путь к тестовому набору и файлу, в который будет помещен результат его выполнения
  • proxyInjectionMode - запускает сервер в режиме, проксирующем все содержимое, идущее к тестовому приложению. В этом режиме есть возможность посещать различные домены, а так же доступны следующие дополнительные опции:
    • dontInjectRegex <regex> - опциональный параметр, представляющий собой регулярное выражение, указывающее серверу, какие адреса не нуждаются в инжектировании
    • userJsInjection <file> - опциональный параметр, указывающий JavaScript файл, которые будет инжектирован во все страницы
    • userContentTransformation <regex> <replacement> - опциональный параметр, представляющий собой регулярное выражение, при нахождении которого в содержимом страницы, будет произведена замена на строку, указанную в параметре <replacement> (пример использования: "-userContentTransformation https http" все строчки, содержащие "https" в HTML-странице, полученной от тестируемого приложения, будут заменены на "http")

Запуск Selenium Server с использованием прокси-сервера

Так же имеется поддержка двух системных свойств Java:

-Dhttp.proxyHost
-Dhttp.proxyPort

Selenium RC перезаписывает текущую конфигурацию proxy-сервера, для того чтобы использовать в качестве сервера Selenium Server. Используйте эту опцию, если есть необходимость использовать ваш proxy-сервер одновременно с Selenium Server. Если ваш HTTP-proxy требует аутентификацию, вам нужно будет установить значения параметров -Dhttp.proxyUser и -Dhttp.proxyPassword:

java -Dhttp.proxyHost=myproxy.com -Dhttp.proxyPort=1234 -Dhttp.proxyUser=user -Dhttp.proxyPassword=password -jar selenium-server.jar