- Вводное занятие со Станиславом Васенковым
1. Начнем знакомство с автоматизацией тестирования с простого автотеста на поиск в Google. Можно без опыта в IT и без знания программирования.
2. Изучим готовый проект с инфраструктурой: Github, Jenkin, Allure TestOps, Selenoid, Telegram Bot.
3. Под конец занятия разработаем еще пару автотестов на авторизацию - все в топовом стеке Java, Gradle, JUnit5, Selenide.
Дата и время начала обучения:
четверг 23 мая 20:00 по МСК
3. Погружаемся в инструментарий и библиотеки со Станиславом Васенковым и Дмитрием Тучсом
- Теория: Gradle, JUnit5, Selenide.
- Практика. Работаем с тренажером demoqa.com.
- Рассмотрим подробнее возможности Selenide и CSS / Xpath селекторы.
6. Основы Java. Часть I с Дмитрием Тучс
- Src – main.
- Класс с точки зрения файлов.
- Класс с точки зрения Java.
- Class fields – переменные и в чем разница.
- Примитивные типы данных.
- Литералы.
- Операторы.
- Управляющие конструкции.
- Метод как описание поведения.
- Создание объектов и вызов методов.
7. Продолжаем разрабатывать автотесты. PageObjects со Станиславом Васенковым
- Добавляем в код PageObjects.
- Изучаем подходы: степовой, сценарный, dsl.
- Добавляем PageComponents.
2. Git. Github. Погружаемся с Дмитрием Тучс
Дополнительное занятие. Профессионально работаем с IntelliJ IDEA с Юрием Артамоновым (JetBrains)
- Git & Github.
- Docker.
- Базы данных.
- HTTP Client.
- Selenium.
- BDD Support.
Еще раз повторим основы Git & Github:
- Основы ветвления, pull requests.
- Работа в парах: правим друг у друга код.
Дополнительное занятие. Selenide IDE
Не путать с Selenium IDE, но его тоже рассмотрим.
(Занятие в помощь начинающему автоматизатору – как достучаться до первых сложных элементов)
- Установим Selenium IDE, сделаем экспорт в Java-код.
- Установим Selenide IDE.
- Сравним оба варианта.
4-5. Selenide #1-2 c Алексеем Виноградовым. Занятие в записи
- Лайвкодинг – тесты для GitHub.
- DOM для начинающих.
- Основные функции библиотеки Selenide (справочник-шпаргалка).
Практика:
- пишем автотесты на Selenide;
- тестируем виджеты.
Теория:
- закрепление знаний, полученных на практике;
- Java;
- JUnit5.
Консультация к занятиям Selenide с Алексеем Виноградовым
8. Продолжаем разрабатывать автотесты. Генерация тестовых данных со Станиславом Васенковым
- Генерим рандомные значения, используя встроенные библиотеки.
- Используем JavaFaker.
9. Основы Java. Часть II с Дмитрием Тучс
* Внимание! Занятие содержит задание без проверки!
10. JUnit 5с Дмитрием Тучс
- Аннотация @Test.
- Что из себя представляют аннотации в Java.
- Пишем свою простейшую реализацию JUnit5.
- @Disabled , @DisplayName.
- Тест кейс – что такое и из чего состоит.
- Параметризованные тесты:
- концепция;
- sources (дата-провайдеры);
- нэйминг.
11. Работаем с файлами с Дмитрием Тучс
- Как скачать и прочитать файл.
- Проверяем контент в .txt, .pdf, .xls/.xlsx, .doc/.docx, .zip.
12. Allure Reports. Артём Ерошенко
- Практика. Подключение Allure Reports и настройка отчетности о прохождении автотестов.
- Практика. Построение более информативной отчетности c вложениями: прикладываем скриншоты, файлы, логи и другие вложения в отчет.
- Теория. Обзор возможностей Allure Reports.
13. Основы Java. Часть III. Практика с Дмитрием Тучс
* Внимание! Занятие содержит задание без проверки!
14. Jenkins. Создаем первую задачу со Станиславом Васенковым
- Практика. Создаем задачу (Job), связываем с репозиторием в Github, запускаем тесты удаленно.
- Теория. Основы Jenkins.
- Теория. Основы CI / CD.
15. Управляем параметрами в коде и в Jenkins со Станиславом Васенковым
- Передаем параметры в код из командной строки.
- Прячем приватные данные с библиотекой Owner.
- Передаем параметры из Jenkins.
16. Telegram-бот. Отправляем уведомления о результатах прохождении автотестов со Станиславом Васенковым
- Практика. Пишем Telegram-бота.
- Практика. Постобработка сборки. Настраиваем отправку уведомлений в Jenkins.
- Теория. Обзор возможностей Telegram API.
17. Учимся быстро разрабатывать готовые проекты для тестовых заданий со Станиславом Васенковым
Набиваем руку небольшими проектами:
- Находим интересную нам вакансию (hh.ru / linkedin / @qa_jobs).
- Делаем небольшой проект:
- разрабатываем 5-10 простых автотестов на сайт из вакансии;
- создаем задачу в Jenkins;
- прячем секретные данные с owner;
- настраиваем Allure-отчет, добавляем вложения:
- снимки экрана;
- логи браузера;
- видеозапись теста.
- настраиваем уведомления в Telegram / Slack.
По мере прохождения курса добавим сюда:
- автотесты на API;
- тест-план Allure TestOps – с ручными и автоматизированными тестами;
- интеграцию с Jira.
3. Отправляем наш проект HR c сопроводительным письмом.
18. Selenoid с Романом Орловым
- Практика. Добавляем контейнеризацию к задаче в Jenkins.
- Теория. Основы Docker. Selenoid.
19. Библиотека Owner с Артемом Ерошенко
- Правильно организуем хранение свойств (properties) в проекте с библиотекой Owner.
- Прячем секретные данные в Jenkins.
20. REST API. Пишем автотесты с REST Assured со Станиславом Васенковым
- Практика. Пишем тесты на REST API при помощи библиотеки REST Assured.
- Теория. Основы HTTP-протокола, типы запросов, коды ответов.
21. REST API. Модели. Спецификации со Станиславом Васенковым
- Убираем тело запроса и ответ в модели.
- Добавляем спецификации.
- Добавляем Allure-отчетность.
- Добавляем шаблоны для более красивого отчета.
22. REST API. Декомпозируем UI-тесты со Станиславом Васенковым
- Превращаем UI-взаимодействия в API-запросы.
- Больше возможностей REST Assured.
Дополнительное занятие. Пусть всё будет Groovy c Алексеем Кузнецовым
- Основы Groovy и сравнение с Java.
- Разбираемся с GPath. Часть 1. Работа с JSON.
- Разбираемся с GPath. Часть 2. Работа с XML.
- Секция Q&A.
* Домашнее задание к этому уроку не является обязательным и выполняется по желанию.
Дополнительное занятие. SOAP API с Дмитрием Тучс
* Внимание! Занятие содержит задание без проверки!
Дополнительное занятие. REST API. Закрепляющее занятие с Дмитрием Тучс
- Swagger.
- API с другой стороны (backend на spring boot).
- Интеграция backend со Swagger.
- Контроллеры, возвращающие списки объектов.
- Практика.
* Внимание! Занятие содержит задание без проверки!
23. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
- Практика. Учимся пользоваться инспектором в Browserstack, разрабатываем первые автотесты на iOS / Android с Selenide.
- Практика. Browserstack-API. Забираем логи, видео.
- Теория. Основы тестирования мобильных приложений.
24. Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android-устройства и на своем телефоне
- Настраиваем рабочее место:
- Appium;
- Android Studio;
- Настраиваем переменные среды.
2. Эмулируем Android устройство.
3. Подключаем свой телефон.
4. Практика. Разрабатываем автотесты с Appium.
5. Теория. Основы Appium.
[BONUS] Запускаем тесты на школьном Selenoid – Android. 25. Allure TestOps. Артем Ерошенко
- Знакомство с системой.
- Заведение тест-кейсов.
- Создание первого тест-плана.
- Интеграции с Jenkins и Jira.
- Объединение ручных тестов и автотестов в единый тест-план.
- Метрики, графики, углубленное изучение платформы.
- Администрирование.
- Обзор решений и внедренных проектов.
1. Подводим итоги по обучению
2. Получаем задание на диплом - проект c (manual + auto) тестами - Web, Mobile, Api
3. Дооформим красивое портфолио с Github Readme
27. Переезд на собственную инфраструктуру с ресурсов школы с Егором Ивановым
Настроим тестовый стенд локально. Точно так же стенд настраивается на любом VPS, например – в DigitalOcean.com:
- Рассмотрим необходимые базовые команды Linux.
- Доступ к удаленному серверу через ssh Ubuntu:
- Доступ к Ubuntu через ssh при помощи публичного RSA ключа.
3. На виртуальной машине установим:
- Java;
- Docker;
- Docker-compose.
4. Создадим конфиг для Docker Compose.
5. Поднимем Selenoid + Selenoid UI:
- Проверим, как это работает.
6. Поднимем Jenkins:
- Первичные настройки Jenkins;
- Проверка работоспособности.
* Задание необязательное. Доступ к инфраструктуре школы останется после окончания обучения.