Giter Site home page Giter Site logo

e2e-spring-2022's Introduction

e2e-spring-2022

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 балл

Allure-репорт

Для запуска аллюр-репортера выполните команду: npm run report

Задание

  1. Пишем тест на авторизацию (если у вас почтовый проект - используем готовый метод авторизации и пишем 3 других теста из чек-листа)

  2. Пишем еще 2 теста из своего чек-листа. Эти тесты не должны повторять тесты товарищей по команде.

    Итого должно быть 3 теста минимум

  3. Если осталось время, пишем 4-й тест за 2 доп. балла.

  4. Делаем скриншот пройденных тестов в allure, кладем в корень проекта, пушим в гит

  5. Делаем PR и скидываем в табличку до 22:00

Code review - часть задания

  1. Берем из таблички 2 пулл-реквеста на проверку
  2. Проверяем код не только на код-стайл, ошибки и опечатки, но и придерживаемся чек-листа:
  • Никаких browser.pause, если нужно ждать элемент - использовать waitFor;
  • Никаких циклов и условных операторов в коде самого теста, логику прячем в page;
  • Селекторы должны быть максимально короткими;
  • Названия методов должны быть краткими и понятными, чтобы тест читался легко, как дока;
  • Логика работы с браузером должна быть в pages, ассерты - в самом тесте;
  • Каждый тест в отдельном файле, чтобы у каждого теста был новый инстанс браузера
  1. Проверить и получить апрувы надо до 09.04.22 (суббота) 18:00

FAQ

0. У меня падает тест на шаге...

Вставляем await browser.debug(); перед падающим шагом и дебажим приложение в браузере

1. А как мне сделать ... в тесте?

Шаг 1. Смотрим документацию по webdriverio.

Шаг 2. Если не помогло, задать вопрос

2. Где взять ящик/аккаунт для тестов?

Его надо самим зарегистрировать в вашем проекте заранее. Логин и пароль в тесты нужно передавать через переменные окружения LOGIN и PASSWORD, в коде не должен быть указан пароль.

e2e-spring-2022's People

Contributors

victoriaotm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.