Показаны сообщения с ярлыком jenkins. Показать все сообщения
Показаны сообщения с ярлыком jenkins. Показать все сообщения

14 марта 2014 г.

Установка и настройка Jenkins + Vagrant + Selenium с нуля на Linux (Debian)

В предыдущих постах я описал свой переход от флагово-хукового тестирования к Jenkins под Windows и последующим развертыванием виртуальной машины с WinXP для Selenium-тестов. История получилась в 4х частях, многое не нужно, и от этого её трудно использовать.
В этом посте я постараюсь кратко, но целостно описать процесс развертывания системы Selenium-тестирования, запускаемого из Jenkins с использованием универсального средства переносимых виртуальных машин Vagrant с провайдером VirtualBox и образом Ubuntu desktop для запуска тестов в Chrome и Firefox. Так как целью является именно целостность статьи, я повторю некоторые описанные ранее шаги, например, запуск Selenium хаба и нодов к нему.
В результате мы получим headless сервер для автозапуска Selenium-тестов веб-приложения.

Начальное состояние

Веб-сервер под управлением Debian 7 / Ubuntu с установленным и настроенным php и виртуальными хостами и установленной java (достаточно jre). Так как мы строим систему для запуска автотестов некоторого веб-приложения, то это веб-приложение должно быть настроено и работать на этом сервере. Кроме того, предполагаем, что мы используем систему контроля версий, и у нас есть скрипт, которым можно обновить (задеплоить) это веб-приложения в этой среде в автоматическом режиме. К этому моменту должен быть написан хотя бы один Selenium-тест этого приложения, использующий класс PHPUnit_Extensions_Selenium2TestCase. Примеры тестов можно найти по ссылке.

14 февраля 2013 г.

Selenium тестирование PHP-проекта из Jenkins (ч2)

Статья является продолжением статьи о настройке системы непрерывного интегрирования Jenkins.
Здесь рассматривается решение вопроса автоматического конвертирования html-тестов в php с последующим запуском их через Ant с помощью системы непрерывной интеграции Jenkins на Windows.

Оглавление:
1. Запуск готовых Selenium-тестов подготовленных для PHPUnit
2. Selenium2php - автоматическое конвертирование HTML тестов Selenium в phpunit-тесты
3. Еще больше автоматизации
4. Результат

Возможно, вам так же будет интересна статья Установка и настройка Jenkins + Vagrant + Selenium с нуля на Linux (Debian).

13 февраля 2013 г.

Jenkins для PHP на Windows или улучшенное автотестирование Selenium при коммитах (ч1)

Возможно, вам так же будет интересна статья Установка и настройка Jenkins + Vagrant + Selenium с нуля на Linux (Debian).

В этой статье я запишу свой опыт настройки системы непрерывной интеграции Jenkins для PHP-проекта в Windows. Статьи об этом не редкость: раз, два. Но я расскажу о проблемах, решение которых не было описано сразу в одном месте, но которые мне удалось решить, собрав информацию по кусочкам.

Цель: собрать систему, которая в автоматическом режиме при изменении кода (коммите и выполненном выталкивании), либо вручную будет производить следующие операции:
  • сборка проекта, например, css, js-файлов - выполнение произвольных скриптов;
  • проверка на ошибки синтаксиса - использование lint;
  • посчитать количество строк, классов, методов, функций, файлов, строк комментариев и прочее - phploc;
  • посчитать метрики - pdepend;
  • проанализировать качество кода по нескольким правилам - phpmd;
  • найти участки одинакового кода - phpcpd;
  • выполнить модульное тестирование - phpunit;
  • выполнить Selenium-тестирование с использованием удалённого Selenium-сервера;
  • собрать логи всех операций, сосчитать количество ошибок/предупреждений и на основе настройки порогов значение присвоить статус успешности билда;
  • оповестить всех разработчиков / последних коммитивших об изменении статуса билда;
  • автоматическое развертывание (deployment), если нужно.