Браузерные 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 тесты
Скрытый контент
Комментарии (13)
Руслан
2020-04-23 17:39

Спасибо, отличное видео!!

Ответить
Александр
2020-04-24 09:01

Спасибо. Все супер. Единственный момент для винды s WSL не работает команда docker-compose, ей нужно docker-compose.exe. Если кто-то знает как решить проблему, кроме как банальной замены, пожалуйста поделитесь.

Ответить
ХОРХОЙ
2020-04-29 11:30

попробуйте сделать ссылку ln -s "полный путь к docker-compose.exe" "полный путь к папке со ссылками типа /usr/bin"/docker-compose

Ответить
Arunas
2020-04-24 12:04

Спасибо.

Ответить
Bondarenko Alexandr
2020-04-25 07:53

Отличный урок! Спасибо!

Ответить
fedot
2020-04-26 12:40

Спасибо, Дмитрий, материал бесценен, а будет ли про хранение картинок аукциона где-нибудь в S3 ? Наверняка ведь есть какой-нибудь готовый докер образ под такую важную тему.

Ответить
Олег
2020-04-28 21:26

Ставите minio, добавляете пакеты thephpleague/flysystem + thephpleague/flysystem-aws-s3-v3 и вперёд.

Ответить
fedot
2020-04-28 21:31

Спасибо!

Ответить
Deworker Pro
2020-05-01 10:15

Да, хранилища будут. Для их эмуляции FTP или S3 хранилищ для локальной разработки как раз подключают образы вроде stilliard/pure-ftpd или minio.

Ответить
fedot
2020-05-01 13:24

Спасибо, отлично.

Ответить
Павел
2020-05-01 19:59

Спасибо, хороший урок! Есть вопрос, для e2e тестов используется ли практика приводить БД в первоначальный вид перед каждым сценарием? Чтобы один сценарий не мог повлиять на результаты другого. Безусловно, в этом случае у нас проявляются недостатки. Падает производительность, и мы не можем использовать параллелизм, по причине того, что каждый сценарий будет обнулять базу, которая в 1 экземпляре. И здесь нужно извращаться и каждый сценарий как-то обрабатывать отдельным изолированным экземпляром приложения. Или просто отказываемся от параллелизма, что совсем убьет скорость запуска таких тестов. Либо e2e нужно продумывать так, чтобы минимизировать сайд-эффекты?

Ответить
Deworker Pro
2020-05-13 09:07

Да, оптимальнее делать любые тесты не мешающими друг другу. Для E2E тестов это важнее, так как система может состоять из нескольких сервисов и сбрасывать БД каждого сервиса снаружи будет не очень удобно.

Ответить
Анатолий
2020-05-20 22:26

Тут как с ansible, очень поверхностно вышло. В целом понятно что и зачем делается, но не детально. По этим двум темам хотелось бы отдельные уроки.

Ответить
Зарегистрируйтесь или войдите чтобы оставить комментарий