Запуск и отладка тестов
Введение
Вы можете запускать один тест, набор тестов или все тесты. Тесты могут быть запущены в одном браузере или в нескольких браузерах с использованием флага --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, видеть их журналы отладки и исследовать локаторы.
Чтобы отладить все тесты, выполните следующую команду.
- Bash
- PowerShell
- Batch
PWDEBUG=1 pytest -s
$env:PWDEBUG=1
pytest -s
set PWDEBUG=1
pytest -s
Чтобы отладить один файл теста, выполните команду, за которой следует имя файла теста, который вы хотите отладить.
- Bash
- PowerShell
- Batch
PWDEBUG=1 pytest -s test_example.py
$env:PWDEBUG=1
pytest -s test_example.py
set PWDEBUG=1
pytest -s test_example.py
Чтобы отладить конкретный тест, добавьте -k
, за которым следует имя теста, который вы хотите отладить.
- Bash
- PowerShell
- Batch
PWDEBUG=1 pytest -s -k test_get_started_link
$env:PWDEBUG=1
pytest -s -k test_get_started_link
set PWDEBUG=1
pytest -s -k test_get_started_link
Эта команда откроет окно браузера, а также Playwright Inspector. Вы можете использовать кнопку "шаг" в верхней части инспектора, чтобы пошагово проходить ваш тест. Или нажмите кнопку "воспроизвести", чтобы запустить ваш тест от начала до конца. После завершения теста окно браузера закроется.
Во время отладки вы можете использовать кнопку "Выбрать локатор", чтобы выбрать элемент на странице и увидеть локатор, который Playwright использовал бы для нахождения этого элемента. Вы также можете редактировать локатор и видеть, как он подсвечивается в реальном времени в окне браузера. Используйте кнопку "Копировать локатор", чтобы скопировать локатор в буфер обмена, а затем вставьте его в ваш тест.
Ознакомьтесь с нашим руководством по отладке, чтобы узнать больше о Playwright Inspector, а также об отладке с помощью инструментов разработчика браузера.