На первых занятиях студенты знакомятся с группой и преподавателем. Разбирают основные цели курса и что они получат после обучения. Далее идет знакомство с Cypress - что это за инструмент, зачем его использовать и чем он отличается от других фреймворков. Показывают демо-запуск тестов для понимания процесса.
Студенты устанавливают необходимое программное обеспечение: NodeJS, VSCode, Git и сам Cypress. Обучаются базовой настройке редактора кода и плагинов. Пишут первый тест и разбирают структуру базового проекта. Отдельный блок посвящен основам HTML, CSS и DOM, а также добавлению тестовых атрибутов в приложениях.
Этот модуль показывает, как работать с CSS-локаторами. Рассматривают простые и комбинированные локаторы, дают шпаргалку для повседневной работы. Обсуждают типичные проблемы с локаторами в реальных проектах и способы их решения. Параллельно студенты знакомятся с Git и Git flow, изучают базовые команды и создают собственный проект в GitHub.
Здесь разбирают фундаментальные понятия JavaScript: типы данных, переменные, константы и область видимости. Студенты учатся работать с объектами, операторами, логическими конструкциями, условиями и циклами. Особое внимание уделяют функциям, стрелочным функциям, аргументам и callback-функциям.
Модуль начинается с понимания синхронных и асинхронных операций в JavaScript, что критически важно для работы с Cypress из-за его асинхронной природы. Далее студенты знакомятся с библиотекой Mocha и учатся писать параметризованные тесты. Изучают assertions с помощью библиотеки Chai и разбирают ключевые команды Cypress для поиска и работы с элементами.
На этом этапе студенты изучают объектно-ориентированное программирование в JavaScript и Page Object pattern - ключевой подход для поддерживаемых тестов. Учат писать тесты с использованием этого паттерна. Дополнительно рассматривают работу с API, написание API-тестов, использование моков и фикстур, а также настройку отчетов о тестировании.
Завершающий модуль посвящен Continuous Integration - непрерывной интеграции с использованием Jenkins или GitlabCI. Студенты получают задание для экзаменационного проекта, который будут защищать после завершения курса.
Занятия проходят онлайн в вечернее время, что удобно для работающих студентов. После завершения обучения предусмотрена защита экзаменационного проекта для закрепления навыков. Успешные выпускники получают свидетельство об окончании курса.