Cеминар по E2E тестам
Убедитесь, что у вас установлены nvm и npm.
Рекомендую использовать Node.js версии 14 и выше
- форкаем и клонируем репозиторий
nvm use
, если нет нужной версии, устанавливаем:nvm install 14.17.4
, затем сноваnvm use
- устанавливаем зависимости
npm i
Также вам потребуется браузер Chrome на вашей локальной машине, желательно иметь хром версии 99 и выше.
Команда:
LOGIN=<your_test_email> PASSWORD=<your_password> npm run wdio
Чтобы запустить отдельный тест
LOGIN=<your_test_email> PASSWORD=<your_password> npm run wdio --spec ./test/specs/login.e2e.ts
ВАЖНО! Не храните логин и пароль в git, за это будет снят 1 балл
Для запуска аллюр-репортера выполните команду:
npm run report
-
Пишем тест на авторизацию (если у вас почтовый проект - используем готовый метод авторизации и пишем 3 других теста из чек-листа)
-
Пишем еще 2 теста из своего чек-листа. Эти тесты не должны повторять тесты товарищей по команде.
Итого должно быть 3 теста минимум
-
Если осталось время, пишем 4-й тест за 2 доп. балла.
-
Делаем скриншот пройденных тестов в allure, кладем в корень проекта, пушим в гит
-
Делаем PR и скидываем в табличку до 22:00
- Берем из таблички 2 пулл-реквеста на проверку
- Проверяем код не только на код-стайл, ошибки и опечатки, но и придерживаемся чек-листа:
- Никаких
browser.pause
, если нужно ждать элемент - использоватьwaitFor
; - Никаких циклов и условных операторов в коде самого теста, логику прячем в page;
- Селекторы должны быть максимально короткими;
- Названия методов должны быть краткими и понятными, чтобы тест читался легко, как дока;
- Логика работы с браузером должна быть в pages, ассерты - в самом тесте;
- Каждый тест в отдельном файле, чтобы у каждого теста был новый инстанс браузера
- Проверить и получить апрувы надо до 09.04.22 (суббота) 18:00
0. У меня падает тест на шаге...
Вставляем await browser.debug();
перед падающим шагом и дебажим приложение в браузере
1. А как мне сделать ... в тесте?
Шаг 1. Смотрим документацию по webdriverio.
Шаг 2. Если не помогло, задать вопрос
2. Где взять ящик/аккаунт для тестов?
Его надо самим зарегистрировать в вашем проекте заранее. Логин и пароль в тесты нужно передавать через переменные окружения LOGIN и PASSWORD, в коде не должен быть указан пароль.