Запуск Cucumber Script с Дженкинсом

В этом посте я покажу вам, как настроить Jenkins для запуска сценария автоматического тестирования Cucumber и отображения отчета в пользовательском интерфейсе Jenkins.

Содержание

  • Режим командной строки Cucumber
  • Режим командной строки CukeTest
  • Конфигурация непрерывной интеграции Jenkins
  • Плагин отчета о тестировании Jenkins конфигурации
  • Резюме

Скрипты автоматизации, созданные с помощью среды Cucumber, имеют то преимущество, что они просты для понимания, просты в общении и удобны в сопровождении, поэтому они популярны среди команд автоматизации тестирования.

DevOps широко используется инженерными командами, интеграция автоматизированного тестирования в процесс непрерывной интеграции (CI) является важной частью внедрения DevOps. После интеграции автоматическое тестирование запускается автоматически и генерирует отчеты о выполнении, которые могут информировать всю команду о работоспособном состоянии проекта. Ниже приведен отчет о проекте Cucumber, показанный на Jenkins:

картинка1.jpg

Как мы знаем, любой инструмент для интеграции с 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, когда ваш проект открыт, вы можете открыть профиль запуска, чтобы получить командную строку, щелкнув стрелку раскрывающегося списка рядом с кнопкой «Выполнить проект», а затем нажав «Редактировать профили…».

картинка2.png

В диалоговом окне «Профили запуска» соответствующая командная строка автоматически генерируется в строке командной строки для этого профиля:

картинка3.png

Нажмите кнопку «Копировать в буфер обмена», чтобы скопировать команды в буфер обмена, нажмите кнопку «Открыть окно консоли» и вставьте командную строку во вновь открытое окно.

Вот командные строки на разных платформах:

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 для настройки задания.

Вот шаги для настройки задания:

  1. Создайте новую работу в задаче Дженкинса:

    картинка4.png

  2. Выберите «Пакетная команда Windows» на панели элементов.

    Скопируйте и вставьте соответствующую командную строку из CukeTest в поле пакетной команды Jenkins. Например, я изначально установил настольную версию CukeTest. Вот моя командная строка:

    npm install
    chcp 65001 && cuke --run --format html
    

    Первая команда устанавливает пакеты зависимостей npm, которые используются сценарием автоматизации. Например, для веб-проекта это может быть selenium-webdriver, chromedriver и т. д.

    На следующем рисунке показан пользовательский интерфейс конфигурации задания с введенными командами:

    картинка5.png

  3. Сохраните конфигурацию проекта. Нажмите [Build Now] и проект начнет выполняться.

Вы можете увидеть ход выполнения задания в истории сборки:

картинка6.png

Вы также можете найти текущий журнал задания в [Build History]. В то же время файл отчета также создается в каталоге Jenkins Workspace. Наш следующий шаг — настроить задание Jenkins для отображения отчета о тестировании в интерфейсе Jenkins, короче говоря, мы будем использовать плагин Jenkins для форматирования и отображения отчета о тестировании.

Настройте Jenkins для отображения отчета о тестировании.

CukeTest использует Cucumber.js, поэтому будет генерировать тот же формат отчетов json, что и Cucumber. В Jenkins мы можем использовать плагин отчетов Cucumber для Jenkins, чтобы показать отчет для них обоих.
Введение плагина:

Ниже приведены шаги:

  1. Установите плагин отчетов Jenkins
    Открытый Дженкинс [System Management] — [Manage Plugin]и отфильтруйте «Отчеты о огурцах» в [Optional Plugin].

картинка7.png

Перезапустите Jenkins после установки этого плагина.

  1. Перенастройте задачу Дженкинса

    Плагин отчетов Cucumber генерирует отчеты, анализируя файл отчета json, созданный Cucumber или CukeTest. Поэтому нам нужно сначала настроить запуск проекта, чтобы сгенерировать файлы данных журнала json.

    Выберите «json» в формате отчета в файле конфигурации запуска.

    картинка8.png

    Вывод выполнения командной строки изменен на json:

    chcp 65001 && cuke --run --format json
    
  2. Отображать [Cucumber reports]

    в [Add post-build operation steps] выберите [Cucumber reports] вариант.

    картинка9.png

    Откройте параметр «Дополнительно…» отчетов о огурцах. Введите «отчеты» в «Путь к отчетам Json»:

    картинка10.png

    Нажмите «Сохранить», чтобы завершить настройку проекта.

  3. Создать тестовый отчет

    Нажмите «Создать сейчас», и отчет о тестировании, показанный в начале этой статьи, будет создан автоматически после завершения выполнения задания. Кроме того, в отчете о тестировании содержится ссылка на каждый сценарий, а при нажатии на него отображаются подробные сведения о сценариях.

    картинка11.png

    Отчет может не только отображать результат выполнения каждого шага, но также показывать скриншоты, сделанные шагами или хуками сценария:

    картинка12.jpg

Резюме

В этом блоге рассказывается, как настроить Jenkins для запуска Cucumber или CukeTest для автоматизации. После интеграции с процессом CI все заинтересованные стороны проекта могут прочитать отчет о тестировании Cucumber и понять статус качества. Jenkins также имеет множество других функций, таких как настройка работы по времени, отправка почты и другие функции, которые вы можете настроить в соответствии с потребностями проекта, чтобы дополнительно настроить уведомление об отчете, например, отправить отчет в формате html по электронной почте ключевым участникам.

Связанные чтения:
вот некоторые дополнительные сведения о создании теста Cucumber:

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *