Bamboo
WebdriverIO пропонує тісну інтеграцію з системами CI, такими як Bamboo. За допомогою репортерів JUnit або Allure ви можете легко налагоджувати свої тести, а також відстежувати результати тестів. Інтеграція досить проста.
- Встановіть репортер тестів JUnit:
$ npm install @wdio/junit-reporter --save-dev
) - Оновіть свою конфігурацію, щоб зберігати результати JUnit там, де Bamboo зможе їх знайти (і вкажіть репортер
junit
):
// wdio.conf.js
module.exports = {
// ...
reporters: [
'dot',
['junit', {
outputDir: './testresults/'
}]
],
// ...
}
Примітка: Це завжди хороший стандарт зберігати результати тестів в окремій папці, а не в кореневій папці.
// wdio.conf.js - Для тестів, що виконуються паралельно
module.exports = {
// ...
reporters: [
'dot',
['junit', {
outputDir: './testresults/',
outputFileFormat: function (options) {
return `results-${options.cid}.xml`;
}
}]
],
// ...
}
Звіти будуть подібними для всіх фреймворків, і ви можете використовувати будь-який: Mocha, Jasmine або Cucumber.
На цей момент ми вважаємо, що у вас вже написані тести, результати генеруються в папці ./testresults/
, і ваш Bamboo запущений і працює.
Інтеграція ваших тестів у Bamboo
-
Відкрийте ваш проект Bamboo
Створіть новий план, прив'яжіть ваш репозиторій (переконайтеся, що він завжди вказує на найновішу версію вашого репозиторію) і створіть ваші етапи
Я буду використовувати етап і завдання за замовчуванням. У вашому випадку ви можете створити власні етапи та завдання
-
Відкрийте ваше тестове завдання і створіть задачі для запуску ваших тестів в Bamboo
Задача 1: Отримання вихідного коду
Задача 2: Запустіть ваші тести
npm i && npm run test
. Ви можете використовувати задачу Script і Shell Interpreter для виконання вищезазначених команд (це згенерує результати тестів і збереже їх у папці./testresults/
)Задача: 3 Додайте задачу jUnit Parser для аналізу збережених результатів тестів. Будь ласка, вкажіть тут каталог результатів тестів (ви також можете використовувати шаблони у стилі Ant)
Примітка: Переконайтеся, що ви тримаєте задачу аналізу результатів у розділі Final, щоб вона завжди виконувалася, навіть якщо ваша тестова задача не виконана
Задача: 4 (необов'язково) Щоб переконатися, що ваші результати тестів не змішуються зі старими файлами, ви можете створити задачу для видалення папки
./testresults/
після успішного аналізу в Bamboo. Ви можете додати скрипт оболонки, наприкладrm -f ./testresults/*.xml
для видалення результатів абоrm -r testresults
для видалення всієї папки
Після завершення вищевказаної ракетної науки, увімкніть план і запустіть його. Ваш кінцевий результат буде таким:
Успішний тест
Невдалий тест
Невдалий та виправлений
Ура!! Це все. Ви успішно інтегрували свої тести WebdriverIO в Bamboo.