Запуск Cucumber Script с Дженкинсом
В этом посте я покажу вам, как настроить Jenkins для запуска сценария автоматического тестирования Cucumber и отображения отчета в пользовательском интерфейсе Jenkins.
Содержание
- Режим командной строки Cucumber
- Режим командной строки CukeTest
- Конфигурация непрерывной интеграции Jenkins
- Плагин отчета о тестировании Jenkins конфигурации
- Резюме
Скрипты автоматизации, созданные с помощью среды Cucumber, имеют то преимущество, что они просты для понимания, просты в общении и удобны в сопровождении, поэтому они популярны среди команд автоматизации тестирования.
DevOps широко используется инженерными командами, интеграция автоматизированного тестирования в процесс непрерывной интеграции (CI) является важной частью внедрения DevOps. После интеграции автоматическое тестирование запускается автоматически и генерирует отчеты о выполнении, которые могут информировать всю команду о работоспособном состоянии проекта. Ниже приведен отчет о проекте Cucumber, показанный на Jenkins:
Как мы знаем, любой инструмент для интеграции с Jenkins должен поддерживать режим командной строки, и это также верно для Cucumber.
Режим командной строки Cucumber
Мы используем Cucumber.js для иллюстрации командной строки Cucumber. Те, кто уже знаком с этим инструментом, знают, что это означает запуск команды «Cucumber-js» непосредственно в каталоге сценариев автоматизации. Или, если у вас не установлен Cucumber глобально, запустите «node_modules/.bin/cucumber-js» (или модуль с расширением .cmd, если вы работаете в Windows), и он будет использовать локально установленный Cucumber. После выполнения он печатает вывод текста в командной строке.
Если вы запускаете его как задание под Jenkins, командная строка аналогична. Для того, чтобы Jenkins отображал визуальный отчет, достаточно добавить параметр «format», указав выходной файл в формате «json». Командная строка выглядит следующим образом:
node_modules\.bin\cucumber-js --format json:report.json
Он выведет отчет в report.json, а затем этот файл будет использоваться заданием Jenkins для отображения отчета.
Режим командной строки CukeTest
CukeTest — это инструмент разработки Cucumber.js. Он доступен в Windows Desktop, Windows Store, MacOS и т. д. Все эти выпуски поддерживают режим командной строки. Его можно скачать с http://cuketest.com. CukeTest используется для разработки сценариев Cucumber.js, его также можно использовать для выполнения сценариев Cucumber.js из командной строки. Преимущество использования CukeTest заключается в том, что вам не нужно устанавливать Cucumber.js для каждого проекта, CukeTest уже имеет встроенный Cucumber.js, который экономит место и время на вашем диске. библиотека, запись видео и т. д.
Версия CukeTest для Магазина Windows имеет другой механизм командной строки, поэтому командная строка немного отличается от настольной версии. К счастью, вам не нужно запоминать все детали командной строки. В CukeTest, когда ваш проект открыт, вы можете открыть профиль запуска, чтобы получить командную строку, щелкнув стрелку раскрывающегося списка рядом с кнопкой «Выполнить проект», а затем нажав «Редактировать профили…».
В диалоговом окне «Профили запуска» соответствующая командная строка автоматически генерируется в строке командной строки для этого профиля:
Нажмите кнопку «Копировать в буфер обмена», чтобы скопировать команды в буфер обмена, нажмите кнопку «Открыть окно консоли» и вставьте командную строку во вновь открытое окно.
Вот командные строки на разных платформах:
CukeTest версия Магазина Windows
Вот командная строка для версии для Магазина Windows:
chcp 65001 && start cuketest://?profile=Profile1
«chcp 65001» изменяет кодировку командной строки на UTF8, поскольку вывод командной строки CukeTest закодирован в UFT8.
Настольная версия CukeTest
Ниже приведена команда для запуска CukeTest на рабочем столе Windows:
chcp 65001 && cuke --run --format html
Конфигурация непрерывной интеграции Jenkins
После того, как мы узнаем, как запустить проект в командной строке, мы можем настроить Jenkins для его запуска. Ниже объясняются шаги по настройке задания Jenkins.
Мы используем исходный код в для демо. Этот проект можно использовать для автоматизации тестирования сайта сообщества cnodejs.org. Не стесняйтесь использовать свой собственный проект Cucumber для настройки задания.
Вот шаги для настройки задания:
Создайте новую работу в задаче Дженкинса:
Выберите «Пакетная команда Windows» на панели элементов.
Скопируйте и вставьте соответствующую командную строку из CukeTest в поле пакетной команды Jenkins. Например, я изначально установил настольную версию CukeTest. Вот моя командная строка:
npm install chcp 65001 && cuke --run --format html
Первая команда устанавливает пакеты зависимостей npm, которые используются сценарием автоматизации. Например, для веб-проекта это может быть selenium-webdriver, chromedriver и т. д.
На следующем рисунке показан пользовательский интерфейс конфигурации задания с введенными командами:
Сохраните конфигурацию проекта. Нажмите [Build Now] и проект начнет выполняться.
Вы можете увидеть ход выполнения задания в истории сборки:
Вы также можете найти текущий журнал задания в [Build History]. В то же время файл отчета также создается в каталоге Jenkins Workspace. Наш следующий шаг — настроить задание Jenkins для отображения отчета о тестировании в интерфейсе Jenkins, короче говоря, мы будем использовать плагин Jenkins для форматирования и отображения отчета о тестировании.
Настройте Jenkins для отображения отчета о тестировании.
CukeTest использует Cucumber.js, поэтому будет генерировать тот же формат отчетов json, что и Cucumber. В Jenkins мы можем использовать плагин отчетов Cucumber для Jenkins, чтобы показать отчет для них обоих.
Введение плагина:
Ниже приведены шаги:
- Установите плагин отчетов Jenkins
Открытый Дженкинс [System Management] — [Manage Plugin]и отфильтруйте «Отчеты о огурцах» в [Optional Plugin].
Перезапустите Jenkins после установки этого плагина.
Перенастройте задачу Дженкинса
Плагин отчетов Cucumber генерирует отчеты, анализируя файл отчета json, созданный Cucumber или CukeTest. Поэтому нам нужно сначала настроить запуск проекта, чтобы сгенерировать файлы данных журнала json.
Выберите «json» в формате отчета в файле конфигурации запуска.
Вывод выполнения командной строки изменен на json:
chcp 65001 && cuke --run --format json
Отображать [Cucumber reports]
в [Add post-build operation steps] выберите [Cucumber reports] вариант.
Откройте параметр «Дополнительно…» отчетов о огурцах. Введите «отчеты» в «Путь к отчетам Json»:
Нажмите «Сохранить», чтобы завершить настройку проекта.
Создать тестовый отчет
Нажмите «Создать сейчас», и отчет о тестировании, показанный в начале этой статьи, будет создан автоматически после завершения выполнения задания. Кроме того, в отчете о тестировании содержится ссылка на каждый сценарий, а при нажатии на него отображаются подробные сведения о сценариях.
Отчет может не только отображать результат выполнения каждого шага, но также показывать скриншоты, сделанные шагами или хуками сценария:
Резюме
В этом блоге рассказывается, как настроить Jenkins для запуска Cucumber или CukeTest для автоматизации. После интеграции с процессом CI все заинтересованные стороны проекта могут прочитать отчет о тестировании Cucumber и понять статус качества. Jenkins также имеет множество других функций, таких как настройка работы по времени, отправка почты и другие функции, которые вы можете настроить в соответствии с потребностями проекта, чтобы дополнительно настроить уведомление об отчете, например, отправить отчет в формате html по электронной почте ключевым участникам.
Связанные чтения:
вот некоторые дополнительные сведения о создании теста Cucumber: