Открытый вебинар
Автоматизатор в тестировании: Селекторы CSS и их применение

Проходил 15 февраля в 20:00

Открытый вебинар онлайн

На уроке слушатели познакомятся с данным видом селекторов, научатся применять данный вид селекторов для поиска нужных элементов на странице, узнают о дополнительных возможностях CSS селекторов. Данный вид селекторов очень часто используется автоматизатором для указания на элемент.

О курсе

Автоматизатор в тестировании
38 000 ₽
5 месяцев
Начало 6 марта
Слушатели курса узнают, как писать автоматические тесты REST и UI приложения. В процессе прохождения курса, слушатель познакомится с инструментом WebDriver, научится использовать его API для создания автоматических тестов и обращение через API к элементам Web страницы; сможет написать автоматические тесты REST API с использованием Rest-Assured framework. Каждая часть курса будет постепенно углублять слушателя в автоматизацию. В завершение проекта каждый слушатель ...
Программа курса
1
Автоматизация UI
2
Webdriver API
3
Фреймворки
4
Продвинутый уровень
5
Интеграционные тесты
6
Проект
Занятие 1: Пирамида автоматического тестирования.
Автоматические тесты на разных уровнях. Стоимость автоматических тестов. Что должен делаеть автоматизатор?
Участники смогут: понять структуру автоматических тестов на проекте, правильно применять данную структуру в проектах.
Занятие 2: Webdriver
Как работает WebDriver. Аналоги WebDriver. Основные методы. Первый тест.
Участники смогут: познакомиться с Webdriver, узнать об аналогах. Ознакомиться, как работают методы класса WebDriver.

ДЗ

Написать первый тест, позволяющий нажимать на кнопку Find Flights в приложении BlazeDemo.com. Сценарий:
1. Открыть страницу BlazeDemo.com
2. Нажать на кнопку FindFlights
Ожидаемый результат: открылась страница с результатами поиска
Занятие 3: Знакомство с технологиями: TestNG, JUnit, XPath, CSS
Все, что необходимо для создания автоматических тестов.
Участники смогут: разобраться в первом тесте со всеми необходимыми технологиями.
Занятие 4: WebDriver: Настройка
Поддерживаемые браузеры.
Участники смогут: настраивать под свои цели Webdriver и пользоваться всеми преимуществами этого инструмента.

ДЗ

Рефакторинг Первой самостоятельной работы. 1. Запуск теста на выбор: Safari или Edge,
2. Изменение селекторов с XPath на CSS,
3. Добавление Implicit и Explicit wait в тест
4. Добавление @After и @Before в тест
5. Добавление двух Expected Conditions на выбор
Занятие 5: Git, Maven, Java 8 - основы для быстрого создания и масштабирования автоматических тестов
Участники смогут: пользоваться технологиями Git, Maven, Java 8 для быстрого создания и масштабироваия автоматических тестов.
Занятие 6: Шаблоны проектирования
Page Оbject - паттерн или антипаттерн? Шаблоны языка программирования Java. Page Object Recorder.
Участники смогут: узнать о шаблонах проектирования автоматических тестов и шаблонах проектирования языка программирования Java.

ДЗ

Page Object. 1. Создать два класса Page для проекта,
2. Разместить свой проект на GitHub,
3. Добавить сборщик проекта Maven к проекту.
Занятие 7: Элемент и работа с элементом
Что умеет делать WebDriver API с элементом на странице.
Участники смогут: познакомиться с основными функциями WebDriver API. Смогут научиться делать Drag'n'Drop с элементом.
Занятие 8: Свойства элементов. Что можно узнать об элементе
Участники смогут: проверить, подкрашен ли элемент при наведении мыши на элементе.

ДЗ

Работа со свойствами элементов. Создать автоматический тест, который проверяет размер элемента и изменения при наведении на него.
Занятие 9: Ожидания. Глубокое погружение. WebDriverWait. Explicit/implicit waits. Expected Conditions.
Участники смогут: правильно работать с ожиданиями элемента на странице.
Занятие 10: Работа с браузерами
Как запустить тесты на разных браузерах. Cookies. Proxy.
Участники познакомятся с браузерами и смогут запускать тесты на разных браузерах разных версий.

ДЗ

Добавить запуск теста через Internet Explorer/Edge/Safari.
Занятие 11: Selenium Grid. Как быстро распараллелить тесты
Участники научатся использовать Selenium Grid из коробки для распараллеливания тестов.

ДЗ

Добавить Expected Conditions к тесту на ожидание элемента. Работа с параллелизацией.
Занятие 12: Behaviour Driven Development
Когда используется BDD. Cucumber. Демо.
Участники познакомятся с реализацией BDD непосредственно в автоматических тестах.
Занятие 13: Serenity
Для чего нужен, преимущества. Интеграция с BDD. Демо.
Участники увидят преимущество первого фреймворка над созданием собственного решения.

ДЗ

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

ДЗ

Selenide. Реализовать проверку покупки билета на BlazeDemo.
Занятие 16: Appium
Необходимость и применение. Сравнение с WebDriver.
Знакомство с Appium. Принципы работы этого инструмента.
Занятие 17: JDI
Преимущества JDI над остальными по версии JDI. Когда стоит использовать данный фреймворк. Демо + сравнение.
Знакоство с JDI. Сравнение JDI с уже известными фреймворками. Плюсы и минусы.

ДЗ

JDI. Тест на покупку билетов с использованием JDI. Выбрать понравившийся фреймворк
Занятие 18: Сравнение всех фреймворков
Html Elements, Arachnidium и прочие.
Участники смогут выбрать нужный фреймворк для создания автоматических тестов в проекте с нуля.
Занятие 19: xPath vs CSS
Функции XPath против простоты CSS. Какой локатор лучше?
Участники сравнят создание селекторов с помощью XPath и CSS.

ДЗ

Написать все элементы Header и Поиска с помощью XPath и CSS.
Занятие 20: JUnit 5
Сравнение с TestNG. Применение. Listeners
Участники смогут поучаствовать в вечной битве между Junit и TestNG, узнать все плюсы и минусы данных подходов и найти лучший.
Занятие 21: Логирование
Средства для логирования автотестов. Как можно быстро найти баг в автотесте.
Участники смогут быстро находить баги в автотестах используя логирование сторонними инструментами.

ДЗ

Добавить логирование, запись видео, траффика, снятие скриншотов в свой проект.
Занятие 22: Allure 2.0, Report Portal
Отчеты о прохождении тестов. Интеграция в проект.
Участники познакомятся с Allure, Report Portal. Сравнят оба решения.
Занятие 23: Jenkins и Continuous Integration
Работа и настройка Jenkins для прогона автоматических тестов.
Участники познакомятся с Jenkins, смогут настроить Jenkins под свои нужды в проекте.

ДЗ

Добавить свой проект к тестовому Jenkins. Создать Job для запуска теста. Добавить Allure в Jenkins для отчетов (как плагин и интегрировать в проект)
Занятие 24: Continuous Delivery. Pipelines
Как можно помочь процессу CI/CD для выкатки приложения.
Участники смогут понять, как автоматические тесты лучше всего помогают в Continuous Delivery, что такое Continuous Delivery.
Занятие 25: Многопоточные тесты. Работа с ThreadLocal, synchronized
Неочевидные проблемы работы с многопоточностью.
Использование многопоточности для параллельного запуска тестов. Подводные камни.

ДЗ

Добавить synchronized метод, ThreadLocal переменные в проект. Протестировать многопоточный запуск тестов и обращение к переменным
Занятие 26: Selenoid, Docker как новый виток развития запуска многопоточных тестов
Участники смогут настраивать Selenoid для запуска тестов в параллельном режиме на разных браузерах.
Занятие 27: Автоматические тесты при тестировании безопасности Web приложения
Участники смогут использовать DataProvider и писать тесты на поиск уязвимостей Web-приложений.

ДЗ

Добавить DataProvider к проекту и написать тест на поиск XSS уязвимостей приложения.
Занятие 28: Внедрение автоматизации в QA отделе
Интеграция автоматизации в R&D Team. Оценка трудозатрат.
Участники узнают про интеграцию автоматизации в проект, как в начальной стадии проекта, так и в середине проекта.
Занятие 29: Введение в интеграционное тестирование
Какие тесты пишут автоматизаторы. Stubs.
Участники узнают про интеграционное тестирование, смогут понять, в какой части интеграционных тестов автоматизаторы могут помочь.
Занятие 30: REST API
HttpClient для отправки и получении запросов. Hamcrest для валидации.
Участники узнают, как отправлять запросы и получать ответы. Познакомятся с Hamcrest для валидации ответов.
Занятие 31: Rest-assured, UniRest для интеграционного тестирования
Участники познакомятся с Rest Assured, научатся быстро писать интеграционные тесты в проекте.

ДЗ

Создать два теста с использованием Rest-Assured фреймворка.
Занятие 32: Создание интеграционных тестов и UI тестов
Как можно объединить возможности интеграционного и UI тестирования в автоматизации.
Участники смогут решать задачи создания UI тестов на основе проверок REST API.

ДЗ

Создать тест, отправляющий запрос на REST и проверяющий соответствие данных в UI.
Проект. Написать автоматические тесты в проекте. Разделение на команды. Работа в одном репозитории.