- Вводное занятие Сразу к практике!
- Практика. Разрабатываем первый автотест: Python / Pytest / Selene.
- Изучаем готовый проект с инфраструктурой: Github / Jenkins / Allure Report / Allure TestOps / Selenoid / Telegram Bot.
Дата и время начала обучения:
вторник 30 апреля 20:00 по МСК
4. Основы Python. Часть I. Типы данных с Сергеем Хомутининым
- Примитивные типы данных.
- Составные типы данных.
- Изменяемость типов.
- Конфигурации запуска PyCharm.
Разбор домашнего задания к уроку «Selene #1» с Яковом Крамаренко
7. Работаем с файлами с Александром Котляром
- Как скачать и прочитать файл.
- Проверяем контент в .txt, .pdf, .xls / .xlsx, .doc / .docx, .zip.
3. Git. Github. Погружаемся с Дмитрием Тучс
2. Погружаемся в инструментарий и библиотеки с Сергеем Хомутининым
- Git & Github – работаем из Pycharm.
- Подключение зависимостей - requirements.txt.
- Основные зависимости (Pytest, Selene).
- Фикстуры Pytest.
- Еще раз повторим основы Git & Github.
- Основы ветвления, pull requests.
5. Selene #1 с Яковом Крамаренко
- Лайвкодинг – тесты для GitHub.
- DOM для начинающих.
- Рассмотрим базовые возможности Selene и CSS / Xpath-селекторы.
- Продолжаем изучать библиотеку Selene (справочник-шпаргалка).
- Практика. Работаем с тренажёром demoqa.com.
6. Основы Python. Часть II. Языковые конструкции и функции с Сергеем Хомутининым
- Условные конструкции.
- Различные виды циклов.
- Функции, аргументы и возвращаемое значение.
- Debug вашего кода.
8. Основы Python. Часть III. Применение ООП в написании автотестов с Сергеем Хомутининым
Применение различных ООП подходов на примере одного теста.
9. Allure Reports с Артёмом Ерошенко
- Практика. Подключение Allure Reports и настройка отчетности о прохождении автотестов.
- Практика. Построение более информативной отчетности c вложениями: прикладываем скриншоты, файлы, логи и другие вложения в отчет.
- Теория. Обзор возможностей Allure Reports.
10. PageObjects с Яковом Крамаренко
* Объектно-ориентированная парадигма построения модели для тестов.
Дополнительное занятие. Разбор ДЗ с Яковом Крамаренко
К уроку "Объектно-ориентированная парадигма для построения модели для тестов".
11. Configuration Management с Яковом Крамаренко
os.getenv, pytest options, Pydantic.
Q&A сессия с Яковом Крамаренко
- К занятию PageObjects.
- К занятию Configuration Management.
- Консультация проводится при наличии заранее подготовленных вопросов.
12. Jenkins. Создаем первую задачу со Станиславом Васенковым
- Практика. Создаем задачу (Job), связываем с репозиторием в Github, запускаем тесты удаленно.
- Теория. Основы Jenkins.
- Теория. Основы CI / CD.
13. Telegram-бот. Отправляем уведомления о результатах прохождении автотестов со Станиславом Васенковым
- Практика. Пишем Telegram-бота.
- Практика. Постобработка сборки. Настраиваем отправку уведомлений в Jenkins.
- Теория. Обзор возможностей Telegram API.
Дополнительное занятие. Логирование шагов и Декораторы в Python с Яковом Крамаренко
14. Учимся быстро разрабатывать готовые проекты для тестовых заданий со Станиславом Васенковым
Набиваем руку небольшими проектами:
- Находим интересную нам вакансию (hh.ru / linkedin / @qa_jobs).
- Делаем небольшой проект:
- разрабатываем 5-10 простых автотестов на сайт из вакансии;
- создаем задачу в Jenkins;
- прячем секретные данные с owner;
- настраиваем Allure-отчет, добавляем вложения:
- снимки экрана;
- логи браузера;
- видеозапись теста.
- настраиваем уведомления в Telegram / Slack.
По мере прохождения курса добавим сюда:
- автотесты на API;
- тест-план Allure TestOps – с ручными и автоматизированными тестами;
- интеграцию с Jira.
3. Отправляем наш проект HR c сопроводительным письмом.
15. Pytest. Часть I с Сергеем Хомутининым
- Аргументы запуска. Собираем фикстуры, марки и другую полезную информацию для отладки.
- Марки. Пропускаем тесты правильно.
- Параметризация. На тесте, на фикстуре. Переопределение параметров.
Q&A сессия по блоку Pytest с Сергеем Хомутининым
Консультация проводится при наличии заранее подготовленных вопросов.
16. Selenoid с Романом Орловым – Занятие в записи
- Практика. Добавляем контейнеризацию к задаче в Jenkins.
- Теория. Основы Docker. Selenoid.
17. Venv, Poetry и управление зависимостями проекта с Сергеем Хомутинин
- Поговорим подробнее о virtualenv и requirements.txt.
- Рассмотрим Poetry в качестве альтернативы, чем он лучше и какие задачи решает.
- Разберем файл pyproject.toml.
18. REST API. Часть I с Александром Котляром
- Практика. Пишем тесты на REST API при помощи библиотеки Requests.
- Теория. Основы HTTP протокола, типы запросов, коды ответов.
19. REST API. Часть II с Александром Котляром
- Логирование шагов API в Allure
- Декомпозиция UI теста на API
20. REST API. Часть III с Александром Котляром
Дополнительные возможности pytest, requests, voluptuous и логирования.
21. REST API. Часть IV с Александром Котляром
- Объектная модель.
- Запуск в различных окружениях.
22. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack со Станиславом Васенковым и Яковом Крамаренко
- Практика. Учимся пользоваться инспектором в Browserstack, разрабатываем первые автотесты на iOS / Android с Selene.
- Практика. Browserstack-API. Забираем логи, видео.
- Теория. Основы тестирования мобильных приложений.
23. Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android-устройства и на своем телефоне
- Настраиваем рабочее место:
- Appium;
- Android Studio;
- Настраиваем переменные среды.
2. Эмулируем Android устройство.
3. Подключаем свой телефон.
4. Практика. Разрабатываем автотесты с Appium.
5. Теория. Основы Appium.
[BONUS] Запускаем тесты на школьном Selenoid – Android 24. Allure TestOps с Артем Ерошенко
- Знакомство с системой.
- Заведение тест-кейсов.
- Создание первого тест-плана.
- Интеграции с Jenkins и Jira.
- Объединение ручных тестов и автотестов в единый тест-план.
- Метрики, графики, углубленное изучение платформы.
- Администрирование.
- Обзор решений и внедренных проектов.
Дополнительное занятие. Стабильные тесты на чистом Selenium Webdriver c помощью явных ожиданий с Яковом Крамаренко
* Внимание! Занятие содержит задание без проверки!
- Подводим итоги по обучению
- Получаем задание на диплом - проект c (manual + auto) тестами - Web, Mobile, Api
26. Переезд на собственную инфраструктуру с ресурсов школы с Егором Ивановым
Настроим тестовый стенд локально. Точно так же стенд настраивается на любом VPS, например – в DigitalOcean.com:
- Рассмотрим необходимые базовые команды Linux.
- Доступ к удаленному серверу через ssh Ubuntu:
- Доступ к Ubuntu через ssh при помощи публичного RSA ключа.
3. На виртуальной машине установим:
- Java;
- Docker;
- Docker-compose.
4. Создадим конфиг для Docker Compose.
5. Поднимем Selenoid + Selenoid UI:
- Проверим, как это работает.
6. Поднимем Jenkins:
- Первичные настройки Jenkins;
- Проверка работоспособности.
Задание необязательное. Доступ к инфраструктуре школы останется после окончания обучения.
Дополнительное занятие. Фреймворк на Selenium Webdriver – лучшие встроенные ожидания и ленивые элементы с Яковом Крамаренко
* Внимание! Занятие содержит задание без проверки!