Skip to content

Latest commit

 

History

History
101 lines (63 loc) · 5.61 KB

File metadata and controls

101 lines (63 loc) · 5.61 KB

Домашнее задание к занятию «7.3. Jest и Playwright»

Любые вопросы по решению задач задавайте в чате учебной группы.

Не забывайте про важные моменты, без которых работы не будут приниматься на проверку:

  • корректное оформление репозиториев;
  • использование .gitignore;
  • форматирование кода.

Задача 1. Jest. Unit-тесты и отчёты

  1. Сделайте форк проекта с лекции.
  2. Добавьте отчёты о покрытии.

Ваши отчёты должны создаваться во время прогона тестов с помощью скрипта. Его нужно добавить в блок со скриптами в файле package.json.

Скрипт для запуска оценки покрытия должен запускать команду "jest --collectCoverage". Создайте нужный скрипт по аналогии с существующим скриптом "test".

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

В нашем случае мы хотим:

  • проверять покрытие кода во всех файлах с расширениями .js и .jsx;
  • исключать из проверки директорию "/node_modules/";
  • исключать из проверки директорию "/coverage/", в которой будут создаваться отчёты.

Документация, которая вам поможет, есть по ссылке.

  1. Добавьте желаемые параметры покрытия:
"coverageThreshold": {
        "branches": 100,
        "functions": 100,
        "lines": 100
  }
  1. Запустите тесты с проверкой покрытия при помощи нового скрипта:
Подсказка.

Примерно так должны выглядеть скрипт и команда для его запуска:

"coverage": "jest --collectCoverage"

npm run coverage

  1. Допишите недостающие тесты для покрытия 100% по всем параметрам. Рекомендуем использовать отчёт из папки /coverage и дебагер, чтобы понять, какой код недостаточно покрыт тестами.

  2. Запушьте репозиторий и сдайте ссылку на проверку.

Задача 2. UI-тест на Playwright

Нужно протестировать авторизацию на сайте netology.ru.

  1. Подготовьте тестовые данные:
  • создайте файл user.js и положите в него свой email и password как константы;
  • добавьте файл user.js в .gitignore. Важно. Проследите, чтобы email и password не попали в ваш репозиторий, иначе ваш проект не пройдёт аудит безопасности, а злоумышленники получат ваши данные.
  1. Создайте тест 1 «Успешная авторизация»:
  • откройте форму авторизации;
  • добавьте ваш email в поле для ввода email;
  • добавьте ваш пароль в поле для ввода пароля;
  • нажмите на кнопку Войти.
  1. Проверьте ожидаемый результат:
  • проверьте, что открылась страница профиля;
  • удостоверьтесь, что страница профиля открыта, например, проверив элемент h2 и текст заголовка.
  1. Создайте тест 2 «Неуспешная авторизация»:
  • повторите тест 1, используя невалидные данные для авторизации.
  1. Проверьте результат:
  • проверьте текст об ошибке в появившемся блоке.
  1. Запушьте репозиторий с тестами на GitHub.

  2. Отправьте ссылку на репозиторий на проверку.

Задача 3* (необязательная). Скриншоты.

Усложнённая версия второго задания: нужно добавить автоматические скриншоты для каждого экрана. Сделать это можно с помощью playwright screenshots.

  1. Выясните, как настроить эту функциональность.
  2. На каждый переход в тесте из задания 2 сделайте скриншоты.
  3. Запушьте репозиторий с тестами, конфигурационными файлами на GitHub.
  4. Скриншоты приложите в раздел issues.
  5. Отправьте ссылку на репозиторий на проверку.