Перейти до основного вмісту

Jenkins

WebdriverIO пропонує тісну інтеграцію з системами CI, такими як Jenkins. За допомогою репортера junit ви можете легко відлагоджувати ваші тести, а також відстежувати їх результати. Інтеграція досить проста.

  1. Встановіть тестовий репортер junit: $ npm install @wdio/junit-reporter --save-dev)
  2. Оновіть вашу конфігурацію, щоб зберігати результати XUnit у місці, де Jenkins зможе їх знайти, (та вкажіть репортер junit):
// wdio.conf.js
module.exports = {
// ...
reporters: [
'dot',
['junit', {
outputDir: './'
}]
],
// ...
}

Вибір фреймворка залежить від вас. Звіти будуть подібними. Для цього туторіалу ми використовуватимемо Jasmine.

Після того, як ви написали кілька тестів, ви можете налаштувати нову задачу в Jenkins. Дайте їй назву та опис:

Name And Description

Потім переконайтеся, що він завжди отримує найновішу версію вашого репозиторію:

Jenkins Git Setup

Тепер важлива частина: Створіть крок build для виконання команд оболонки. Крок build повинен будувати ваш проект. Оскільки цей демо-проект лише тестує зовнішній додаток, вам не потрібно нічого будувати. Просто встановіть залежності node і виконайте команду npm test (яка є псевдонімом для node_modules/.bin/wdio test/wdio.conf.js).

Якщо ви встановили плагін, такий як AnsiColor, але логи все ще не кольорові, запустіть тести з змінною середовища FORCE_COLOR=1 (наприклад, FORCE_COLOR=1 npm test).

Build Step

Після вашого тесту ви захочете, щоб Jenkins відстежував ваш звіт XUnit. Для цього потрібно додати дію після збірки під назвою "Publish JUnit test result report".

Ви також можете встановити зовнішній плагін XUnit для відстеження ваших звітів. JUnit поставляється з базовою інсталяцією Jenkins і наразі є достатнім.

Відповідно до конфігураційного файлу, звіти XUnit будуть збережені в кореневому каталозі проекту. Ці звіти є XML-файлами. Отже, все, що вам потрібно зробити для відстеження звітів, - це вказати Jenkins на всі XML-файли у вашому кореневому каталозі:

Post-build Action

Ось і все! Ви налаштували Jenkins для запуску ваших завдань WebdriverIO. Ваше завдання тепер надаватиме детальні результати тестів з історичними діаграмами, інформацією про стек викликів на невдалих завданнях та списком команд з корисним навантаженням, які були використані в кожному тесті.

Jenkins Final Integration

Welcome! How can I help?

WebdriverIO AI Copilot