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