Robot
			
			Складчик
		- #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-кодинг задач
 
- Онлайн-занятия с ответами на вопросы
 - Методические материалы
 - Практические домашние задания БЕЗ ПРОВЕРКИ
 - Тренажеры для практики
 - Чат группы
 - Доступ к модулю "Резюме и подготовка к интервью"
 
								Показать больше
					
			
			
											
												
													Зарегистрируйтесь
												
											, чтобы посмотреть скрытый контент.