Запуск теста с разными тестовыми данными - Pytest parametrization

YOUTUBE · 01.12.2025 06:45

Ключевые темы и таймкоды

Введение в тему

0:02
  • Продолжение работы с автоматизацией тестирования.
  • Фокус на фишках PyTest, помогающих задавать предусловия для тестов.
  • Введение в фишку "параметрас" для запуска одного теста с разными тестовыми данными.

Пример использования параметраса

0:34
  • Создание теста для сайта Magento Software Testing Board.
  • Проверка логина разными пользователями с разными паролями.
  • Ожидание одинакового результата при разных тестовых данных.

Создание теста

2:42
  • Импорт необходимых библиотек и настройка драйвера.
  • Поиск элементов на странице и заполнение полей логина и пароля.
  • Проверка появления ошибки при неудачном логине.

Использование параметраса

6:27
  • Добавление декоратора "@parametrize" для параметризации теста.
  • Указание переменной для хранения логинов и паролей.
  • Передача списка тестовых данных в параметре.

Запуск теста с разными данными

10:17
  • Распаковка кортежей с логинами и паролями.
  • Запуск теста с тремя разными наборами данных.
  • Проверка результатов и анализ порядка выполнения тестов.

Улучшение отображения результатов

12:39
  • Добавление идентификаторов для каждого теста.
  • Изменение синтаксиса для подписывания тестов.
  • Повторный запуск теста для проверки новых результатов.

Управление отображением параметров

14:39
  • Можно управлять отображением параметров, таких как логин и пароль.
  • Передача параметров в тест и их подписание.
  • Использование кортежей для передачи параметров.

Приглашение на курс по автоматизации тестирования

15:29
  • Курс включает изучение Python и инструментов для автоматизации тестирования.
  • Работа с Linux, Docker, CI/CD, GitHub и GitLab.
  • Написание трех отчетных работ: программа на Python, проект по автоматизации OOP и проект по автоматизации UI.

Дополнительные возможности курса

16:24
  • Возможность стажировки после курса.
  • Оплата курса частями.
  • Ближайшее занятие запланировано на 9 октября.

Попарное тестирование

17:49
  • Создание пар для тестирования логинов и паролей.
  • Использование списков для генерации пар.
  • Написание функции для создания пар.

Использование сгенерированных пар

20:32
  • Передача сгенерированных пар в тест.
  • Добавление параметров в список.
  • Проверка работы теста с сгенерированными парами.

Тестирование страниц сайта

24:06
  • Тестирование открытия разных страниц сайта.
  • Использование предусловий для открытия страниц.
  • Написание тестов для проверки содержимого страниц.

Параметризация тестов

30:06
  • Параметризация тестов для открытия разных страниц.
  • Использование одной текстуры для разных страниц.
  • Изменение текстуры для параметризации.

Использование аргумента "request"

30:58
  • Аргумент "request" обязателен для использования.
  • Через "request" приходит объект параметров "params".
  • Параметры хранятся в переменной "request.params".

Обработка параметров

31:53
  • Параметры хранятся в переменной "request.params".
  • Можно использовать условные операторы для обработки параметров.
  • Пример: переход на разные страницы в зависимости от значения параметра.

Вызов фикстуры

32:59
  • В начале теста нужно вызвать фикстуру с нужным параметром.
  • Используется параметр "params.page".
  • Переменная "page" должна быть итерируемой сущностью.

Непрямая параметризация

34:48
  • Параметризация должна быть непрямой "indirect=true".
  • Система ищет текстуру с соответствующим названием.
  • Ограничения синтаксиса требуют использования квадратных скобок для параметров.

Тестирование с разными страницами

36:40
  • Два теста используют одну текстуру для подготовки данных.
  • Тесты управляют данными, подготовленными текстурой.
  • Пример: открытие страниц "save" и "new".

Запуск тестов

37:36
  • Запуск тестов через терминал.
  • Проверка корректности работы тестов.
  • Открытие нужных страниц.

Использование для тестирования данных из базы данных

38:51
  • Пример: проверка отображения книг и пользователей на сайте.
  • Использование одной текстуры для получения данных из базы.
  • Подстановка аргументов в запросы к базе данных.

Заключение

40:42
  • Одна текстура может выполнять запросы для множества тестов.
  • Использование "indirect parameter" для вызова данных.
  • Развитие профессиональных навыков через освоение новых технологий.