Перейти к основному содержимому

Запуск и отладка тестов

Введение

Вы можете запускать один тест, набор тестов или все тесты. Тесты могут быть запущены в одном браузере или в нескольких браузерах с использованием флага --browser. По умолчанию тесты запускаются в безголовом режиме, что означает, что окно браузера не будет открыто во время выполнения тестов, и результаты будут видны в терминале. Если вы предпочитаете, вы можете запускать тесты в режиме с интерфейсом, используя аргумент командной строки --headed.

Вы узнаете

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

Командная строка

Чтобы запустить ваши тесты, используйте команду pytest. Это запустит ваши тесты в браузере Chromium по умолчанию. Тесты запускаются в безголовом режиме по умолчанию, что означает, что окно браузера не будет открыто во время выполнения тестов, и результаты будут видны в терминале.

pytest

Запуск тестов в режиме с интерфейсом

Чтобы запустить ваши тесты в режиме с интерфейсом, используйте флаг --headed. Это откроет окно браузера во время выполнения ваших тестов, и после завершения окно браузера закроется.

pytest --headed

Запуск тестов в разных браузерах

Чтобы указать, в каком браузере вы хотите запустить ваши тесты, используйте флаг --browser, за которым следует имя браузера.

pytest --browser webkit

Чтобы указать несколько браузеров для запуска ваших тестов, используйте флаг --browser несколько раз, за которым следует имя каждого браузера.

pytest --browser webkit --browser firefox

Запуск конкретных тестов

Чтобы запустить один файл теста, передайте имя файла теста, который вы хотите запустить.

pytest test_login.py

Чтобы запустить набор файлов тестов, передайте имена файлов тестов, которые вы хотите запустить.

pytest tests/test_todo_page.py tests/test_landing_page.py

Чтобы запустить конкретный тест, передайте имя функции теста, который вы хотите запустить.

pytest -k test_add_a_todo_item

Запуск тестов параллельно

Чтобы запустить ваши тесты параллельно, используйте флаг --numprocesses, за которым следует количество процессов, на которых вы хотите запустить ваши тесты. Мы рекомендуем половину логических ядер процессора.

pytest --numprocesses 2

(Это предполагает, что pytest-xdist установлен. Для получения дополнительной информации смотрите здесь.)

Для получения дополнительной информации смотрите использование Playwright Pytest или документацию Pytest для общего использования CLI.

Отладка тестов

Поскольку Playwright работает на Python, вы можете отлаживать его с помощью вашего любимого отладчика, например, с расширением Python в Visual Studio Code. Playwright поставляется с Playwright Inspector, который позволяет вам пошагово проходить вызовы API Playwright, видеть их журналы отладки и исследовать локаторы.

Чтобы отладить все тесты, выполните следующую команду.

PWDEBUG=1 pytest -s

Чтобы отладить один файл теста, выполните команду, за которой следует имя файла теста, который вы хотите отладить.

PWDEBUG=1 pytest -s test_example.py

Чтобы отладить конкретный тест, добавьте -k, за которым следует имя теста, который вы хотите отладить.

PWDEBUG=1 pytest -s -k test_get_started_link

Эта команда откроет окно браузера, а также Playwright Inspector. Вы можете использовать кнопку "шаг" в верхней части инспектора, чтобы пошагово проходить ваш тест. Или нажмите кнопку "воспроизвести", чтобы запустить ваш тест от начала до конца. После завершения теста окно браузера закроется.

Во время отладки вы можете использовать кнопку "Выбрать локатор", чтобы выбрать элемент на странице и увидеть локатор, который Playwright использовал бы для нахождения этого элемента. Вы также можете редактировать локатор и видеть, как он подсвечивается в реальном времени в окне браузера. Используйте кнопку "Копировать локатор", чтобы скопировать локатор в буфер обмена, а затем вставьте его в ваш тест.

Playwright Inspector

Ознакомьтесь с нашим руководством по отладке, чтобы узнать больше о Playwright Inspector, а также об отладке с помощью инструментов разработчика браузера.

Что дальше