Skip to content

Allure TestOps Python

BohdanObruch edited this page Apr 23, 2024 · 8 revisions

Allure TestOps Python

Allure TestOps — это TMS(тест-менеджмент система) для автоматизированных тестов. Она позволяет хранить тест-кейсы, запускать тесты и смотреть результаты их выполнения. Allure TestOps позволяет интегрироваться с различными фреймворками, такими как JUnit, TestNG, PyTest и интегрироваться с CI/CD системами, такими как Jenkins, TeamCity и другими. А также взаимодействовать с различными системами управления задачами, такими как Jira, Trello и другими.

Репозиторий с примером проекта можно найти тут.

Интеграция Jenkins и Allure TestOps

Пример реализации самой простой "джобы" в jenkins с Allure TestOps:

  1. Параметризованная сборка с параметрами ENDPOINT и BROWSER, и значением по умолчанию https://testing.github.com и firefox

  1. Отметка в чек боксе Restrict where this project can be run и указание значения python позволяет запускать тесты только там, где установлен Python(данная настройка нужна, только если у вас есть отдельные ноды(агенты) на разных языках программирования и вы хотите запускать тесты на ноде с Python).

  1. В блоке Source Code Management выбрать Git, указываем URL репозитория и ветку.

  1. В блоке Build Environment выбрать Delete workspace before build starts (параметры очистки рабочего пространства). Это необходимо для того, чтобы перед каждым запуском тестов удалять старые файлы и не допускать их влияния на результаты тестирования.

  1. В блоке Build Steps указана команда запуска сборки тестов. Важно отметить, что в примере указано || true, это нужно для того, чтобы джоба не падала при возникновении ошибок в тестах.

  1. В блоке Post-build Actions указываем в разделе Allure Report путь до папки, по умолчанию allure-results.

Авторизация в Allure TestOps

Для авторизации в Allure TestOps необходимо ввести логин и пароль которые представлены в уроке. Регистрироваться самому НЕ НУЖНО.

Добавляем Allure TestOps в jenkins джобу

  1. Если не нужно отображение результатов прогона в Allure Results, то указываем отметку в чек боксе Disabled в разделе Allure Report.

  1. В блоке Build Environment указываем отметку в чек боксе Allure: upload results

  1. В отобразившимся блоке Allure TestOps необходимо указать данные, а именно:

    • В строке Server в выпадающем списке выбираем allure-server
    • В строке Project в выпадающем списке выбираем название проекта, который был создан ранее, и к которому можно подключиться через Allure TestOps(отображение проекта в данном выпадающем списке описано ниже в разделе Добавляем отображение проекта Allure TestOps в jenkins джобе)
    • В строке Launch Name оставляем значение по умолчанию ${JOB_NAME} - #${BUILD_NUMBER}
    • В строке Launch tags можно указать теги для прогона (это не обязательно)
    • В блоке Results кликаем на кнопку Add results и на таб Results. В отобразившемся блоке в строке Path указываем путь до папки с результатами тестов, по умолчанию allure-results.
  2. Сохраняем изменения(кнопка Save).

Добавляем отображение проекта Allure TestOps в jenkins джобе

  1. Создаем проект в Allure TestOps. Для этого переходим в Allure TestOps и авторизируемся
  2. На главной странице с Projects нажимаем на кнопку Create new project

  1. В отобразившимся попапе заполняем данные:
    • В поле Name указываем название проекта
    • В поле Description указываем описание проекта (не обязательно)
    • Указываем отметку в чек боксе Public если хотим чтобы проект был доступен всем пользователям
    • Нажимаем на кнопку Submit

  1. В созданном проекте нажимаем на иконку шестеренки для перехода в настройки проекта.

  1. В настройках переходим на таб Access

  • В блоке Outside Collaborators необходимо кликнуть на иконку +

  • В отобразившемся попапе Add collaborator в выпадающем списке Select a collaborator to grant permissions to необходимо выбрать jenkins_agent_service_acc. А в выпадающем списке Permission Set выбрать Project Write.

  • Нажимаем на кнопку Submit

Конечный результат должен выглядеть так:

Как подключить интеграцию и запуск джобы в Jenkins через Allure TestOps

  1. Для того чтобы джобу можно было запускать через Allure TestOps, необходимо в настройках проекта добавить интеграцию с Jenkins.
    • Переходим в настройки проекта на таб Integrations.
    • На странице Integrations в строке с названием Jenkins нажимаем на кнопку Add integration.

  • В отобразившемся попапе Add Jenkins integration to project заполняем данные:
    • В строке Username указываем юзернейм пользователя Jenkins
    • В строке API token указываем токен к аккаунту Jenkins
    • Нажимаем на кнопку Test connection и проверяем что все данные введены верно. Если всё верно указано, то отобразиться сообщение Connection established
    • Нажимаем на кнопку Add integration

После добавления интеграции с Jenkins, в блоке Added integrations отобразиться информация о добавленной интеграции.

  1. После запуска джобы из Jenkins, джоба отобразиться в allure testops. Если необходимо настроить джобу, то нужно перейти в боковом меню на вкладку Jobs. Если в джобе есть параметризация и дефолтное значение для параметров не отображено в Allure TestOps, то необходимо в строке с джобой нажать на иконку со стрелками Update job и после обновления все параметры и их значения будут отображены.

  1. Если необходимо вручную добавить джобу в Allure TestOps, то необходимо перейти в боковом меню на вкладку Jobs и нажать на кнопку New job.

В отобразившемся попапе Create job заполняем данные:

  • Кликнув на строку Build server выбираем из выпадающего списка адрес школьного сервера.
  • Далее отображается дополнительное поле Job, и чек бокс Can run tests. Если необходимо запускать джобу через Allure TestOps, то необходимо отметить чек бокс Can run tests.
  • В строке Job кликаем на поле и из выпадающего списка ищем нужную джобу (данные в списке можно отфильтровать указав название джобы в строке поиска).
  • После добавления джобы отображается кнопка Add parameter, по клику на которую можно добавить параметры для джобы.
  • Нажимаем на кнопку Submit

После сохранения, джоба отобразится в списке джоб в Allure TestOps в блоке Jobs.

Как узнать свой Username в Jenkins

Для того чтобы узнать свой Username необходимо перейти в Jenkins.

  • Для отображения Username необходимо кликнуть в верхнем правом углу на свой профиль.
  • На вкладке Status можно увидеть User ID, это и есть ваш Username.

Как создать API token в Jenkins

Для того чтобы создать свой API token необходимо перейти в Jenkins.

  • В боковом меню выбираем Configure
  • В блоке API Token нажимаем на кнопку Add new Token

  • После, отобразиться поле ввода для ввода названия токена(имя может быть любым) и кнопка Generate. Вводим название токена и нажимаем на кнопку Generate.

  • Далее отобразиться токен, который необходимо скопировать и вставить в поле API token в Allure TestOps.

Как подключить интеграцию с Jira

  1. Для того чтобы добавить интеграцию с Jira, необходимо:
    • Переходим в настройки проекта на таб Integrations.
    • На странице Integrations в строке с названием школьной Jira нажимаем на кнопку Add integration.

  • В отобразившемся попапе Add jira integration to project заполняем данные:
    • В строке Username указываем юзернейм пользователя Jira (данные отображены в уроке)
    • В строке Password указываем пароль к аккаунту Jira (данные отображены в уроке)
    • Нажимаем на кнопку Test connection и проверяем что все данные введены верно. Если всё верно указано, то отобразиться сообщение Connection established
    • Нажимаем на кнопку Add integration

После добавления интеграции с Jira, в блоке Added integrations отобразиться информация о добавленной интеграции.

Живая документация

Allure TestOps позволяет собирать в одном месте тест-кейсы, к которым могут иметь доступ все члены команды. Это позволяет экономить время и не отвлекаться от разработки тестов, так как каждый может посмотреть покрытие и сценарий каждого теста.

Интерфейс «живой документации»:

Автоматизация

Обычно тестирование начинается с ручных тестировщиков, которые погружаются в архитектуру, изучают её и пишут тест-кейсы. После этого приходят автоматизаторы, которые по готовым сценариям пишут автоматические тесты. Allure TestOps позволяет автоматически переносить сценарии тестирования в код и после этого их можно дополнять кодом.

Запуск тестов

Allure TestOps позволяет из интерфейса запускать автоматические тесты и смотреть результат их выполнения. При этом можно выбирать какие именно тесты запускать. Также к системе имеют доступ все члены команды, которые для своих нужд могут пользоваться тестами.

Разбор отчётов

Часто бывает такое, что после релиза автотестов, некоторые из них могут содержать ошибки. Члены команды, которые запускают их, будут видеть эти ошибки до тех пор, пока их не исправят. В Allure TestOps позволяет отслеживать дефекты и добавлять к ним комментарии. После этого все будут видеть понятное сообщение об ошибке, а не данные из консоли.

Содержание
Командная строка
Кодировка UTF-8 в Java
Список полезных книг для автоматизаторов тестирования на языке Java
Список полезных книг для автоматизаторов тестирования на языке Python Структура проекта Github README.md

Java:
1. Вводное занятие. Сразу к практике.
2. Git. GitHub. Погружаемся.
3. Погружаемся в инструментарий и библиотеки
4. Основы Java
5. Продолжаем разрабатывать автотесты. PageObjects
6. JUnit 5
7. Allure Reports
8. Работа с файлами
9. Selenide #1
10. Jenkins. Создаем первую задачу
11. Управляем параметрами в коде и в Jenkins
12. Отправляем уведомления о результатах прохождения автотестов
13. Учимся быстро разрабатывать проекты для тестовых заданий
14. Selenoid
15. Библиотека Owner
16. REST API. Пишем автотесты с Rest assured
17. REST API. Декомпозируем UI тесты. Подключаем отчетность
18. REST API. Продолжаем изучать
19. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
20. Allure TestOps
21. Переезд на собственную инфраструктуру Java

Python:
1. Вводное занятие. Сразу к практике!
2. Погружаемся в инструментарий и библиотеки
3. Git. GitHub. Погружаемся.
4. Основы Python
5. Selene #1
6. Основы Python. Часть II
7. Основы Python. Часть III
8. Page Object
9. Allure Reports
10. Работаем с файлами Python
11. Jenkins. Создаем первую задачу и управляем параметрами Python
12. Телеграм бот. Отправляем уведомления о результатах прохождения тестов
13. Pytest
14. Selenoid
15. Pytest. Часть II
16. Venv, Poetry и управление зависимостями проекта
17. REST API. Часть I. Пишем автотесты с Requests
18. REST API. Часть II. Продолжаем изучать
19. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
20. Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android устройства
21. Allure TestOps
22. Переезд на собственную инфраструктуру Python

Clone this wiki locally