-
Notifications
You must be signed in to change notification settings - Fork 98
Allure TestOps Python
-
Allure TestOps Python
- Интеграция Jenkins и Allure TestOps
- Авторизация в Allure TestOps
- Добавляем Allure TestOps в jenkins джобу
- Добавляем отображение проекта Allure TestOps в jenkins джобе
- Как подключить интеграцию и запуск джобы в Jenkins через Allure TestOps
- Как подключить интеграцию с Jira
- Живая документация
- Автоматизация
- Запуск тестов
- Разбор отчётов
Allure TestOps — это TMS(тест-менеджмент система) для автоматизированных тестов. Она позволяет хранить тест-кейсы, запускать тесты и смотреть результаты их выполнения. Allure TestOps позволяет интегрироваться с различными фреймворками, такими как JUnit, TestNG, PyTest и интегрироваться с CI/CD системами, такими как Jenkins, TeamCity и другими. А также взаимодействовать с различными системами управления задачами, такими как Jira, Trello и другими.
Репозиторий с примером проекта можно найти тут.
Пример реализации самой простой "джобы" в jenkins с Allure TestOps:
- Параметризованная сборка с параметрами
ENDPOINTиBROWSER, и значением по умолчаниюhttps://testing.github.comиfirefox


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

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

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

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

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

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

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

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

-
В отобразившимся блоке
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.
- В строке
-
Сохраняем изменения(кнопка
Save).

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

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

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

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

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

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

- Нажимаем на кнопку
Submit
Конечный результат должен выглядеть так:

- Для того чтобы джобу можно было запускать через 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 отобразиться информация о добавленной интеграции.

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

- Если необходимо вручную добавить джобу в 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необходимо кликнуть в верхнем правом углу на свой профиль. - На вкладке
Statusможно увидетьUser ID, это и есть вашUsername.

Для того чтобы создать свой API token необходимо перейти в Jenkins.
- В боковом меню выбираем
Configure - В блоке
API Tokenнажимаем на кнопкуAdd new Token

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

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

- Для того чтобы добавить интеграцию с 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 позволяет отслеживать дефекты и добавлять к ним комментарии. После этого все будут видеть понятное сообщение об ошибке, а не данные из консоли.
✔️ Сайт
✔️ Чат в Telegram
✔️ Канал в Telegarm
Содержание
Командная строка
Кодировка 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