29 января 2013 г.

Установка системы тестирования Selenium для PHP с интеграцией в NetBeans (ручной запуск)

Selenium позволяет выполнять тестирование веб-страниц, используя браузер и эмулируя действия пользователей: переход по ссылкам, заполнение полей и тому подобное. При этом между активными действия можно вставлять функции проверки содержимого страница (по классу, элементу, полному совпадению содержимого, нахождению текста на странице и тому подобное).
Иногда, для тестирования можно обойтись только Selenium IDE, не используя PHP или NetBeans. Но запуск тестирования удобно производить через один клик. Поэтому рассмотрим запуск из IDE NetBeans PHP. Иногда лучше запускать вообще без кликов, а, например, по расписанию или событию, но здесь это не рассматривается.

Данный текст является расширенной инструкцией с сайта NetBeans.
Нацелен на работу под Windows.



UPD: Для запуска тестов Selenium нет необходимости устанавливать пакет Testing_Selenium, исправлять ошибки экспорта. Достаточно PHPUnit с расширениями.

1. Selenium Server

Для запуска тестов нужен сам Selenium Server - java-приложение, которое управляет браузерами. Скачиваем с официального сайта по ссылке.
Поместить файл можно куда угодно. Запускать командой:
java -jar selenium-server-standalone-2.28.0.jar 
Для удобства можно создать bat-файл с содержимым:
START /min java -jar selenium-server-standalone-2.28.0.jar 

2. Plugin Selenium для NetBeans PHP

NetBeans должен быть уже настроен для работы с PHPUnit.
Рекомендую вариант с phpunit.phar, так как он содержит все необходимые расширения. Если кратко, то скачиваем этот файл, помещаем его рядом с php.exe, создаем рядом phpunit.bat с следующим содержимым
%~dp0/php.exe %~dp0/phpunit.phar %*
Затем в NetBeans в настройках отладчика PHP указать путь до созданного файла phpunit.bat в поле пути до скрипта.

Для установки плагина Selenium в NetBeans IDE откройте "Сервис" > "Подключаемые модули" и установите модуль Selenium для PHP.

3. Файл тестов Selenium

В окне "Проекты" правой кнопкой мыши щелкните по названию проекта. Выберите "Создать" > "Прочие". Откроется мастер создания файла. Выберите параметр "Selenium" и нажмите кнопку "Далее".

При первом создании теста Selenium будет открыто диалоговое окно, позволяющее установить каталог для файлов теста Selenium. Этот каталог должен отличаться от каталога файлов теста PHPUnit. В противном случае тесты Selenium будут запускаться при каждом запуске модульных тестов. Запуск функциональных тестов вида Selenium обычно занимает больше времени, чем запуск модульных тестов, поэтому их совместный запуск с модульными тестами скорее всего нежелателен.

После этого в контекстом меню проекта появится пункт для запуска тестов "Run Selenium Tests".

4. Запись тестов в Selenium IDE

Selenium IDE является плагином для браузера, позволяющий записывать действия пользователя для последующего повторения или экспортирования в форматы языков программирования.
На этой странице можно найти последнюю версию плагина. На момент написания статьи 1.10.
После установки плагина и перезапуска браузера нужно запустить окно IDE (в Firefox Ctrl+Alt+S или Меню > Веб-разработка > Selenium IDE). Записываемые действия можно редактировать, сохранять и потом открывать.

5. Экспорт тестов в PHP

Selenium IDE сохраняет тесты в HTML-виде. В нашем случае нужно их конвертировать в PHP.
Официального плагина экспорта в PHP на момент написания статьи нет, поэтому нужно искать другой. Для Firefox я пробовал этот.
Записав тест, выберите Файл > Экспорт > PHP (PHPUnit).

После создания файла тестов, нажимаем на проекте правой клавишей мыши и выбираем "Run Selenium Tests". Результат будет в окне "Вывод".

Замечания

  1. Если в тестах используется кириллица, то кодировка файла тестов должна быть UTF-8.
  2. Если после запуска все тесты пропускаются, то нужно убедиться что запущен сервер selenium-server.x.jar (пункт 1).

1 комментарий: