AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
сервер

Запуск Selenium тестов с помощью Hudson на Headless Linux Server, Часть 3 -- Настройка Hudson

Итак, у вас уже запущен Xvfb, и вы уже протестировали его сделав скриншот или три xclock. Сейчас нужно заставить его работать с тестами Selenium в ваших надстройках Hudson. Самым первым, моя работа была сделана в Selenium RC, в котором нужно запустить отдельный Selenium сервер, который ответственный за запуск браузеров и получающий команды от ваших тестовых скриптов, которые должны быть запущены в браузерах. Я не очень хорошо знаком с другими видами Selenium, поэтому не могу сказать, насколько похожей будет их установка.

Первое, Selenium должен знать какой браузер ему необходимо запустить и/или как его запустить или какой дисплей использовать. Если вы уже пользуетесь Selenium RC, вы знаете, что вам нужно передать название браузера в Selenium, чтобы указать какой браузер использовать. В любом случае, если обычно вы работаете в Windows, а Selenium не может найти Firefox или IE в вашем Linux, вам может понадобиться выполнение некоторых некоторых конфигураций. Обычная команда браузера для запуска Firefox - это "*firefox". У Selenium есть папки по-умолчанию в которых Selenium ищет файл запуска Firefox. Если она не может найти его, можно указать его вручную, например *firefox /usr/bin/firefox-bin. Это говорит Selenium о том, что нужно запустить Firefox и нужно использовать указанный путь. Вы должны указать путь к firefox-bin, а не только к скрипту firefox. Selenium проверить доступность скрипта или исполняемого двоичный код и если что программа сгенерирует исключительный случай. Также существует возможность просто передать путь и аргументы в Selenium, оставляя указатель "*firefox", но как говорится в документах, "Если же вы указываете собственный установленный пользователем браузер, правильность конфигурации будет зависеть только от вас. Как минимум вам нужно будет сконфигурировать ваш браузер для использования сервера Selenium в качестве прокси, и отключить все настройки браузера."

Запуск Selenium тестов с помощью Hudson на Headless Linux Server, Часть 2 --xwd and xwud

В Части 1, я объяснял как запустить Xvfb для того чтобы получить виртуальный дисплей на котором работали бы графические приложения. В этом посте я проверю его работу с помощью запуска xclock и сделав его скриншот. Возможность сделать скриншот виртуального дисплея сама по себе довольно важна. Для того, чтобы сделать и просмотреть скриншот вы используете две разные программы: xwd и xwud. Первая сделает скриншот, а вторая покажет его. Они должны быть установлены на вашем X сервере (я так думаю).

Сначала, запустите xclock на системе, где работает Xvfb с xclock -display :5.0 так, что он будет работать на виртуальном дисплее. Далее, также на системе с Xfvb, сделайте скриншот с

xwd -root -display :5.0 -out xwdout

Запуск Selenium тестов с помощью Hudson на Headless Linux Server, Часть 1 --Xvfb

Я недавно установил Hudson как сервер непрерывной интеграции для моего проекта на работе. Я предпочел установить Hudson а не Cruise Control или Continuum по двум причинам: Hudson очень рекомендовал мне мой бывший сотрудник (спасибо Майк!), и, когда я выбирал между ними, сайт Hudson был значительно понятнее, а его навигация была значительно проще. Я не буду тут писать об установке Hudson, потому, что это очень просто и делается буквально за минуту, а также, в самом интерфейсе есть масса подсказок для установки. В этой серии постов я собираюсь рассказать, как настроить Hudson на проведение тестирования с Selenium на headless Linux server. Также хочу заметить что буду расказывать о Linux только на высоком уровне, так-как, в то время, когда я решился на эту авантюру, знания и опыт с Linux у меня были довольно базовыми, и мне пришлось самому сводить всю информацию, полученную из разных источников. Но, это все же не для полных новичков в Linux. Вам необходимо знать, как минимум, как установить пакеты и навигацию файловой системы с командной строки, перед тем как читать это.

Примечание для непосвященных: Selenium – свободное программное обеспечение для тестирования веб- приложений на уровне UI level. В нем JavaScript используется для взаимодействия с веб-страницами, таким образом, есть возможность прописать серию действий пользователя и гарантировать, что приложение в браузере функционирует так, как это и ожидалось. Но, эта серия постов не расскажет ничего непосредственно об установке Selenium, точно также, как она не рассказывает и об установке Hudson.

Итак, давайте перейдем к Части один. Предположим, что в вашем пакете тестирования уже есть несколько тестов с Selenium и вы хотите, чтобы они работали с надстройки Hudson на вашем headless server. Headless означает, что высока возможность того, что у вас нет работающего X server , а вы не можете использовать Firefox или выбранный вами браузер без X server, проще говоря, это означает, что вы не можете использовать ваше веб-приложение. Как насчет того, чтобы вместо установки полнофункционального X server только для проведения нескольких UI тестов, использовать виртуальный дисплей? С этим вам поможет отличный инструмент, который называется XvfbXvfb запускает базовый виртуальный дисплей в памяти и, таким образом приложения, которым необходимы функциональные возможности графических средств, могут работать на машинах без X server.

RSS-материал