Браузерные E2E-тесты в Docker
Написание E2E-тестов для проверки работы проекта из фронтенда и API. Тестирование интерфейса ReactJS-приложения в браузере в Docker-контейнере.
- 00:00:52 - Типы тестов
- 00:08:34 - Расположение E2E тестов
- 00:10:08 - Behavior Driven Development
- 00:12:14 - Gherkin Syntax
- 00:19:38 - Выбор E2E фреймворка
- 00:22:50 - Установка CucumberJS
- 00:25:53 - Написание тестового сценария
- 00:30:55 - Проверка стиля для тестового кода
- 00:32:25 - Браузерный эмулятор Puppeteer
- 00:34:43 - Установка браузера в Docker
- 00:39:31 - Объект тестового мира World
- 00:43:16 - Запуск тестового браузера
- 00:46:01 - Открытие целевых страниц
- 00:47:39 - Подключение пакета expect chai
- 00:48:39 - Проверка элементов по селекторам
- 00:50:10 - Использование data-атрибутов для селекторов
- 00:53:33 - Повторное использование step-ов
- 00:54:48 - Параметризованные шаги
- 00:56:52 - Генерация скриншотов при ошибках
- 01:00:40 - Сохранение отчётов тестирования
- 01:05:08 - HTML-отчёты с cucumber-html-reporter
- 01:10:32 - Параллельный запуск
- 01:12:08 - Таймауты и повторы
- 01:13:54 - Дымовые Smoke тесты
Скрытый контент
Чтобы не пропускать новые эпизоды подпишитесь на наш канал @deworkerpro в Telegram

Спасибо, отличное видео!!
Спасибо. Все супер. Единственный момент для винды s WSL не работает команда docker-compose, ей нужно docker-compose.exe. Если кто-то знает как решить проблему, кроме как банальной замены, пожалуйста поделитесь.
попробуйте сделать ссылку ln -s "полный путь к docker-compose.exe" "полный путь к папке со ссылками типа /usr/bin"/docker-compose
Спасибо.
Отличный урок! Спасибо!
Спасибо, Дмитрий, материал бесценен, а будет ли про хранение картинок аукциона где-нибудь в S3 ? Наверняка ведь есть какой-нибудь готовый докер образ под такую важную тему.
Ставите minio, добавляете пакеты thephpleague/flysystem + thephpleague/flysystem-aws-s3-v3 и вперёд.
Спасибо!
Да, хранилища будут. Для их эмуляции FTP или S3 хранилищ для локальной разработки как раз подключают образы вроде
stilliard/pure-ftpd
илиminio
.Спасибо, отлично.
Спасибо, хороший урок! Есть вопрос, для e2e тестов используется ли практика приводить БД в первоначальный вид перед каждым сценарием? Чтобы один сценарий не мог повлиять на результаты другого. Безусловно, в этом случае у нас проявляются недостатки. Падает производительность, и мы не можем использовать параллелизм, по причине того, что каждый сценарий будет обнулять базу, которая в 1 экземпляре. И здесь нужно извращаться и каждый сценарий как-то обрабатывать отдельным изолированным экземпляром приложения. Или просто отказываемся от параллелизма, что совсем убьет скорость запуска таких тестов. Либо e2e нужно продумывать так, чтобы минимизировать сайд-эффекты?
Да, оптимальнее делать любые тесты не мешающими друг другу. Для E2E тестов это важнее, так как система может состоять из нескольких сервисов и сбрасывать БД каждого сервиса снаружи будет не очень удобно.
Тут как с ansible, очень поверхностно вышло. В целом понятно что и зачем делается, но не детально. По этим двум темам хотелось бы отдельные уроки.
Или войти через: