Курс по автоматизации тестирования на Java с полного нуля с изучением библиотек для API и UI тестирования, а также материал по инфраструктуре и CI/CD процессам.
- Вы научитесь автоматизировать тестовые сценарии на Java, используя современные технологии и библиотеки
- Узнаете, как писать тесты для API и UI
- Освоите Gradle, Maven, JUnit5, TestNG, Rest Assured, Selenide и Selenium
- Сможете работать с CI/CD пайплайнами в Jenkins и GitLab
- Разберетесь в работе с Docker, Selenoid и Allure
- Создадите собственный проект для GitHub, который поможет в поиске работы
- Получите навыки, необходимые для уровня Middle специалиста
Курс в основном предназначен для тех, кто занимается ручным тестированием и хочет перейти в автоматизацию. Также курс подойдет для людей, которые уже работают в этой сфере и хотят закрепить знания и узнать больше информации о хороших практиках написания автотестов. Все видео находятся на Rutube, где можно смотреть без VPN
Программа курса
Java
- Почему именно Java для автоматизации
- Скачивание среды разработки Intellij Idea
- Переменные и зоны видимости
- Примитивы и ссылки
- Взаимодействие со строками
- Условия If Else Switch Case
- Методы
- Объекты
- Модификаторы доступа
- Equals и ToString
- ООП
- Массивы
- Enum
- Список List
- Set и HashMap
- Stream API
- Generic и Static
- Практическая задача
Сборщики проекта, библиотеки, основы тестирования
- Сборщик Gradle
- Библиотека Junit5
- Параметризированные тесты
- Библиотека Jackson
- Библиотека Lombok
- Библиотека Owner
- Чтение настроек из файла
- Debugger
- Запуск тестов Junit5 через терминал
- Создание задачи в Gradle для запуска определенных тестов, помеченных тегами
- Перезапуск упавших тестов
- Сохранение упавших тестов и запись в файл
- Запуск упавших тестов с помощью Bash скрипта
- Плагин Allure Gradle для отчетов
- Библиотека TestNG
- Параметризированные тесты DataProvider
- Запуск тестов через терминал и через testng.xml
- Перезапуск и сохранение упавших тестов и запись в файл
- Сборщик Maven
- Установка Allure и Lombok в Maven
- Запуск тестов через терминал в Maven
UI автотесты
- Все что нужно знать про UI автотесты
- Установка Selenium
- Работа с WebElement
- Скачивание и загрузка файлов
- Alert, Basic Auth, Iframe
- Debugger в DevTools
- Actions и перемещение элементов
- Паттерн PageObject на примере Wildberries
- JavaScriptExecutor
- Обзор Selenide и его преимущества
- Переписывание теста с Selenium на Selenide
- Чтение PDF файлов
- Чтение XLSX файлов
- Тестирование UI верстки с помощью скриншотов
- Параллельный запуск тестов TestNG и Junit5
- Авторизация на сайте через API
- Установка Docker и Selenoid
- Кроссбраузерность через аннотации
- Вложения видео, логи, картинки, исходный код страницы в Allure отчет
API автотесты
- Теория REST и HTTP
- Обзор сайта Fake Rest API
- Установка библиотеки Rest Assured
- Структура запроса с подстановкой параметров
- Отправка GET запроса и сохранение ответа сервера в переменную, сравнение двух списков, проверка на сортировку
- Отправка POST запроса и создание POJO классов на основе JSON через плагин генератор
- Отправка PUT и DELETE запросов, создаем тело в качестве HashMap
- Рефакторинг тестов в модельные классы
- Логируем запрос и ответ в Allure
- Параметризированные API автотесты
- Покрытие тестами Swagger
- Jwt авторизация
- Создание обертки для отправки API запросов через сервисные классы
- Скачивание и загрузка файлов через RestAssured
- Библиотеки Faker и SoftAssertions
- Передача тестовых данных через аннотацию внутрь тестового метода
Инфраструктура CI/CD
- Что такое CI/CD
- Установка Jenkins через Docker
- Добавление учетной записи Gitlab
- Структура Jenkinsfile
- Создание простого пайплайна для запуска UI тестов
- Добавление Allure отчета
- Параметризированная сборка с определенной ветки
- Перезапуск упавших тестов
- Установка Gitlab CI Runner
- Структура gitlab-ci.yaml
- Запуск UI и API тестов
- Сохранение артефактов
- Создание Docker образа с тестами





