Вводное занятие. Сразу к практике
- Практика. Пишем первый автотест: Java, Gradle, JUnit 5, Selenide.
- Изучаем готовый проект с инфраструктурой: GitHub, Jenkins, Allure Report, Allure TestOps, Selenoid, телеграм-бот.
Дополнительное занятие. Профессионально работаем с IntelliJ IDEA (Юрий Артамонов, JetBrains)
- Основы работы в IDE.
- Git и GitHub.
- Docker.
- Базы данных.
- HTTP Client.
- Selenium.
- BDD Support.
Git и GitHub (Дмитрий Тучс)
- Повторение основ Git и GitHub.
- Основы ветвления и pull requests.
Инструментарий и библиотеки (Станислав Васенков, Дмитрий Тучс)
- Теория: Gradle, JUnit 5, Selenide.
- Практика: работа с тренажером demoqa.com.
- Возможности Selenide и CSS/XPath-селекторы.
Дополнительное занятие. Selenide IDE и Selenium IDE
- Установка Selenium IDE и экспорт сценариев в Java-код.
- Установка Selenide IDE.
- Сравнение двух инструментов.
Разработка автотестов: паттерн Page Object (Станислав Васенков)
- Добавление Page Objects в проект.
- Подходы к организации: степовый, сценарный, DSL.
- Использование PageComponents.
Основы Java (Дмитрий Тучс)
- Структура проекта (src/main).
- Класс с точки зрения файловой системы и языка Java.
- Поля класса и переменные.
- Примитивные типы данных и литералы.
- Операторы и управляющие конструкции.
- Методы как описание поведения.
- Создание объектов и вызов методов.
Генерация тестовых данных (Станислав Васенков)
- Генерация случайных значений встроенными библиотеками.
- Использование библиотеки JavaFaker.
JUnit 5 (Дмитрий Тучс)
- Аннотация @Test и устройство аннотаций в Java.
- Написание собственной реализации JUnit 5.
- Аннотации @Disabled и @DisplayName.
- Структура тест-кейса.
- Параметризованные тесты: концепция, источники данных (дата-провайдеры), именование.
Работа с файлами (Дмитрий Тучс)
- Скачивание и чтение файлов.
- Проверка содержимого файлов форматов .txt, .pdf, .xls/.xlsx, .doc/.docx, .zip.
Allure Reports (Артём Ерошенко)
- Подключение Allure Reports и настройка базовой отчетности.
- Формирование информативных отчетов с вложениями: скриншоты, файлы, логи.
- Обзор возможностей Allure Reports.
Selenide. Часть 1 (Алексей Виноградов)
- Основы DOM для начинающих (в записи).
- Лайвкодинг: написание базовых тестов для GitHub.
- Лайвкодинг: решение типичных проблем при автоматизации.
Дополнительное занятие. Selenide. Часть 2 (Алексей Виноградов)
- Основные функции библиотеки Selenide (справочник).
- Ответы на вопросы.
Jenkins: создание первой задачи (Станислав Васенков)
- Практика: создание Job, связывание с репозиторием GitHub, удаленный запуск тестов.
- Основы Jenkins.
- Основы CI/CD.
Управление параметрами в коде и Jenkins (Станислав Васенков)
- Передача параметров в код из командной строки.
- Управление конфиденциальными данными с помощью библиотеки Owner.
- Передача параметров из Jenkins.
Телеграм-бот: уведомления о результатах тестов (Станислав Васенков)
- Разработка телеграм-бота.
- Постобработка сборки и настройка отправки уведомлений в Jenkins.
- Обзор возможностей Telegram API.
Практикум: разработка проектов под тестовые задания (Станислав Васенков)
- Анализ требований в вакансиях (hh.ru, LinkedIn, профильные каналы).
- Создание проекта: разработка 5–10 автотестов, настройка сборки в Jenkins, скрытие секретов с Owner, настройка отчетов Allure (скриншоты, логи, видео) и оповещений.
- План расширения проекта: API-тесты, тест-планы в Allure TestOps, интеграция с Jira.
- Оформление и отправка решения.
Selenoid и контейнеризация (Роман Орлов, Артём Ерошенко)
- Добавление контейнеризации к задаче в Jenkins.
- Основы Docker и Selenoid.
- Организация хранения свойств проекта и секретных данных с библиотекой Owner в Jenkins.
Selenide. Часть 3 (Алексей Виноградов)
- Практика: написание автотестов на Selenide, тестирование сложных виджетов.
- Закрепление теории: Java и JUnit 5.
REST API: автотесты с REST Assured (Станислав Васенков)
- Написание тестов на REST API с использованием REST Assured.
- Основы протокола HTTP, типы запросов и коды ответов.
REST API: декомпозиция UI-тестов и отчетность
- Замена UI-шагов прямыми API-запросами.
- Подключение Allure-listener и расширенные возможности REST Assured.
- Настройка шаблонов отчетов Allure.
REST API: модели и спецификации (Станислав Васенков)
- Вынос тела запросов и ответов в модели (POJO/DTO).
- Использование спецификаций запросов и ответов (Request/Response Specification).
Дополнительные занятия по API
- REST API и Groovy (Алексей Кузнецов): использование Groovy для ассертов, спецификации, интеграция шаблонов Allure.
- REST API: бэкенд и интеграция (Дмитрий Тучс): работа со Swagger, реализация контроллеров на Spring Boot, возвращающих коллекции объектов.
- SOAP API (Дмитрий Тучс): основы тестирования SOAP-сервисов.
Мобильная автоматизация: BrowserStack
- Использование инспектора BrowserStack, разработка автотестов под iOS и Android с Selenide.
- Работа с BrowserStack API: получение логов и видеозаписей.
- Основы тестирования мобильных приложений.
Мобильная автоматизация: Appium и эмуляторы
- Настройка рабочего окружения: Appium, Android Studio, переменные среды.
- Работа с эмулятором Android и реальным устройством.
- Разработка тестов на базе Appium.
- Запуск мобильных тестов в Selenoid.
Allure TestOps (Артём Ерошенко)
- Знакомство с платформой, заведение тест-кейсов и создание тест-плана.
- Интеграция с Jenkins и Jira.
- Объединение ручных и автоматизированных тестов в единый план.
- Метрики, аналитика и администрирование платформы.
Дипломный проект
- Выбор реальной вакансии и требований.
- Разработка готового проекта автоматизации: тесты UI и API, настройка сборки в Jenkins, запуск в Selenoid, отчеты в Allure TestOps, интеграция с Jira и уведомлениями в Telegram.
- Подготовка сопроводительного письма и презентация проекта.
Развертывание собственной тестовой инфраструктуры (Егор Иванов)
- Базовые команды Linux и подключение по SSH по публичному RSA-ключу.
- Установка Java, Docker и Docker Compose на виртуальный сервер.
- Конфигурирование Docker Compose, запуск Selenoid и Selenoid UI.
- Установка и первичная настройка Jenkins, проверка работоспособности конвейера.
Дополнительное занятие: ООП и проектирование UI-тестов (Алексей Кузнецов)
- Переменные и генерация случайных данных в тестах.
- Разделение ответственности и декомпозиция логики с помощью классов.
- Компонентный подход в реализации Page Object.
- Применение интерфейсов и контрактов при проектировании архитектуры автотестов.






