-
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
- Realtime reporting(Отчеты в режиме реального времени)
- Testcases(Тест-кейсы)
- Live documentation(Живая документация)
- Фильтрация тест кейсов
- Как добавить отображение параметров запуска в Allure TestOps
- Ручные тест кейсы
- Как перенести ручной тест в код и работа с плагином Allure TestOps Support
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(общий результат прогона(он отображается если запустить прогон тестов в Jenkins)):

Пример отображения результатов тестов в Allure TestOps(подробное отображение по каждому тесту(шаги, скриншоты, логи, время выполнения и т.д.)):

Нажать, чтобы раскрыть
Для того чтобы получить/сгенерировать тест-кейсы в Allure TestOps из прогонов тестов, то необходимо закрыть Launch.

После этого необходимо перейти в боковом меню на вкладку Test cases. В данном разделе можно создавать тест-кейсы, редактировать их, удалять и просматривать.

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

После этого отобразиться панель фильтрации, в которой можно выбрать нужные фильтры для отображения тест кейсов.
Пример фильтрации по тегам:

Нажать, чтобы раскрыть
Для добавления параметров запуска в Allure TestOps необходимо перейти в настройки проекта Settings и перейти на таб Environment .
Далее на странице Environment schemas settings кликнуть на кнопку Create.

В отобразившихся полях необходимо заполнить данные для добавления эндпоинта(где тестируется приложение(ссылка на сайт)):
- В строке
Mapping Keyуказываем название переменной параметра, к примеруENDPOINTилиURL(данные переменные должны совпадать с переменными в Jenkins) - В выпадающем списке
Environment variableвыбираем значение для переменной, к примеруHOST. - Кликаем на кнопку
Submit

Для добавления других параметров запуска необходимо повторить действия для каждого параметра.
К примеру для добавления параметра BROWSER:
- В строке
Mapping Keyуказываем название переменной параметра, к примеруBROWSER. - В выпадающем списке
Environment variableвыбираем значение для переменной, к примеруBrowser. - Кликаем на кнопку
Submit
Пример добавления отображения параметров запуска в Allure TestOps:

Если необходимо добавить другие параметры, к примеру Custom Fields, Test Layers или Tree, то необходимо повторить подобные действия как описаны ранее для добавления параметров.
К примеру в блоке Test Layers можно добавить разметку для указания какие тесты относятся к какому слою тестирования(например UI, API, Integration и т.д.).
Нажать, чтобы раскрыть
Для добавления/создания ручных тест кейсов необходимо в боковом меню перейти на вкладку Test cases. И в строке с подсказкой для ввода(плейсхолдер) Add a new test case ввести название тест кейса и нажать на кнопку Enter.

Добавленный ручной тест кейс отобразится в списке тест кейсов с иконкой руки, при наведении на которую отображается текст manual.
Автоматизированные тест кейсы отображаются с иконкой в виде робота, при наведении на которую отображается текст automated.

Для редактирования ручного тест кейса необходимо кликнуть на тест кейс и в правой части отобразиться панель редактирования тест кейса.
Если необходимо добавить шаги, то необходимо в строке Scenario кликнуть на кнопку карандаша и в отобразившемся поле ввести шаги тест кейса.

Если необходимо сделать шаг в шаге, то необходимо в строке с шагом нажать на иконку три точки и выбрать Indent.

После добавления шагов необходимо нажать на кнопку Submit.
Нажать, чтобы раскрыть
После создания ручного тест кейса, можно перенести его в код. Для этого необходимо для начала установить плагин Allure TestOps Support.

Далее необходимо перейти в настройки(Settings) Pycharm в раздел Tools и кликнуть на Allure TestOps Support.
В отобразившемся окне в блоке Connection в строке Endpoint указать адрес сервера Allure TestOps(урл адрес школьного сервера), а в строке Token указать токен к аккаунту Allure TestOps.

Для создания токена для плагина Allure TestOps Support необходимо перейти в Allure TestOps и авторизоваться.
- В нижней части страницы кликнуть на иконку пользователя и в выпадающем списке выбрать
Your profile.

- На открывшейся странице в блоке
API tokens!проскролить до кнопкиCreateи кликнуть на неё.

- В отобразившемся попапе в строке
Nameуказать название токена(название может быть любым). После этого кликнуть на кнопкуSubmit.

- После создания токена, необходимо скопировать его и вставить в поле
Tokenв Pycharm.

✔️ Сайт
✔️ Чат в 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