Похожие презентации:
Покрытие авто-тестами UI Playwright + TS + Allure
1. Покрытие авто-тестами UI Playwright + TS + Allure
Агошков АлексейСтарший инженер по тестированию
Подгруппа разработки заказов и потребности
1Р
Часто делаешь презентации? Скачай расширенный шаблон по ссылке
2.
01В каких случаях нужны UI
тесты и что использовать
для стека
3.
Покрыть авто-тестами критические пользовательские сценарииЗачем нам UI
е2е тесты?
Проверить работоспособность интеграций с соседними сервисами
Покрыть UI автотестами прогон смоука или регресса
Покрыть UI тестами тот функционал – который одним бэком проверять
нецелесообразно
4.
Почему OZON использует Playwright?Простая установка
Высокая скорость и производительность
Легкая интеграция с Allure
Поддержка ожидания элементов
Записывает трейсы и видео прохождения тест-кейса
Более мощные функции управления браузером и
выполнения задач автоматизации
4
5.
02Следите за стабильностью и
качеством тестов, а не за их
количеством
6.
ВАЖНОНе забывать про
параметризация тестов.
Выносить в Before all
предусловия для тестов
с похожей логикой или с
единым предусловием
Обращайте внимание на
асинхронные действия и
порядок запуска тестов
6
7.
Пример выноса общего предусловия для набора тестовСоздали setup с предусловием для теста
Создали setup с общей авторизацией
7
8.
Настройка setup в проектах с тестами8
9.
ВАЖНОВ тесте должно быть
минимум hardcodedданных
9
10.
Начнем с самого важного: Авторизация в тестах10
11.
Настройка VaultЗапросить доступы к
секретам
Установить Vault
Поверить, что
секреты видны
11
12.
Настройка конфигурации Vault12
13.
Пример реализованной авторизации13
14.
Хардкод и его исправлениеРассмотрим пример по проверке текста в поступающей нотификации:
Локатор нужно вынести в
конфигурационный файл с константами
Наименование статусов, текст нотификаций
и все остальные текстовые значения мы
также выносим в конфигурационный файл
14
15.
Хардкод и его исправлениеЛокаторы для тестов храним в конфигурационных файлов
ВАЖНО
Импортируем конфигурационного файла
В итоге, исправив все недочёты мы получаем:
15
16.
ВАЖНОСледить за
эффективностью
селекторов элементов
16
17.
Хардкод и его исправлениеРассмотрим примеры по поиску локаторов:
Xpath: //*[@data-qa='order_sku_id']
17
18.
Хардкод и его исправлениеРассмотрим примеры по поиску локаторов:
Xpath: //*[@data-qa='order_sku_id' and contains (.,'20069121')]
18
19.
Что же еще может помочь нам в поиске локаторов?Поиск элемента по части текста
Поиск элемента по части атрибута
Поиск элемента по нескольким частям разных атрибутов сразу
Поиск элемента по части атрибута и части текста сразу
Поиск элемента содержащего либо одно значение либо другое
19
20.
ВАЖНОСтруктурировать и
детализировать отчёт
в Allure
20
21.
Рассмотрим организацию и кастомизацию тестов в иерархическую структуру21
22.
2223.
03Результат покрытия е2е
тестами на нашем примере
24.
Чего мы достигли UI е2е тестами?Что сейчас
Было раньше
Покрытые авто-тестами сервисы
Флакающие тесты по
gdz-api-budgets
gdz-api-orders
gdz-api-orders
70%
gdz-api-orders-archive
Ручного тестирования
20%
Ручного тестирования
Проверка корректности интеграций с соседними сервисами
gdz-api-contractors
Было не до этого
В связи с вечной
оптимизацией тестов
eams-schedule-api
80%
30%
Нестабильные
Авто-тесты на Selenium
≈ 10 min
Время прохождения авто-тестов
230 sec
20
Количество тестов
199
≈ 1 день
Время прохождения Smoke
230 sec
Оптимизированные
Авто-тесты
на Playwright
24
Программное обеспечение