A library for integrating Jira Zephyr Scale (Adaptavist\TM4J) with pytest
Project description
pytest-zephyr-scale-integration
pytest-zephyr-scale-integration
— это библиотека для интеграции pytest
с Jira Zephyr (Adaptavist\TM4J).
Она позволяет автоматически создавать тестовые циклы в Zephyr, запускать тесты и обновлять их статусы в Jira.
Возможности
- Автоматическое создание тестовых циклов в Zephyr (с возможностью создания папки или добавления в существующую).
- Обновление статусов тестов в Jira Zephyr.
- Поддержка параметризованных тестов.
- Гибкая настройка через файл
.env
.
Установка
Установить библиотеку можно через pip
:
pip install pytest_zephyr_scale_integration
Запуск
- Создать файл
.env
и заполнить его полями
# Конфигурация JIRA
JIRA_PROJECT_ID=12345 # id проекта, можно узнать вызвав `GET /rest/tests/1.0/project`
JIRA_URL='https://your-jira-instance.atlassian.net'
FOLDER_NAME='Regress v1.0.0'
- Называть тесты нужно по имени ключа тест-кейса Jira Zephyr, например,
"test_T123"
. - При запуске автотестов через
pyest
нужно указать дополнительные параметры:
--zephyr
- необязательный. Вкл процесса интеграции. После прохождения автотестов будет автоматически создан тестовый цикл.
--jira_token
- токен ТУЗ'а, у которого настроена электронная почта. Обязательное поле, если--zephyr
.--zephyr_test_run_name
- необязательный. Наименования тестового цикла, по-умолчанию - "Test Run Cycle".
Например,
pytest --zephyr --zephyr_test_run_name="Regress v.1.1.0"
Логика создания тестового цикла
- Если FOLDER_NAME в
.env
пустой, то тестовый цикл с пройденными тестами будет создан в корневой папке. - Если FOLDER_NAME в
.env
заполнен, то:- Если указанная папка уже есть, то тестовый цикл создастся в ней.
- Если указанной папки нет, то она авматотически создастся в корне и ней будет находится созданный тестовый цикл.
Логика установки статусов тест-кейсам в Jira Zephyr
Всем тест-кейсам устанавливаются соответствующие pytest'у статусы в Jira Zephyr.
Если в Jira Zephyr написан параметризованный тест, то в тестовом
цикле он будет выглядеть как один тест с тестовыми скриптами в
колчичестве равном набору параметров в тест-кейсе. Каждый такой набор называется Test Script
.
При автоматизации такого тест-кейса нужно делать параметризацию и в коде. Наборы в pyest
должны идти
в том же порядке, что и в Zephyr, так как pyest
выполняет их по порядку.
В тестовом цикле результаты прохождения одного параметризованного теста отображаются в
шагах Test Script'а
, чтобы можно было явно определить какой из всех наборов оказался упавшим.
Логика установки статусов у шагов параметризованных тестов:
- Если набор пройден успешно, то все шаги
Test Script'а
- PASS - Если набор упал, то все шаги
Test Script'а
- FAIL.
Логики по сопоставлению действий в `pytest' и шагов в Zephyr нет.
Логика установки статусов и тест-кейсов:
- Если все наборы пройдены успешно, то тест-кейс - PASS
- Если хотя бы один набор упал, то тест-кейса отмечается как FAIL.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pytest_zephyr_scale_integration-0.1.25.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c037adb5352295dd6a58a15715a0cda39e6c1045bbf3ccbef5ac1084766eb0d2 |
|
MD5 | 2dc4922968bbd22cff28bbf25cd4fa81 |
|
BLAKE2b-256 | 866aa3482859787ed8f59eee8389d0b16ece027ca615ce6eadac1774a0ae0eb4 |
Hashes for pytest_zephyr_scale_integration-0.1.25-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdd4082e7a03122474b777b45a0671c54eaaa86b0725090bf37b2a24852cb55d |
|
MD5 | 5de57d2edc7c3b537118a3907d9588a9 |
|
BLAKE2b-256 | b238055bc0f4d058bd1b386ecb8eed50a8016bd6a7a9e0fc6da108fad5dbbae3 |