Изучите базовый синтаксис, типы данных, условия, циклы и функции. Научитесь писать хороший код в контексте автоматизации.
ООП
Поймете, что такое классы, объекты, наследование и инкапсуляция и даже self. Поймете, как применять ООП в автоматизации и крупных проектах.
Selenium
На глубоком уровне освоишь работу с браузером через код: поиск элементов, клики, ввод данных, ожидания и многое другое.
Программа курса
Структурированный путь в автоматизацию
🚀 Занятие 1 - Введение
Установка Python
Установка IDE и полезных расширений
Создание виртуального окружения
Пишем первую программу "Hello AQA-PROKA4"
Домашнее задание
🚀 Занятие 2 - Переменные и типы данных
Что такое и для чего нужны
Обьявление переменных
Именование переменных
Типы данных в Python
Классификация по типам данных
Преобразование типов
Переопределение переменной
Арифметические операции
Операции сравнения
Домашнее задание
🚀 Занятие 3 - Строки
Создание строки
Доступ к символам
Срезы строк
Получение длины строки
Конкатинация строк
F-строки
Экранирование
Базовые методы строк
Проверка на содержимое строки
Домашнее задание
🚀 Занятие 4 - Списки
Что такое и для чего нужны списки в автоматизации
Создание списка
Получение элементов списка
Добавление элементов в список и их замена
Удаление элементов из списка
Получение длины списка
Срезы списков
Сложение списков
Копирование списков
Домашнее задание
🚀 Занятие 5 - Условные операторы
Логические операции
Что такое условные операторы
Оператор if
Оператор else
Оператор elif
Логические операции в условиях
Тернарный оператор
Домашнее задание
🚀 Занятие 6 - Словари
Что такое и для чего нужны словари в автоматизации
Создание словаря
Доступ к элементам словаря по ключу
Обновление элементов словаря
Удаление элементов словаря
Получение ключей и значений
Проверка на наличие ключей
Перебор словаря
Домашнее задание
🚀 Занятие 7 - Циклы
Что такое и для чего нужны циклы в автоматизации
Цикл for
Цикл while
Остановка цикла
Домашнее задание
🚀 Занятие 8 - Работа с файлами
Использование функции open()
Обычное и построчное чтение файла
Запись и перезапись файла
Использование контекстного менеджера
Проверка существования файла
Удаление файла
Домашнее задание
🚀 Занятие 9 - Функции
Что такое и для чего нужны функции в автоматизации
Создание и вызов функций
Аргументы функции
Дефолтные значения аргументов
Получение данных из функции
Функция как аргумент
Переменное число аргументов
Декораторы
Домашнее задание
🚀 Занятие 10 - Обьектно ориентированное программирование. Часть 1
Введение в ООП и его концепция
Поля, атрибуты, методы и свойства класса
Инициализация обьекта класса
Что такое self-параметр
Икапсуляция на примере автоматизации
Домашнее задание
🚀 Занятие 11 - Обьектно ориентированное программирование. Часть 2
Полиморфизм на примере автоматизации
Наследование
Замена и добавление атрибутов дочернего класса
Типы методов в Python
Домашнее задание
🚀 Занятие 12 - Дополнения
Функция isinstance()
Функции getattr(), setattr()
lambda-функция
Функция enumerate()
List comprehenstions
Аннотации типов
Функция any()
Инструкция try, except, finally
🚀 Занятие 13 - Самостоятельная работа
Live-кодинг задачи с интервью
Разбор решений
🚀 Занятие 14 - Работа с базами данных
Подключение к базе данных
Что такое курсор
Запросы и получение данных
Закрытие подключения
Разработка хендлера
🚀 Занятие 1 - Введение в Selenium
Что такое Selenium и его компоненты
Создание виртуального окружения
Установка Selenium и зависимостей
Инициализация Chromedriver и Firefox
Домашнее задание
🚀 Занятие 2 - Навигация браузера и поиск элементов
Управление навигацией браузера
Спящий код
Что такое WebElement
Поиск веб-элемента и его особенности. Часть 1
Поиск элементов без By
Поиск множества элементов и работа с ними
Ваш первый клик
Домашнее задание
🚀 Занятие 3 - Xpath и получение данных из браузера
Получение URL-страницы
Получение заголовка страницы
Получение всего содержимого страницы
Валидация данных через assert
Что такое Xpath и как с ним работать
Xpath - Глобальный поиск
Xpath - Поиск по уровню вложенности
Xpath - Поиск по порядковому номеру
Xpath - Поиск по атрибутам
Xpath - Поиск по содержимому
Xpath - Поиск parent по child
Функция normalize-space()
Рекомендации по xpath
Инспектирование исчезающих элементов
Домашнее задание
🚀 Занятие 4 - Работа с полями ввода и клавиатурой. Получение атрибутов элементов
Получение состояний элементов
Ввод данных в поля ввода
Получение атрибутов полей ввода и других элементов
Очистка полей ввода
Работа с клавиатурой
Копирование и вставка
Тренажеры
Домашнее задание
🚀 Занятие 5 - Опции браузера. Загрузка и скачивание файлов
Первое знакомство с опциями браузера
Работа с обьектом опций
Основные базовые опции браузера
Стратегия загрузки страницы
Загрузка файлов
Скачивание файлов
Домашнее задание
🚀 Занятие 6 - Ожидания
Неявные ожидания
Явные ожидания
Ожидаемые условия
Кастомные сообщения об ошибках
Кастомные ожидания
Домашнее задание
🚀 Занятие 7 - WebDriver-мод и User-agent. Работа с Alerts
Что такое и как использовать User-agent
Отключение режима WebDriver
Что такое Alert и как с ним работать
Принять / отклонить Alert
Получение текста из Alert
Ввод данных в Alert
🚀 Занятие 8 - Работа с Cookies
Что такое cookies
Получение cookies
Добавление cookies
Замена cookies
Сохранение cookies в файл
Чтение cookies из файла
Алгоритм авторизации через cookies
Авторизация через local-storage
Домашнее задание
🚀 Занятие 9 - Радио, чек-боксы, выпадающие списки и мультиселекты
Что такое чек-бокс
Клик на чек-бокс
Статусы чек-бокса
Нюансы работы с чек-боксами
Радио-кнопки
Кодовая база для работы с dropdown
Стандартный dropdown
Выборка из dropdown
Современный dropdown
Работа с мультиселектом
Домашнее задание
🚀 Занятие 10 - Окна, вкладки и iframes
Открытие нового окна/вкладки
Работа с дескриптором
Получение всех открытых окон/вкладкок
Переключение между окнами/вкладками
Закрытие окон и вкладок
Работа с iframes
Домашнее задание
🚀 Занятие 11 - Actions Chains
Что такое Action API
Фундамент для работы
Клик через цепочку действий
Двойной клик
Клик правой кнопкой мыши
Наведение на элемент
Пауза в цепочке действий
Скролл к элементу
Перетаскивание (drag and drop)
Клик с удержанием
Отпускаем кнопку мыши
Работа с координатами
🚀 Занятие 12 - Горизонтальные слайдеры
Подход к работе
Реализация разных вариантов
Примеры с занятия
Домашнее задание
🚀 Занятие 13 - Работа с таблицами
Основные сущности в таблицах
Реализация через создание хендлера
Xpath - Относительный поиск по веб-элементам
Реализация интерфейса управления таблицей
Стратегия ленивой загрузки
Домашнее задание
🚀 Занятие 14 - Работа с Datepicker и BasicAuth
Обход BasicAuth
Создание интерфейса для работы с datepicker
Использование JS в Selenium
🚀 Занятие 15 - Профили, расширения браузера и работа с Proxy
Создание профилей
Использование профилей
Добавление расширений
Использование proxy без авторизации
Использование proxy с авторизацией
🚀 Занятие 16 - Перехват HTTP-запросов в Selenium
Введение в Selenium-wire
Установка зависимостей
Быстрый старт
Подмена ответа от сервера
Дополнительные функции
Главные AI-фичи
AI-ассистент
На протяжении всего обучения под рукой будет AI-агент в виде чата, который обучен на программе курса и поможет по любым вопросам.
AI-заметки
Из длинные методических материалов можно легко сгенерировать заметку с основными тезисами для быстрого повторения, а еще можно ее редактировать как вам нужно.
AI-проверка домашних работ
Все домашние работы будут мгновенно проверены AI и вы получите полноценный фидбек по своей работе.
AI-решения
После успешной сдачи домашней работы, вы можете сгенерировать варианты альтернативных решения задания с подробным обьяснением каждого из них.
Интервью беклог
Дашборд, который формируют студенты и деляться задачами с интервью. Вы сможете решить их в стиле домашней работы и получить альтернативные решения.
АЛЕКСЕЙ КОЛЕДАЧКИН
Автор курса и преподаватель
7 лет в автоматизации тестирования
Практикующий Tech Lead
Автор курсов на Stepik
YouTube-канал с 10 000+ подписчиков
АЛЕКСЕЙ КОЛЕДАЧКИН
Автор курса и преподаватель
7 лет в автоматизации тестирования
Практикующий Tech Lead
Автор курсов на Stepik
YouTube-канал с 10 000+ подписчиков
Готовы начать обучение?
Присоединяйтесь к курсу и освойте свои первые инструменты автоматизации на действительно качественном уровне