commit_hash:e5a2e62dbc4976dad23a54fdc75394e70a901646
DivKit Regression Testing
Модуль ручного регрессионого тестирования DivKit. Содержит сценарии и сопутсвующие файлы версток для ручного прогона сценариев.
Прогон сценариев
Осуществляется в DivKit Playground:
- Запустить
DivKit Playground - Выбрать раздел Testing. Загрузится список сценариев
- При выборе каждого из сценариев загрузиться Div2View с заданными для сценария параметрами и описание сценария (шаги и ожидаемый результат). Перейти на следующий сценарий можно прямо с этого экрана по кнопкам в тулбаре.
Начиная с Android 5.0+ доступна возможность записи экрана во время работы над сценарием. Её можно отключить на главном экрана Testing, в случае возникновения проблем.
Добавление нового сценария
Для добавления нового сценария требуется:
- Добавить файл json-файл с версткой в
../../../test_data/regression_test_data. - Добавить сценарий в файл
../../../test_data/regression_test_data/index.json:- Задать заголовок в поле
title - Перечислить шаги сценария в поле
steps - Перечислить ожидаемые результаты в поле
expected_results - Опционально указать
tagsдля группировки и фильтрации сценариев - Опционально указать
priority, один изblocker,critical,normalиminor. По-умолчаниюnormal. - Задать
file- путь к ранее добавленному файлу верстки
- Задать заголовок в поле
- Проверить работу сценария. См. Прогон сценария
Development
Входной точкой в модуль является RegressionActivity.
Состояние ui RegressionActivity обновляются из RegressionViewModel#uiState.
RegressionViewModel#uiState представляет собой Kotlin Flow.
Сценарии загружаются из ScenariosRepository,
который создается на уровне DivKitApplication.
Данные сценариев отображаются в списке ScenarioListAdapter.
Данные каждого сценария отображаются в ScenarioActivity. За создание Div2View отвечает реализация в divkit-demo-app Div2ViewCreator