
Test IT поддерживает интеграцию с Azure DevOps. Для настройки используется все несколько строк кода и поддерживаются любые тестовые фреймворки и платформы.
Вы можете интегрировать как простые проекты (только с запуском тестов), так и сложные проекты (несколько отдельных проектов), которые запускаются в несколько независимых потоков.
Независимо от ваших требований процесс интеграции всегда будет одинаков:
- Запуск автоматизированных тестов в пайплайнах Azure DevOps.
- Генерация Junit XML отчета с результатами автоматизированных тестов.
- Загрузка результатов с помощью Test IT CLI
Не забывайте передавать приватный токен через переменную окружения
TMS_TOKEN
для корректной работы утилиты Test IT CLI. Как это сделать безопасно смотрите ниже.
Стандартный запуск
В данном разделе показано как запускать простые проекты в Azure DevOps. В качестве примера мы выбрали тестовый фреймворк Pytest для Python. Но данная инструкция будет актуальна для любых тестовых фреймворков и платформ.
Мы будем использовать утилиту Test IT CLI
для быстрой и простой интеграции с нашей системой управления тестированием. С помощью одной команды мы загрузим все результаты автоматизированных тестов.
Ниже представлен пример файла azure-pipelines.yml
, который отвечает за работу пайплайнов в Azure DevOps:
# azure-pipelines.yml
trigger:
- main
pool:
vmImage: ubuntu-latest
strategy:
matrix:
Python37:
python.version: '3.7'
steps:
# Install project dependencies
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
# Execute test and generate report
- script: |
pytest --junitxml=results/test-results.xml src/tests.py
displayName: 'Run tests'
# Install Test IT CLI and submit test results to TMS
- script: |
pip install testit-cli
testit \
--url <YOUR_INSTANCE_URL> \
--project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
--configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
--testrun-name "Azure DevOps test run" \
--results results/test-results.xml
displayName: 'Submit results'
condition: always()
Простым добавлением необходимых шагов вы можете запускать множество необходимых вам тестов и загружать их в Test IT. Больше информации вы можете найти в официальной документации.
Параллельный запуск
Мы так же полностью поддерживаем параллельный запуск автоматизированных тестов в Azure DevOps. Добавляются дополнительные независимые шаги для создания, завершения тестрана и запуска тестов.
Ниже представлен пример файла azure-pipelines.yml
, который отвечает за работу пайплайнов в Azure DevOps:
# azure-pipelines.yml
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- job: Create
steps:
# Install Test IT CLI, create testrun and save testrun id to variable
— script: |
pip install testit-cli
testit \
--mode create \
--url <YOUR_INSTANCE_URL> \
--project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
--testrun-name "Azure DevOps test run" \
--output output.txt
echo "##vso[task.setvariable variable=testRunId;isoutput=true]$(cat output.txt)"
name: 'create'
- job: ParallelTesting
dependsOn: Create
variables:
testRunId: $[ dependencies.Create.outputs['create.testRunId'] ]
strategy:
parallel: 2
steps:
# Install project dependencies
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
# Execute test and generate report
- script: |
pytest --junitxml=results/test-results.xml src/tests.py
displayName: 'Run tests'
# Install Test IT CLI and submit test results to TMS
- script: |
pip install testit-cli
testit \
--mode upload \
--url <YOUR_INSTANCE_URL> \
--testrun-id $(testRunId) \
--configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
--results results/test-results.xml
displayName: 'Submit results'
condition: always()
- job: Complete
condition: always()
dependsOn: [ParallelTesting, Create]
variables:
testRunId: $[ dependencies.Create.outputs['create.testRunId'] ]
steps:
# Install Test IT CLI and complete testrun
- script: |
pip install testit-cli
testit \
--mode finish \
--url <YOUR_INSTANCE_URL> \
--testrun-id $(testRunId)
displayName: 'Complete'
Безопасное хранение данных
Для работы утилиты Test IT CLI вам необходимо использовать приватный токен для авторизации. Хранение данного токена и другой чувствительной информации в коде строго не рекомендуется, так как доступ к этой информации будет иметь любой у кого есть доступ к коду.
Используйте секреты Azure DevOps для хранения чувствительной информации. Подробнее с секретами вы можете ознакомится в официальной документации.