-
1. Настройка проекта автоматизации. Сборка проектов в Gradle. Chromedriver.
01:30:00
-
Домашнее задание 1. Настройка зависимостей dependencies
-
2. Мини-проект тестирования онлайн магазина на Selenium. Размещение проекта в GIT репозитории.
02:00:00
-
Домашнее задание 2. Создание автотеста по переходу на страницу и подтверждение её контента
-
3. CSS и XPATH локаторы
02:00:00
-
Домашнее задание 3. Создание CSS и XPATH локаторов
-
4. Начало первого курсового проекта: сайт-записная книжка контактов. Метод проверки на существование элемента IsElementPresent. Класс TestBase
02:00:00
-
Домашнее задание 4. Автотесты авторизации и навигации по веб-приложению телефонной книги
-
5. Методы печати type и нажатия click. Извлечение объекта
02:00:00
-
Домашнее задание 5. Взаимодействие с интерфейсом Ui по удалению контакта
-
6. Setters и текучий интерфейс (Fluent interface). Метод набора предусловий BeforeSuit
02:00:00
-
Домашнее задание 6. Оптимизация проекта под fluent интерфейс.
-
7. Паттерн «Объект-значение» Value Object Model (VOM). Менеджмент объектов ООП ApplicationManager
02:00:00
-
Домашнее задание 7. VOM проект.
-
8. Тесты через xml файл и консоль cmd в testNG.
02:00:00
-
Домашнее задание 8. Тесты в testng.xml.
-
9. Предоставление тесту данных через функцию DataProvider. Автоматическое создание логов об ошибке.
02:00:00
-
Домашнее задание 9. негативный тест по регистрации с DataProvider и logs.
-
10. Jenkins часть 1. Непрерывная интеграция (CI/CD, Continuous Integration/Continuous Delivery) Автозапуск тестов. Автоматическое создание скриншотов об ошибке. Реагирования на события в Listener.
02:00:00
-
Домашнее задание 10. запуск тестов через Jenkins.
-
11. Jenkins часть 2. Завершение первого курсового проекта. Интеграция с Postman API коллекцией через newman nodejs. Завершение первого курсового проекта.
02:00:00
-
Домашнее задание 11. запуск проекта Postman на Jenkins.
-
12. API тесты часть 1. http client, Rest Assured, okhttp. Мини-проект тестирования API зоомагазина
02:00:00
-
Домашнее задание 12. Создание dto класса, с API тестом request и response.
-
13. API тесты часть 2.
02:00:00
-
Домашнее задание 13. Завершение мини проекта по API зоомагазина.
-
14. Мобильное тестирование. Начало второго курсового проекта: мобильное приложение-планировщик. Android studio. Команды эмуляции действий пользователя Android Debug Bridge adb, история логов logcat.
02:00:00
-
Домашнее задание 14. Использование Android Debug Bridge (adb) команд для установки приложения на эмулятор
-
15. Команды adb shell. Генерация случайных действий с Monkey.jar.
02:00:00
-
Домашнее задание 15. Работа с мобильным приложением через main activity
-
16. Framework Appium часть 1. Appium Server, Inspector. Действия на мобильном девайсе. Методы нажатия tap и печати type.
02:00:00
-
Домашнее задание 16. Использование методов tap и type.
-
17. Framework Appium часть 2. Заполнение форм и подтверждение количества полей.
02:00:00
-
Домашнее задание 17. Создание тестов на мобильное приложение.
-
18. Framework Appium часть 3. Перемещение через Swipe. Библиотека RestAssuredTests для тестов API.
02:00:00
-
Домашнее задание 18. Завершение второго курсового проекта.
-
19. Анализатор сетевого траффика (sniffer) Charles proxy
02:00:00
-
Домашнее задание 19. Перехват HTTPS трафика.
-
20. Начало третьего курсового проекта: POM на сайт с онлайн тренажёрами по тестированию. Паттерн репозитория объектов для хранения веб-элементов: Page Object Model (POM). Аннотация поиска элементов FindBy.
02:00:00
-
Домашнее задание 20. Логгер в POM.
-
21. Класс действий Action.
02:00:00
-
Домашнее задание 21. Мини-проект POM тестов поиска по онлайн магазину.
-
22. История действий в Logger. Автотесты открытия новых вкладок. Всплывающие окна Alerts. Завершение мини POM проекта поиска по онлайн магазину.
02:00:00
-
Домашнее задание 22. Assert в модальных окнах.
-
23. Выпадающий список Select, работа с кнопками списка.
02:00:00
-
Домашнее задание 23. Выпадающий список Select.
-
24. Блоки рамок Frames и iframes. Перенос объектов через droppable, draggable.
02:00:00
-
Домашнее задание 24. Перенос объектов.
-
25. Класс автоматизации действий Robot. События клавишей клавиатуры KeyEvent. Загрузка файлов через интерфейс. Раскрывающиеся списки. Ползунки. Перемещение к элементу интерфейса. Автокопирование классом ToolKit.
02:00:00
-
Домашнее задание 25. Автозаполнение полей ввода.
-
26. Выполнение javascript на JSExecutor. Кнопки Checkbox. Поиск getElement querySelector. Работа с битыми ссылками и изображениями. Наведение на объект ToolTips. Автоматическое обновление и прокрутка страницы.
02:00:00
-
Домашнее задание 26. Завершение третьего курсового проекта.
-
27. Framework Cucumber часть 1. BDD Behavior-driven development (BDD).
02:00:00
-
Домашнее задание 27. Начало четвёртого курсового проекта
-
28. Framework Cucumber часть 2.
02:00:00
-
Домашнее задание 28.
-
29. Selenide Параллельный запуск тестов.
02:00:00
-
Домашнее задание 29. SELENIDE cоздание предусловий
-
30. Совместная работа Selenide и Cucumber.
02:00:00
-
Домашнее задание 30. Тест на Selenide и Cucumber.
-
31. Mockito часть 1. Unit тестирование. Отличие реального объекта от тестовых заглушек (Test Doubles): Mock, Stub, Spy, Fake. Тестирование в изоляции. Создание @Mock и mock. Настройка поведения when thenReturn.
00:00
-
Домашнее задание 31.
-
32. Mockito часть 2. Мокирование методов ArgumentMatchers: any, eq, anyString и custom. Исключения thenThrow. Аннотация InjectMocks.
00:00
-
Домашнее задание 32.
-
33. Mockito часть 3. Верификация взаимодействий: verify, never, atLeast, times. Проверка порядка вызовов через InOrder. Аннотация Spy и частичное мокирование. Как разорвать зависимость.
00:00
-
Домашнее задание 33.
-
34. Mockito часть 4. Мокирование static методов mockStatic и final классов. BDD в mockito: given.willReturn, then.should, сравнение с классическим подходом when.thenReturn и verify.
00:00
-
Домашнее задание 34.
-
35. Mockito часть 5. Мокирование внешних HTTP запросов для изоляции API тестов. MockWebServer (OkHttp, RestTemplate, Retrofit). WireMock.
00:00
-
Домашнее задание 35.
-
36. Playwright часть 1. Настройка проекта playwright.config. Архитектура Browser, Context, Page. Действия по навигации и заполнению форм goto, click, fill, navigation waits.
00:00
-
Домашнее задание 36. Навигация в меню, подтверждение текста на странице.
-
37. Playwright часть 2. Генерация локаторов: getByRole, getByText, getByLabel, locator. Assertions изменения состояния приложения: toBeVisible, toHaveText, toHaveValue, toMatchSnapshot. Цепочки действий. Auto-waiting механизм.
00:00
-
Домашнее задание 37. Добавление нескольких задач, проверка их отображения и отметка одной как выполненной.
-
38. Playwright часть 3. Продвинутые локаторы. Работа со списками: locator, nth, filter, has. Действия: click, fill, check, selectOption, hover. Shadow DOM. Data атрибуты: data-test, data-testid.
00:00
-
Домашнее задание 38. Добавление и последующее удаление элементов страницы с использованием продвинутых локаторов.
-
39. Playwright часть 4. Возврат данных и объектов в fixtures: browser, page, context. Параллельное выполнение тестов (workers). Изоляция Browser Context cookies, storage, независимость сессий.
00:00
-
Домашнее задание 39. Использование фикстуры с настройкой локали браузера для проверки локализованного текста на сайте.
-
40. Playwright часть 5. Assertions цепочки. BeforeEach / afterEach hooks. Подготовка состояния для теста: настройка данных, открытие страницы, создание контекста. Очистка теста: закрытие ресурсов, откат изменений.
00:00
-
Домашнее задание 40. Реализовать автоматический логин перед каждым тестом и очистку корзины после, написать тест добавления товара.
-
41. Playwright часть 6. Playwright и Page Object Model. Использование Page из фикстур.
00:00
-
Домашнее задание 41. Рефакторинг теста в Page Object.
-
42. Playwright часть 7. Локаторы во фреймах: frame, frameLocator. Всплывающие окна и диалоги page.on(‘dialog’).
00:00
-
Домашнее задание 42. Создания теста для работы с элементом внутри iframe: взаимодействие с текстовым редактором и обработка всплывающего диалогового окна.
-
43. Playwright часть 8. Выгрузка файлов setInputFiles и загрузка page.waitForEvent(‘download’). Явные ожидания (waits): waitForSelector, waitForLoadState, waitForURL.
00:00
-
Домашнее задание 43. Тест для загрузки файла.
-
44. Playwright часть 9. Множественные страницы и вкладки. Создание нового контекста и управление несколькими страницами.
00:00
-
Домашнее задание 44. Тест для работы с несколькими окнами.
-
45. Playwright часть 10. Группировка тестов describe.configure: таймауты, повторные запуски retries, параллельность на уровне группы. Аннотации тестов: test.skip, test.only, test.fixme.
00:00
-
Домашнее задание 45. Разные аннотации для тестов внутри группы.
-
46. Playwright часть 11. Создание кастомных ожиданий. Обработка динамически подгружаемого контента. Паттерны для асинхронных операций.
00:00
-
Домашнее задание 46. Тест для страницы с динамической загрузкой. Ожидание исчезновения индикатора.
-
47. Playwright часть 12. Перехват и мокирование сетевых запросов (часть 1). Перехват сетевых запросов route, waitForResponse. Мокирование API ответов response.
00:00
-
Домашнее задание 47. Перехват запросов к CSS-файлам.
-
48. Playwright часть 13. Перехват и мокирование сетевых запросов (часть 2). Расширенный контроль над запросами: route, route.fulfill, route.abort, route.continue, waitForResponse.
00:00
-
Домашнее задание 48. Перехват запроса к странице и подмена её содержимого.
-
49. Playwright часть 14. Тестирование API и трассировка. Использование APIRequestContext для тестов API. Инструмент трассировки Playwright (Trace) для отладки.
00:00
-
Домашнее задание 49. API-запрос для получения данных.
-
50. Playwright часть 15. Артефакты и отчеты. Работа с артефактами: trace, видео, скриншоты, HAR. Настройка репортеров.
00:00
-
Домашнее задание 50. Конфигурация проекта для автоматического сбора артефактов (видео, скриншоты).
-
51. Playwright часть 16. Интеграция в CI/CD. Настройка непрерывной интеграции: интеграция в CI/CD пайплайн (например, GitHub Actions).
00:00
-
Домашнее задание 51. Автоматический запуск всех тестов в CI/CD (GitHub Actions) с сохранением отчётов и артефактов для анализа.