Перейти к основному содержимому

Bamboo

WebdriverIO предлагает тесную интеграцию с CI-системами, такими как Bamboo. С помощью репортеров JUnit или Allure вы можете легко отлаживать свои тесты, а также отслеживать результаты тестирования. Интеграция довольно проста.

  1. Установите JUnit репортер: $ npm install @wdio/junit-reporter --save-dev)
  2. Обновите вашу конфигурацию, чтобы сохранять результаты 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

  1. Откройте ваш проект Bamboo

    Создайте новый план, привяжите свой репозиторий (убедитесь, что он всегда указывает на новейшую версию вашего репозитория) и создайте этапы

    Plan Details

    Я буду использовать этап и задачу по умолчанию. В вашем случае вы можете создать собственные этапы и задачи

    Default Stage

  2. Откройте вашу тестовую задачу и создайте задания для запуска тестов в Bamboo

    Задание 1: Выгрузка исходного кода

    Задание 2: Запустите ваши тесты npm i && npm run test. Вы можете использовать задание Script и Shell Interpreter для выполнения вышеуказанных команд (это сгенерирует результаты тестов и сохранит их в папке ./testresults/)

    Test Run

    Задание: 3 Добавьте задание jUnit Parser для анализа сохраненных результатов тестов. Укажите здесь директорию с результатами тестов (вы также можете использовать шаблоны в стиле Ant)

    jUnit Parser

    Примечание: Убедитесь, что вы размещаете задание анализа результатов в разделе Final, чтобы оно всегда выполнялось, даже если задание с тестами завершилось с ошибкой

    Задание: 4 (опционально) Чтобы ваши результаты тестов не смешивались со старыми файлами, вы можете создать задание для удаления папки ./testresults/ после успешного анализа в Bamboo. Вы можете добавить скрипт оболочки, например rm -f ./testresults/*.xml для удаления результатов или rm -r testresults для удаления всей папки

После завершения вышеописанной "ракетной науки", включите план и запустите его. Ваш конечный результат будет выглядеть так:

Успешный тест

Successful Test

Неудачный тест

Failed Test

Неудачный и исправленный

Failed and Fixed

Ура!! Вот и всё. Вы успешно интегрировали свои тесты WebdriverIO в Bamboo.

Welcome! How can I help?

WebdriverIO AI Copilot