Курс обучения на автоматизатора тестирования на Java. ПОТОК — 18-тый (+ добавлены НОВЫЕ ЛЕКЦИИ на этом потоке!)☝️
Программа курса
- Вводное занятие. Сразу к практике!
- Практика. Пишем первый автотест: Java / Gradle / JUnit5 / Selenide
- Изучаем готовый проект с инфраструктурой: Github / Jenkins / Allure Report / Allure TestOps / Selenoid / Телеграм-бот
Дополнительное занятие. Профессионально работаем с IntelliJ IDEA Юрий Артамонов (JetBrains)
- Основы
- Git and Github
- Docker
- Базы данных
- HTTP Client
- Selenium
- BDD Support
Git. Github. Погружаемся. Дмитрий Тучс
- Еще раз повторим основы Git & Github
- Основы ветвления, pull requests
Погружаемся в инструментарий и библиотеки. Станислав Васенков и Дмитрий Тучс.
- Теория: Gradle, JUnit5, Selenide
- Практика. Работаем с тренажером demoqa.com
- Рассмотрим подробнее возможности Selenide и CSS/Xpath-селекторы
Selenide #1. Занятие в записи. Алексей Виноградов
- DOM для начинающих (запись)
- Лайвкодинг – простые тесты для GitHub
- Лайвкодинг – GitHub с решением некоторых типичных проблем
- Основные функции библиотеки Selenide (справочник-шпаргалка)
- Ответы на вопросы
Дополнительное занятие. Selenide IDE – и такое бывает
Не путать с Selenium IDE, но его тоже рассмотрим
(Занятие в помощь начинающему автоматизатору, как достучаться до первых сложных элементов)
- Установим Selenium IDE, сделаем экспорт в Java-код
- Установим Selenide IDE
- Сравним оба варианта
Основы Java. Дмитрий Тучс.
- Src – main
- Класс с точки зрения файлов
- Класс с точки зрения Java
- Class Fields – переменные (в чем разница)
- Примитивные типы данных
- Литералы
- Операторы
- Управляющие конструкции
- Метод как описание поведения
- Создание объектов и вызов методов
Продолжаем разрабатывать автотесты. PageObjects. Станислав Васенков.
- Добавляем в код PageObjects
- Изучаем подходы – степовой, сценарный, dsl
- Добавляем PageComponents
Продолжаем разрабатывать автотесты. Генерация тестовых данных. Станислав Васенков.
- Генерим рандомные значения, используя встроенные библиотеки
- Используем JavaFaker
Дополнительное занятие. Основы Java. Часть II. Дмитрий Тучс
JUnit 5. Дмитрий Тучс
- Аннотация @Test
- Что из себя представляют аннотации в Java
- Пишем свою простейшую реализацию JUnit5
- @Disabled, @DisplayName
- Тест кейс – что такое и из чего состоит
- Параметризованные тесты:
- концепция
- sources (дата-провайдеры)
- нэйминг
9. Allure Reports. Артём Ерошенко. Занятие в записи
- Практика. Подключение Allure Reports и настройка отчетности о прохождении автотестов
- Практика. Построение более информативной отчетности c вложениями:
- прикладываем скриншоты, файлы, логи и другие вложения в отчет
- Теория. Обзор возможностей Allure Reports
Дополнительное занятие. Основы Java. Часть III. Практика. Дмитрий Тучс
Работаем с файлами. Дмитрий Тучс
- Как скачать и прочитать файл
- Проверяем контент в .txt, .pdf, .xls/.xlsx, .doc/.docx, .zip
Jenkins. Создаем первую задачу. Станислав Васенков.
- Практика. Создаем задачу (Job), связываем с репозиторием в Github, запускаем тесты удаленно.
- Теория. Основы Jenkins.
- Теория. Основы CI/CD.
Управляем параметрами в коде и в Jenkins. Станислав Васенков.
- Передаем параметры в код из командной строки
- Прячем приватные данные с библиотекой Owner
- Передаем параметры из Jenkins
Telegram-бот. Отправляем уведомления о результатах прохождении автотестов. Станислав Васенков.
- Практика. Пишем Telegram-бота
- Практика. Постобработка сборки. Настраиваем отправку уведомлений в Jenkins
- Теория. Обзор возможностей Telegram API
Учимся быстро разрабатывать готовые проекты для тестовых заданий. Станислав Васенков.
Набиваем руку небольшими проектами.
- Находим интересную нам вакансию (hh.ru / linkedin / @qa_jobs)
- Делаем небольшой проект:
- разрабатываем 5-10 простых автотестов на сайт из вакансии
- создаем задачу в Jenkins
- прячем секретные данные с owner
- настраиваем Allure-отчет, добавляем вложения:
- снимки экрана
- логи браузера
- видеозапись теста
- настраиваем уведомления в Telegram / Slack
- По мере прохождения курса добавим сюда:
- автотесты на API
- тест-план Allure TestOps – с ручными и автоматизированными тестами
- интеграцию с Jira
- Отправляем наш проект HR c сопроводительным письмом
Selenoid. Роман Орлов
- Практика. Добавляем контейнеризацию к задаче в Jenkins
- Теория. Основы Docker. Selenoid
Selenide #2. Алексей Виноградов
- Практика:
- пишем автотесты на Selenide
- тестируем виджеты
- Теория:
- закрепление знаний, полученных на практике
- Java
- JUnit5
REST API. Пишем автотесты с Rest-assured. Станислав Васенков.
- Практика. Пишем тесты на REST API при помощи библиотеки Rest-assured
- Теория. Основы HTTP-протокола, типы запросов, коды ответов
Библиотека Owner. Занятие в записи. Артём Ерошенко
- Правильно организуем хранение свойств (properties) в проекте с библиотекой Owner
- Прячем секретные данные в Jenkins
REST API. Модели. Спецификации. Станислав Васенков.
- Убираем тело запроса и ответ в модели
- Добавляем спецификации
REST API. Декомпозируем UI-тесты. Подключаем отчетность
- Превращаем UI-взаимодействия в API-запросы
- Больше возможностей REST-assured
- Подключаем Allure-listener
- Добавляем шаблоны для более красивого отчета
Дополнительное занятие. REST API / Groovy. Алексей Кузнецов
- Groovy для ассертов и основы языка
- Немного магии Java
- Спецификации
- Шаблоны для Allure
Дополнительное занятие. REST API. Закрепляющее занятие. Дмитрий Тучс
- Swagger
- API с другой стороны (backend на spring boot)
- Интеграция backend со Swagger
- Контроллеры, возвращающие списки объектов
- Практика
Дополнительное занятие. SOAP API. Дмитрий Тучс
Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
- Практика. Учимся пользоваться инспектором в Browserstack, разрабатываем первые автотесты на iOS / Android с Selenide
- Практика. Browserstack-API. Забираем логи, видео
- Теория. Основы тестирования мобильных приложений
Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android-устройства и на своем телефоне
- Настраиваем рабочее место:
- Appium
- Android Studio
- Настраиваем переменные среды
- Эмулируем Android устройство
- Подключаем свой телефон
- Практика. Разрабатываем автотесты с Appium
- Теория. Основы Appium
- Запускаем тесты на школьном Selenoid — Android
Allure TestOps. Артем Ерошенко. Занятие в записи
- Знакомство с системой.
- Заведение тест-кейсов.
- Создание первого тест-плана.
- Интеграции с Jenkins и Jira
- Объединение ручных тестов и автотестов в единый тест-план
- Метрики, графики, углубленное изучение платформы
- Администрирование
- Обзор решений и внедренных проектов
Дипломный проект
Набиваем руку небольшими проектами.
- Находим интересную нам вакансию (hh.ru / Linkedin / @qa_jobs)
- Делаем небольшой проект – разрабатываем 5-10 простых автотестов на сайт из вакансии, добавляем джобу в дженкинсе с аллюр-отчетом
- Добавляем сюда Selenoid, Allure TestOps, Jira, Telegram notifications
- Отправляем наш проект HR c сопроводительным письмом
Переезд на собственную инфраструктуру с ресурсов школы. Егор Иванов (выпускник первого потока)
Настроим тестовый стенд локально. Точно также стенд настраивается на любом VPS, например в DigitalOcean.com
- Рассмотрим базовые команды Linux, которые понадобятся
- Доступ к удаленному серверу через ssh Ubuntu
- На виртуальной машине установим:
- Java
- Docker
- Docker-compose
- Создадим конфиг для Docker Compose
- Поднимаем Selenoid + Selenoid UI
- Проверяем, как это работает
- Поднимаем Jenkins
- Первичные настройки Jenkins
- Проверка работоспособности
- ++ будут ДОП.ЛЕКЦИИ ❗❗❗










