Проходил 16 марта в 20:00

День открытых дверей
Автоматизатор в тестировании

День открытых дверей онлайн

Хотите узнать, почему OTUS – больше, чем просто образовательный портал?
Как OTUS дает возможность стать частью сообщества профессионалов и сделать новый шаг по карьерной лестнице?
Почему учиться – не обязанность, а удовольствие и почему тесное сплетение теории и практики в обучении дает эффект синергии?
Приходите к нам на День Открытых Дверей. Формат проведения – онлайн – подключиться можно из любой точки мира!
Преподаватель
Павел Попов

Запись

О курсе

Автоматизатор в тестировании
45 000 ₽
Начало в январе 2025 года
Программа курса нацелена на подготовку специалиста по автоматизированному тестированию, владеющего инструментами для создания, масштабирования и запуска автоматических тестов с использованием самых современных технологий и фреймворков. В процессе обучения будут получены специализированные знания, необходимые для написания автоматических тестов REST и UI приложений. Слушатель познакомится с инструментом WebDriver, научится использовать его API для создания автоматических тестов и обращение через API к элементам ...
Программа курса
Модуль 1
Автоматизация UI
Модуль 2
Webdriver API
Модуль 3
Фреймворки
Модуль 4
Продвинутый уровень
Модуль 5
Интеграционные тесты
Модуль 6
Проект
Автоматизация UI
Пирамида автоматического тестирования.
Автоматические тесты на разных уровнях. Стоимость автоматических тестов. Что должен делать автоматизатор?
Участники смогут: понять структуру автоматических тестов на проекте, правильно применять данную структуру в проектах.
Webdriver
Как работает WebDriver. Аналоги WebDriver. Основные методы. Первый тест.
Участники смогут: познакомиться с Webdriver, узнать об аналогах. Ознакомиться, как работают методы класса WebDriver.
Домашние задания: 1
ДЗ
Написать первый тест, позволяющий нажимать на кнопку Find Flights в приложении BlazeDemo.com. Сценарий:
1. Открыть страницу BlazeDemo.com
2. Нажать на кнопку FindFlights
Ожидаемый результат: открылась страница с результатами поиска
Знакомство с технологиями: TestNG, JUnit, XPath, CSS
Все, что необходимо для создания автоматических тестов.
Участники смогут: разобраться в первом тесте со всеми необходимыми технологиями.
WebDriver: Настройка
Поддерживаемые браузеры.
Участники смогут: настраивать под свои цели Webdriver и пользоваться всеми преимуществами этого инструмента.
Домашние задания: 1
ДЗ
Рефакторинг Первой самостоятельной работы. Открыть сайт blazedemo.com и совершить покупку билета по любому направлению.

Проверки, которые необходимо реализовать:
1) На странице результатов поиска показаны рейсы из/в город, которые были выбраны
2) На странице заполнения данных пассажира необходимо проверить
а. номер выбранного рейса, название авиакомпании, цена из результатов поиска рейса
б. конечную цену(Total price) которая считается по формуле Total price= Price + Arbitrary Fee and Taxes
3) Заполнить любыми данными поля
4) Покупка билета завершена(есть ID, Status, Amount , последние 4 цифры введенной карты и expiration date карты)

Также необходимо:
1. Добавить @After и @Before в тест
2. Установить implicit wait
3. Добавить Expected Conditions в тех местах, где они нужны

Необходимо использовать ТОЛЬКО xpath и/или css селекторы.
Сдача задания архивом или ссылкой на github
Git, Maven, Java 8 - основы для быстрого создания и масштабирования автоматических тестов
Участники смогут: пользоваться технологиями Git, Maven, Java 8 для быстрого создания и масштабироваия автоматических тестов.
Шаблоны проектирования
Page Оbject - паттерн или антипаттерн? Шаблоны языка программирования Java. Page Object Recorder.
Участники смогут: узнать о шаблонах проектирования автоматических тестов и шаблонах проектирования языка программирования Java.
Домашние задания: 1
ДЗ
Page Object. Рефакторинг домашнего задания:


1. Воспользоваться двумя паттернами на выбор (например, Page Object и Singleton)

2. Добавить maven surefire plugin и добавить тест в suite TestNG (осуществить запуск теста командой mvn test)
3. Проект должен находиться на GitHub/BitBucket
4*(не обязательное):
- Добавить библиотеку lombok к проекту,
- воспользоваться фильтрацией из JDK 8,
- добавить Profiles к maven,
- добавить дополнительный TestNG suite и запускать suite командой mvn test -Dsuite=suite_name
Webdriver API
Элемент и работа с элементом
Что умеет делать WebDriver API с элементом на странице.
Участники смогут: познакомиться с основными функциями WebDriver API. Смогут научиться делать Drag'n'Drop с элементом.
Свойства элементов. Что можно узнать об элементе
Участники смогут: проверить, подкрашен ли элемент при наведении мыши на элементе.
Домашние задания: 1
ДЗ
Работа со свойствами элементов. Создать автоматический тест, который проверяет размер элемента и изменения при наведении на него
Варианты выполнения домашней работы на 2х сайтах(СДЕЛАТЬ ТОЛЬКО 1!)
1. Сайт: blazedemo.com/login
Описать новый Page Object на страницу Login(если не реализован)
Навести указатель мыши на кнопку login
- Проверить, что размер кнопки не поменялся
- Проверить, что цвет кнопки в наведенном состоянии - rgba(37, 121, 169, 1)

ИЛИ

2. Сайт: automationpractice.com
Описать новый Page Object на страницу
Навести указатель мыши на кнопку WOMEN
- Проверить, что размер кнопки не поменялся
- Проверить, что цвет кнопки в наведенном состоянии - rgba(51, 51, 51, 1)
Ожидания. Глубокое погружение. WebDriverWait. Explicit/implicit waits. Expected Conditions.
Участники смогут: правильно работать с ожиданиями элемента на странице.
Работа с браузерами
Как запустить тесты на разных браузерах. Cookies. Proxy.
Участники познакомятся с браузерами и смогут запускать тесты на разных браузерах разных версий.
Домашние задания: 1
ДЗ
Добавить запуск теста через Internet Explorer/Edge/Safari. Создать автоматический тест по следующему сценарию:
1. Открыть сайт http://automationpractice.com/index.php
2. Навести указатель мыши на Women
3. Дождаться появление меню c помощью ExpectedConditions
4. Выбрать в меню T-Shirts
5. Проверить, что результаты появились на странице

Задание нужно сделать на любом из четырех браузеров на выбор:
InternetExplorer,
Edge,
Opera,
Safari

* Дополнительное задание:
Сделать параметр запуска headless, по которому Google Chrome запускается в headless режиме
Рекомендации:
Применить паттерн PageObject, вынести Menu в отдельный компонент
Selenium Grid. Как быстро распараллелить тесты
Участники научатся использовать Selenium Grid из коробки для распараллеливания тестов.
Фреймворки
Behaviour Driven Development
Когда используется BDD. Cucumber. Демо.
Участники познакомятся с реализацией BDD непосредственно в автоматических тестах.
Домашние задания: 1
ДЗ
Behavior Driven Development. Домашнее задание:
1. Установить Cucumber как новый проект,
2. Написать два любых сценария (features) в новом проекте и реализовать их,
3. Запустить Selenium Grid на локальной машине с 1 node,
4. Запустить сценарии с использованием mvn test -Dbrowser=remotewebdriver.

Дополнительное задание:
*Внедрить Cucumber в созданный ранее проект и реализовать feature для определения результатов поиска T-shirts предыдущего домашнего задания.
Serenity
Для чего нужен, преимущества. Интеграция с BDD. Демо.
Участники увидят преимущество первого фреймворка над созданием собственного решения.
Домашние задания: 1
ДЗ
Serenity + Cucumber. Написать Feature для реализации поиска в поисковой системе Спутник

Создать сценарий поиска любого запроса в Спутник
Убедиться, что результаты поиска присутствуют на странице.

Реализовать с помощью Serenity в связке с Cucumber.
Selenide. Часть 1
Знакомство, применение. Применение прямо из коробки. Демо.
Участники познакомятся с Selenide. Узнают преимущества работы с Selenide.
Selenide. Часть 2
PageObject по версии Selenide. Настройка Selenide. Демо проект.
Участники смогут настраивать Selenide под нужды проекта.
Домашние задания: 1
ДЗ
Selenide. Необходимо реализовать тест с использованием Selenide


Кейс:

1. Открыть страницу artlebedev.ru,

2. Перейти на страницу Инвентарь,

3. Выбрать Полезные штуки "Матрица идей",

4. Выполнить поиск любого запроса,


Проверить, что результаты поиска отображаются.



Дополнительные задания:

- Реализовать Test в виде цепочки,

- Использовать ElementsContainer для Меню сайта.
Appium
Необходимость и применение. Сравнение с WebDriver.
Знакомство с Appium. Принципы работы этого инструмента.
JDI
Преимущества JDI над остальными по версии JDI. Когда стоит использовать данный фреймворк. Демо + сравнение.
Знакоство с JDI. Сравнение JDI с уже известными фреймворками. Плюсы и минусы.
Домашние задания: 1
ДЗ
JDI. Реализовать тест на покупку авиабилета с использованием JDI.
Сравнение всех фреймворков
Html Elements, Arachnidium и прочие.
Участники смогут выбрать нужный фреймворк для создания автоматических тестов в проекте с нуля.
Продвинутый уровень
xPath vs CSS
Функции XPath против простоты CSS. Какой локатор лучше?
Участники сравнят создание селекторов с помощью XPath и CSS.
Домашние задания: 1
ДЗ
Написать все элементы Header и Поиска с помощью XPath и CSS.
JUnit 5
Сравнение с TestNG. Применение. Listeners
Участники смогут поучаствовать в вечной битве между Junit и TestNG, узнать все плюсы и минусы данных подходов и найти лучший.
Логирование
Средства для логирования автотестов. Как можно быстро найти баг в автотесте.
Участники смогут быстро находить баги в автотестах используя логирование сторонними инструментами.
Домашние задания: 1
ДЗ
Добавить логирование, запись видео, траффика, снятие скриншотов в свой проект.
Траблшутинг
Allure 2.0, Report Portal
Отчеты о прохождении тестов. Интеграция в проект.
Участники познакомятся с Allure, Report Portal. Сравнят оба решения.
Jenkins и Continuous Integration
Работа и настройка Jenkins для прогона автоматических тестов.
Участники познакомятся с Jenkins, смогут настроить Jenkins под свои нужды в проекте.
Знакомство с Continuous Delivery
Домашние задания: 1
ДЗ
Добавить свой проект к тестовому Jenkins. Создать Job для запуска теста. Добавить Allure в Jenkins для отчетов (как плагин и интегрировать в проект)
Многопоточные тесты. Работа с ThreadLocal, synchronized
Неочевидные проблемы работы с многопоточностью.
Использование многопоточности для параллельного запуска тестов. Подводные камни.
Selenoid, Docker как новый виток развития запуска многопоточных тестов
Участники смогут настраивать Selenoid для запуска тестов в параллельном режиме на разных браузерах.
Домашние задания: 1
ДЗ
Работа с Selenoid. Для решения домашнего задания необходимо установить Docker и Selenoid к себе на машину (можно на виртуальную).
Необходимо запустить тесты в мнопоточном режиме с помощью Selenoid.
Автоматические тесты при тестировании безопасности Web приложения
Участники смогут использовать DataProvider и писать тесты на поиск уязвимостей Web-приложений.
Домашние задания: 1
ДЗ
Добавить DataProvider к проекту и написать тест на поиск XSS уязвимостей приложения.
Внедрение автоматизации в QA отделе
Интеграция автоматизации в R&D Team. Оценка трудозатрат.
Участники узнают про интеграцию автоматизации в проект, как в начальной стадии проекта, так и в середине проекта.
Интеграционные тесты
Введение в интеграционное тестирование
Какие тесты пишут автоматизаторы. Stubs.
Участники узнают про интеграционное тестирование, смогут понять, в какой части интеграционных тестов автоматизаторы могут помочь.
REST API
HttpClient для отправки и получении запросов. Hamcrest для валидации.
Участники узнают, как отправлять запросы и получать ответы. Познакомятся с Hamcrest для валидации ответов.
Rest-assured, UniRest, Retrofit для интеграционного тестирования
Участники познакомятся с Rest Assured, научатся быстро писать интеграционные тесты в проекте.
Домашние задания: 1
ДЗ
Создать два теста с использованием Rest-Assured фреймворка. Домашнее задание:

Зарегистрироваться на api.yandex.ru, получить API ключ.


Прочитать документацию:
https://tech.yandex.ru/dictionary/doc/dg/reference/lookup-docpage/


Сделать два теста:

1. тест на метод getLangs(),

2. тест на метод lookup(),

используя Rest-Assured.
Создание интеграционных тестов и UI тестов
Как можно объединить возможности интеграционного и UI тестирования в автоматизации.
Участники смогут решать задачи создания UI тестов на основе проверок REST API.
Домашние задания: 1
ДЗ
Создать тест, отправляющий запрос на REST и проверяющий соответствие данных в UI. Воспользоваться API Переводчика
https://tech.yandex.ru/translate/doc/dg/reference/translate-docpage/
и проверить соответствие результата перевода на web странице ответу от REST API https://translate.yandex.ru, создав 1 автоматический тест.
Проект
Проект. Написать автоматические тесты в проекте. Разделение на команды. Работа в одном репозитории.

Преподаватель

Павел Попов
Эксперт в области автоматического тестирования с опытом работы более 7 лет. Прошел карьерный путь от тестировщика до программиста в тестировании. Управлял командами тестирования, работал в должности менеджера по автоматизации тестирования. Сейчас занимает позицию в Финтех компании, главный офис разработки которой находится на Кипре.
Один из основателей школы автоматизации тестирования Quality Alliance. Постоянно улучшает свои навыки принимая участие на конференциях в качестве докладчика/участника: European Testing Conference, SeleniumCamp, Mail.Ru Meetup, Яндекс.Гости, QACyprusCommunity, Mera DevFest.
Работал преподавателем в Академии при Президенте РФ (слушатели курсов: студенты третьего курса специальности Информационные Технологии).
Имеет почетную грамоту “За многолетнее плодотворное участие в развитии Quality Assurance Alliance клуба vk.com/qa_alliance”.

F.A.Q.: Наиболее часто задаваемые вопросы:

Могу ли я принять участие в розыгрыше, если я уже оплатил обучение?
В розыгрыше принимают участие все пользователи, успешно прошедшие вступительное тестирование. Если вы уже оплатили обучение и выиграли в розыгрыше, то мы компенсируем вам затраты.
Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару. Если вы хотите принять участие в розыгрыше – не позже чем за час до начала мероприятия необходимо зарегистрироваться на сайте и успешно пройти вступительное тестирование
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы