DivKit Regression Testing
Модуль ручного регрессионого тестирования DivKit. Содержит сценарии и сопутсвующие файлы версток для ручного прогона сценариев.
Прогон сценариев
Осуществляется в divkit-demo-app:
- Запустить
divkit-demo-app - Выбрать раздел Regression. Загрузится список сценариев
- При выборе каждого из сценариев загрузиться Div2View с заданными для сценария параметрами и описание сценария (шаги и ожидаемый результат). Перейти на следующий сценарий можно прямо с этого экрана по кнопкам в тулбаре.
Начиная с Android 5.0+ доступна возможность записи экрана во время работы над сценарием. Её можно отключить на главном экрана Regression, в случае возникновения проблем.
Добавление нового сценария
Для добавления нового сценария требуется:
- Добавить файл
*.jsonс версткойDiv2вassets/scenarios, которая будет отражать будущий сценарий - Добавить сценарий в файл
assets/scenarios.yaml:- Задать заголовок в поле
title - Перечислить шаги сценария в поле
steps - Перечислить ожидаемые результаты в поле
expect - Опционально указать
tagsдля группировки и фильтрации сценариев - Опционально указать
priority, один изblocker,critical,normalиminor. По-умолчаниюnormal. - Задать
pathк ранее добавленному файлу верстки
- Задать заголовок в поле
- Проверить работу сценария. См. Прогон сценария
Development
Входной точкой в модуль является RegressionActivity.
Состояние ui RegressionActivity обновляются из RegressionViewModel#uiState.
RegressionViewModel#uiState представляет собой Kotlin Flow.
Сценарии загружаются из ScenariosRepository,
который создается на уровне DivKitApplication.
Данные сценариев отображаются в списке ScenarioListAdapter.
Данные каждого сценария отображаются в ScenarioActivity. За создание Div2View отвечает реализация в divkit-demo-app Div2ViewCreator
Генерация сценариев
Генерация сценариев анимаций
$ ./path/to/div/divkit-regression-testing/scripts/generate_animation_scenarios.py
Скопировать вывод paths в assets/scenarios.yaml.