- Регистрация
- 30 Июн 2021
- Сообщения
- 12,199
- Реакции
- 6,466
- Баллы
- 113
Скачать [qa.guru] Автоматизация тестирования Java. 17-тый поток (2023)
Вводное занятие. Сразу к практике!
- Практика. Пишем первый автотест: Java / Gradle / JUnit5 / Selenide
- Изучаем готовый проект с инфраструктурой: Github / Jenkins / Allure Report / Allure TestOps / Selenoid / Телеграм-бот
- Основы
- Git and Github
- Docker
- Базы данных
- HTTP Client
- Selenium
- BDD Support
- Еще раз повторим основы Git amp; Github
- Основы ветвления, pull requests
- Теория: Gradle, JUnit5, Selenide
- Практика. Работаем с тренажером demoqa.com
- Рассмотрим подробнее возможности Selenide и CSS/Xpath-селекторы
Не путать с Selenium IDE, но его тоже рассмотрим
(Занятие в помощь начинающему автоматизатору, как достучаться до первых сложных элементов)
- Установим Selenium IDE, сделаем экспорт в java-код
- Установим Selenide IDE
- Сравним оба варианта
- Добавляем в код PageObjects
- Изучаем подходы - степовой, сценарный, dsl
- Добавляем PageComponents
- Src - main
- Класс с точки зрения файлов
- Класс с точки зрения Java
- Class fields - переменные (в чем разница)
- Примитивные типы данных
- Литералы
- Операторы
- Управляющие конструкции
- Метод, как описание поведения
- Создание объектов и вызов методов
- Генерим рандомные значения используя встроенные библиотеки
- Используем JavaFaker
- Аннотация @ Test
- Что из себя представляют аннотации в Java
- Пишем свою простейшую реализацию JUnit5
- @ Disabled , @DisplayName
- Тест кейс - что такое и из чего состоит
- Параметризованные тесты:
- концепция
- sources (дата-провайдеры)
- нэйминг
- Как скачать и прочитать файл
- Проверяем контент в .txt, .pdf, .xls/.xlsx, .doc/.docx, .zip
- Практика. Подключение Allure Reports и настройка отчетности о прохождении автотестов
- Практика. Построение более информативной отчетности c вложениями:
3. Теория. Обзор возможностей Allure Reports
Selenide #1. Часть I. Алексей Виноградов
- DOM для начинающих (запись)
- Лайвкодинг - простые тесты для GitHub
- Лайвкодинг - GitHub с решением некоторых типичных проблем
- Основные функции библиотеки Selenide (справочник-шпаргалка)
- Ответы на вопросы
Jenkins. Создаем первую задачу. Станислав Васенков.
- Практика. Создаем задачу (Job), связываем с репозиторием в Github, запускаем тесты удаленно.
- Теория. Основы Jenkins.
- Теория. Основы CI/CD.
- Передаем параметры в код из командной строки
- Прячем приватные данные с библиотекой Owner
- Передаем параметры из Jenkins
- Практика. Пишем телеграмм-бота
- Практика. Постобработка сборки. Настраиваем отправку уведомлений в Jenkins
- Теория. Обзор возможностей Telegram API
Набиваем руку небольшими проектами.
- Находим интересную нам вакансию (hh.ru / linkedin / @qa_jobs)
- Делаем небольшой проект:
- разрабатываем 5-10 простых автотестов на сайт из вакансии
- создаем задачу в Jenkins
- прячем секретные данные с owner
- настраиваем Allure-отчет, добавляем вложения:
-- логи браузера
-- видеозапись теста
-- настраиваем уведомления в telegram / slack
По мере прохождения курса добавим сюда:
- автотесты на API
- тест-план Allure TestOps - с ручными и автоматизированными тестами
- интеграцию с Jira
Selenoid. Роман Орлов
- Практика. Добавляем контейнеризацию к задаче в Jenkins
- Теория. Основы Docker. Selenoid
- Правильно организуем хранение свойств (properties) в проекте с библиотекой Owner
- Прячем секретные данные в Jenkins
1. Практика:
- пишем автотесты на Selenide
- тестируем виджеты
- закрепление знаний, полученных на практике
- Java
- JUnit5
- Практика. Пишем тесты на REST API при помощи библиотеки Rest-assured
- Теория. Основы HTTP-протокола, типы запросов, коды ответов
1. Превращаем UI-взаимодействия в API-запросы
Больше возможностей REST-assured
2.Подключаем Allure-listener
3. Добавляем шаблоны для более красивого отчета
REST API. Модели. Спецификации. Станислав Васенков.
- Убираем тело запроса и ответ в модели
- Добавляем спецификации
- Groovy для ассертов и основы языка
- Немного магии Java
- Спецификации
- Шаблоны для Allure
Дополнительное занятие. REST API. Закрепляющее занятие. Дмитрий Тучс
- Swagger
- API с другой стороны (backend на spring boot)
- Интеграция backend со Swagger
- Контроллеры, возвращающие списки объектов
- Практика
Дополнительное занятие. SOAP API. Дмитрий Тучс
*Внимание! Занятие содержит задание без проверки!
Мобильная автоматизация
#1. Разрабатываем автотесты с Browserstack
- Практика. Учимся пользоваться инспектором в Browserstack, разрабатываем первые автотесты на iOS / Android с Selenide
- Практика. Browserstack-API. Забираем логи, видео
- Теория. Основы тестирования мобильных приложений
Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android-устройства и на своем телефоне
1. Настраиваем рабочее место:
- Appium
- Android Studio
- Настраиваем переменные среды
- Эмулируем Android устройство
- Подключаем свой телефон
- Практика. Разрабатываем автотесты с Appium
- Теория. Основы Appium
Allure TestOps #1. Артем Ерошенко
- Знакомство с системой
- Заведение тест-кейсов
- Создание первого тест-плана
1. Интеграции с Jenkins и Jira
2.Объединение ручных тестов и автотестов в единый тест-план
- Метрики, графики, углубленное изучение платформы
- Администрирование
- Обзор решений и внедренных проектов
Дипломный проект. |
Набиваем руку небольшими проектами.
- Находим интересную нам вакансию (hh.ru / linkedin / @qa_jobs)
- Делаем небольшой проект - разрабатываем 5-10 простых автотестов на сайт из вакансии, добавляем джобу в дженкинсе с аллюр-отчетом
3. Отправляем наш проект hr c сопроводительным письмом
Переезд на собственную инфраструктуру с ресурсов школы. Егор Иванов (выпускник первого потока)
Настроим тестовый стенд локально. Точно также стенд настраивается на любом VPS, например в DigitalOcean.com
- Рассмотрим базовые команды Linux, которые понадобятся
- Доступ к удаленному серверу через ssh Ubuntu
3. На виртуальной машине установим:
- Java
- Docker
- Docker-compose
- Создадим конфиг для docker-compose
- Поднимаем Selenoid + Selenoid UI
6. Поднимаем Jenkins
6.1 Первичные настройки Jenkins
6.2 Проверка работоспособности
Задание не обязательное. Доступ к инфраструктуре школы останется после окончания обучения (в разумных пределах, конечно).
Дополнительное занятие для студентов школы. Алексей Кузнецов. ООП и ОО-дизайн в UI-тестах для самых маленьких. Занятие в записи
- Пара слов о себе
- Наши друзья - переменные.
- Укрощаем рандомайзер. Как использовать генерацию случайных данных в тестах
- Маленький архитектор или как классы помогают нам отделять логику и работу от других классов
- Вооружаемся или поговорим ещё немного о Page Object
- Подключаем тяжелое вооружение. ООП и ОО-дизайн на примере Page Object. Делаем наши page-классы компонентными
- Роль интерфейсов в проектировании нашего решения или как сделать подобие метода Allure.step своими руками
- Ещё немного об интерфейсах. Наделяем наши element-классы дополнительными возможностями на основе контрактного поведения
- Несколько слов о домашнем задании
- Вопросы и ответы
Проверка и разбор домашних заданий
Live-разбор домашних занятий проходит в вечернее время в дни, когда нет основных занятий (и когда есть время у преподавателя)
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.