- Регистрация
- 09.04.2020
- Сообщения
- 353 752
- Реакции
- 32 501
- Монеты
- 1 191
- Оплачено
- 0
- Баллы
- 0
- #SkladchinaVip
- #1
Курс по построению процессов автоматизации тестирования на Python для web и rest api проектов с нуля. Тариф Web abtomation [Алексей Коледачкин]
- Ссылка на картинку
-
Модуль 1 - Python
14 занятий
Занятие 1 - Введение
15 занятий
Занятие 1 - Введение в Selenium
11 занятий
Занятие 1 - Введение в Pytest
8 занятий
Занятие 1 - Page Object Model (POM). Часть 1
5 занятий
Занятие 1 - Введение в requests
5 занятий
Занятие 1 - Введение в Docker
3 занятия
Занятие 1 - Введение в Git
6 занятий
Занятие 1 - Введение в CI/CD
3 занятия
Занятие 1 - Интерфейс для работы с UI
2 занятия
Занятие 1 - Составление CV
14 занятий
Занятие 1 - Введение
- Установка Python
- Установка IDE и полезных расширений
- Создание виртуального окружения
- Пишем первую программу "Hello AQA-PROKA4"
- Домашнее задание
- Что такое и для чего нужны
- Обьявление переменных
- Именование переменных
- Типы данных в Python
- Классификация по типам данных
- Преобразование типов
- Переопределение переменной
- Арифметические операции
- Операции сравнения
- Домашнее задание
- Создание строки
- Доступ к символам
- Срезы строк
- Получение длины строки
- Конкатинация строк
- F-строки
- Экранирование
- Базовые методы строк
- Проверка на содержимое строки
- Домашнее задание
- Что такое и для чего нужны списки в автоматизации
- Создание списка
- Получение элементов списка
- Добавление элементов в список и их замена
- Удаление элементов из списка
- Получение длины списка
- Срезы списков
- Сложение списков
- Копирование списков
- Домашнее задание
- Логические операции
- Что такое условные операторы
- Оператор if
- Оператор else
- Оператор elif
- Логические операции в условиях
- Тернарный оператор
- Домашнее задание
- Что такое и для чего нужны словари в автоматизации
- Создание словаря
- Доступ к элементам словаря по ключу
- Обновление элементов словаря
- Удаление элементов словаря
- Получение ключей и значений
- Проверка на наличие ключей
- Перебор словаря
- Домашнее задание
- Что такое и для чего нужны циклы в автоматизации
- Цикл for
- Цикл while
- Остановка цикла
- Домашнее задание
- Использование функции open()
- Обычное и построчное чтение файла
- Запись и перезапись файла
- Использование контекстного менеджера
- Проверка существования файла
- Удаление файла
- Домашнее задание
- Что такое и для чего нужны функции в автоматизации
- Создание и вызов функций
- Аргументы функции
- Дефолтные значения аргументов
- Получение данных из функции
- Функция как аргумент
- Переменное число аргументов
- Лямбда функции в автоматизации
- Декораторы
- Домашнее задание
- Введение в ООП и его концепция
- Поля, атрибуты, методы и свойства класса
- Инициализация обьекта класса
- Что такое self-параметр
- Икапсуляция на примере автоматизации
- Домашнее задание
- Полиморфизм на примере автоматизации
- Наследование
- Замена и добавление атрибутов дочернего класса
- Типы методов в Python
- Домашнее задание
- Функция isinstance()
- Функции getattr(), setattr()
- lambda-функция
- Функция enumerate()
- List comprehenstions
- Аннотации типов
- Live-кодинг задачи с интервью
- Разбор решений
- Подключение к базе данных
- Что такое курсор
- Запросы и получение данных
- Закрытие подключения
15 занятий
Занятие 1 - Введение в Selenium
- Что такое Selenium и его компоненты
- Создание виртуального окружения
- Установка Selenium и зависимостей
- Инициализация Chromedriver и Firefox
- Домашнее задание
- Управление навигацией браузера
- Спящий код
- Что такое WebElement
- Поиск веб-элемента и его особенности. Часть 1
- Поиск элементов без By
- Поиск множества элементов и работа с ними
- Ваш первый клик
- Домашнее задание
- Получение URL-страницы
- Получение заголовка страницы
- Получение всего содержимого страницы
- Валидация данных через assert
- Что такое Xpath и как с ним работать
- Xpath - Глобальный поиск
- Xpath - Поиск по уровню вложенности
- Xpath - Поиск по порядковому номеру
- Xpath - Поиск по атрибутам
- Xpath - Поиск по содержимому
- Xpath - Поиск parent по child
- Рекомендации по xpath
- Инспектирование исчезающих элементов
- Домашнее задание
- Получение состояний элементов
- Ввод данных в поля ввода
- Получение атрибутов полей ввода и других элементов
- Очистка полей ввода
- Работа с клавиатурой
- Копирование и вставка
- Тренажеры
- Домашнее задание
- Первое знакомство с опциями браузера
- Работа с обьектом опций
- Основные базовые опции браузера
- Стратегия загрузки страницы
- Загрузка файлов
- Скачивание файлов
- Домашнее задание
- Неявные ожидания
- Явные ожидания
- Ожидаемые условия
- Кастомные сообщения об ошибках
- Работа со скриншотами
- Домашнее задание
- Что такое и как использовать User-agent
- Отключение режима WebDriver
- Что такое Alert и как с ним работать
- Принять / отклонить Alert
- Получение текста из Alert
- Ввод данных в Alert
- Что такое cookies
- Получение cookies
- Добавление cookies
- Замена cookies
- Сохранение cookies в файл
- Чтение cookies из файла
- Алгоритм авторизации через cookies
- Домашнее задание
- Что такое чек-бокс
- Клик на чек-бокс
- Статусы чек-бокса
- Нюансы работы с чек-боксами
- Радио-кнопки
- Кодовая база для работы с dropdown
- Стандартный dropdown
- Выборка из dropdown
- Современный dropdown
- Работа с мультиселектом
- Домашнее задание
- Открытие нового окна/вкладки
- Работа с дескриптором
- Получение всех открытых окон/вкладкок
- Переключение между окнами/вкладками
- Закрытие окон и вкладок
- Работа с iframes
- Домашнее задание
- Что такое Action API
- Фундамент для работы
- Клик через цепочку действий
- Двойной клик
- Клик правой кнопкой мыши
- Наведение на элемент
- Пауза в цепочке действий
- Скролл к элементу
- Перетаскивание (drag and drop)
- Клик с удержанием
- Отпускаем кнопку мыши
- Работа с координатами
- Подход к работе
- Реализация разных вариантов
- Примеры с занятия
- Домашнее задание
- Основные сущности в таблицах
- Реализация через создание хендлера
- Xpath - Относительный поиск по веб-элементам
- Реализация интерфейса управления таблицей
- Стратегия ленивой загрузки
- Домашнее задание
- Обход BasicAuth
- Создание интерфейса для работы с datepicker
- Использование JS в Selenium
- Создание профилей
- Использование профилей
- Добавление расширений
- Использование proxy без авторизации
- Использование proxy с авторизацией
11 занятий
Занятие 1 - Введение в Pytest
- Что такое pytest
- Уставновка pytest и других зависимостей
- Правила создания тестов
- Создание тестовых классов (наборов тестов)
- Создание тестовых методов (тестов)
- Запуск первого теста
- Домашнее задание
- Пред- и постусловия в тестах
- Базовые параметры запуска
- Запуск тестов по их названию
- Дебаг тестов
- Домашнее задание
- Перезапуск упавших тестов после тестового прогона
- Перезапуск упавших тестов сразу после их падения во время выполнения
- Остановка тестового прогона после падения N тестов
- Маркировка тестов
- Запуск маркированных тестов
- Домашнее задание
- Параметризация тестов - запуск одного и того же теста с разными входными данными
- Перебор всех комбинаций параметров через параметризацию
- Работа с зависимыми тестами
- Параллельный запуск тестов в несколько потоков
- Сброс тестов с логированием причины
- Домашнее задание
- Как устроены негативные тесты
- Подход создания негативных тестов
- Разработка негативных тестов для UI и API
- Домашнее задание
- Файл conftest.py
- Что такое фикстура
- Использование фикстур как аргумент тестового метода
- Получение данных из фикстуры через return
- Использование фикстур через декоратор и получение данных через request.cls
- Получение данных через namedtuple
- Получение данных через dataclasses
- Кастомные имена фикстур
- Домашнее задание
- Авто-использование фикстур
- Пред- и постусловия в фикстурах с помощью yield
- Область видимости фикстур
- Домашнее задание
- Обьект request в фикстурах
- Выборочное применение фикстур
- Параметризация фикстур
- Косвенная параметризация
- Домашнее задание
- Пользовательские pytest-опции
- Переменные окружения
- Сравнение
- Конфигурационный файл - pytest.ini
- Домашнее задание
- Что такое и зачем нужен runner
- Создание раннера и мультипроцессинг
- Junit-репорты и сбор результатов тестирования
- Домашнее задание
- Установка Allure
- Маркировка тестов по сьют-подходу
- Марикровка тестов по фича-подходу
- Маркировка шагов
- Генерация отчета
- Приложение файлов, скриншотов и тестовых артефактов к отчету
- Управление файлом environment.properties
- Домашнее задание
8 занятий
Занятие 1 - Page Object Model (POM). Часть 1
- Что такое паттерны и зачем они нужны
- Знакомство с Page Object
- Основные сущности
- Цепочка запуска
- Первый тест в POM
- Работа с requirements.txt
- Работа с данными в POM
- Allure в Page Object
- Мультистраничные тесты
- Декларативный и императивный подходы
- Работа с переменными окружения
- Хранение тестовых данных
- Особенности использования page component
- Выделение компонентов страницы
- Пишем тесты с компонентным подходом
- Построение мультиюзерности в рамках PageObject/Components
- Разработка и внедрение хелперов для ускорения работы
- Знакомство с Faker
- Работа с почтой через Python
- Поднимаем с нуля PageObject
- Применение хелперов в автоматизации
- Пишем тесты в рамках Page Object
- Пишем тесты в рамках Page Object
5 занятий
Занятие 1 - Введение в requests
- Как читать документацию к API
- Что такое requests
- Основные сущности
- Работа с запросами (GET, POST, PUT, PATCH, DELETE)
- Построение цепочки запросов
- Валидация статус-кода ответа
- Получение данных из ответа
- Что такое Pydantic
- Работа с моделями данных (data class) и json
- Автоматическое преобразование типов
- Вывод и отображение ошибок
- Наличие/отсутствие полей в классах и json-обьектах
- Опциональные поля
- Вложенные модели данных
- Валидация списков
- Реализация extra-модели
- Создание кастомных валидаторов полей
- Основные сущности
- Архитектура построения сущности service
- Упаковка headers, payloads и endpoints
- Создание конфигов
- Построение тестов
- Подключение Allure
- Построение архитектуры с нуля
- Разработка позитивных тестов
- Разработка негативных тестов
- Обратный инженеринг
5 занятий
Занятие 1 - Введение в Docker
- Что такое Docker
- Основные сущности
- Базовый алгоритм работы
- Хранилище образов DockerHub и Registry
- Docker в автоматизации тестирования
- Установка Docker
- Этапы сборки образа
- Необходимые инструкции Dockerfile
- Сборка первого образа
- Команды для работы с образом
- Запуск первого контейнера
- Авторизация в Docker Registry
- Простой запуск контейнера
- Запуск с переменными окружения
- Управляемый запуск
- Интереактивный и фоновый режимы
- Просмотр списка контейнеров
- Остановка и удаление контейнеров
- Просмотр логов запущенного контейнера
- Вход в запущенный контейнер
- Собираем образ для UI и API-тестов
- Подготовка тестов к запуску в контейнере
- Запуск тестов в контейнере
- Копирование и маунтинг
- Получение Allure-отчетов из контейнера
- Файл .dockerignore
- Что такое docker-compose.yml
- Изучение синтаксиса compose-файла
- Пишем свой первый docker-compose
- Запуск тестов через docker-compose
- Оркестрация контейнеров
- Интерактивный режим через docker-compose
3 занятия
Занятие 1 - Введение в Git
- Что такое Git
- Скачивание и установка
- Регистрация в Github и создание репозитория
- Генерация SSH-ключа
- Настройка токена авторизации
- Настройка Git-профиля
- Инициализация репозитория
- Первый коммит
- Основные операции
- Что такое ветки
- Создание, переключение и удаление веток
- Слияние веток
- Решение конфликтов
- Перебазирование ветки
- Пул-реквесты
- Откат изменений
- Работа с реальным флоу проекта
6 занятий
Занятие 1 - Введение в CI/CD
- Что такое CI/CD
- Общий принцип всех CI/CD систем
- Высоко-уровневые и низко-уровневые системы
- Что такое раннер
- Синтаксис gitlab-ci.yml и основные сущности
- Создание конфига запуска для UI и API тестов без использования Docker
- Генерация Allure-отчетов и настройка хранения истории
- Настройка executor и environment в Allure
- Подключение сервисов к раннеру
- Разбор структуры dind-раннера
- Создание конфига запуска для UI и API тестов с использование dind-раннера
- Базовый синтаксис config.yml и основные сущности
- Создание достаточного конфига для UI и API-тестов
- Запуск тестов в GutHub Actions
- Базовый синтаксис config.yml и основные сущности
- Создание достаточного конфига для UI и API-тестов
- Запуск тестов в CircleCI
- Получение Allure-отчета в артефактах
- Обзор на Allure TestOps
- Настройка интеграции с Github
- Настройка интеграции с Gitlab
3 занятия
Занятие 1 - Интерфейс для работы с UI
- Создание базовых файлов для UI
- Создание и настройка конфигов
- Реализация фикстур для UI
- Создание тестовых файлов
- Внедрение UI-хелперов
- Настройка работы с Docker
- Создание БД-конфигов для Sqlite, MySQL и Postgress
- Разработка БД-хелпера
- Реализация фикстур для работы с БД
- Разработка сценариев с запросами к БД
- Создание API-конфигов
- Разработка API-хелпера
- Реализация фикстур для работы с API
- Разработка сценариев с запросами к API
- Разработка full-сценариев с UI, DB и API в связке
2 занятия
Занятие 1 - Составление CV
- Взвешиваем свои сильные и слабые стороны
- Разбираем CV-шаблон для рынков СНГ, ЕС и Канады
- Составляем свое резюме
- Разбор списка самых частых вопросов
- Стратегия ответов на интервью
- Разбор live-кодинг задач
- Онлайн-занятия с ответами на вопросы
- Методические материалы
- Практические домашние задания БЕЗ ПРОВЕРКИ
- Тренажеры для практики
- Чат группы
- Доступ к модулю "Резюме и подготовка к интервью"
Зарегистрируйтесь
, чтобы посмотреть скрытый авторский контент.