Использование Playwright в проекте Python

Когда дело доходит до автоматизации и тестирования браузера, Playwright является одним из самых мощных и универсальных инструментов. Изначально это была библиотека JavaScript, теперь Playwright предлагает поддержку Python. Это позволяет разработчикам использовать возможности сквозного тестирования и автоматизации браузера в рамках экосистемы Python.

В этой статье вы узнаете, как начать работу с Playwright на Python и автоматизировать задачи браузера.

Что такое драматург?

Playwright — это кроссбраузерная библиотека автоматизации, которая позволяет разработчикам автоматизировать действия браузера, такие как нажатие кнопок, заполнение форм и навигация по веб-страницам. Он предоставляет единый API для взаимодействия с несколькими браузерами, включая Chrome, Firefox и WebKit.

С Playwright вы можете писать сценарии автоматизации браузера, которые будут надежными, быстрыми и простыми в обслуживании.

Доступен ли драматург на Python?

Да! Хотя Playwright изначально была библиотекой JavaScript, она расширила свою поддержку на другие языки программирования, включая Python. Это означает, что вы можете использовать всю мощь Playwright непосредственно в своих проектах на Python, обладая теми же возможностями и гибкостью, что и его аналог на JavaScript.

Предпосылки

Прежде чем углубляться в то, как использовать Playwright с Python, убедитесь, что у вас есть следующие предварительные условия:

  • На вашем компьютере установлен Python 3+: Загрузите установщик, дважды щелкните его и следуйте указаниям мастера установки.
  • Среда разработки Python на ваш выбор: подойдет Visual Studio Code с расширением Python или PyCharm Community Edition.

Инициализировать проект драматурга в Python

Следуйте этому пошаговому разделу, чтобы создать проект Playwright на Python.

1. Настройте проект Python

В терминале создайте папку проекта с:

mkdir playright-python-demo

Введите его и инициализируйте новую виртуальную среду с помощью:

cd playright-python-demo
python -m venv env

Каталог проекта playright-python-demo теперь должен содержать папку venv.

2. Установите Драматург

Как поясняется в официальной документации, проще всего начать работу с Playwright на Python через его плагин Pytest. Если вы не знакомы с Pytest, это популярный фреймворк для тестирования Python. Он предоставляет простой и масштабируемый способ написания модульных, функциональных и интеграционных тестов на Python.

В каталоге проекта запустите приведенную ниже команду, чтобы установить плагин Playwright Pytest:

pip install pytest-playwright

Затем установите управляемые браузеры с помощью:

playwright install

Это загрузит и настроит двоичные файлы браузера для Chrome, Firefox и WebKit.

3. Создайте свой первый тест

В папке проекта создайте файл test.py и инициализируйте его, как показано ниже:

# test.py

import re
from playwright.sync_api import Page, expect

def test_homepage_has_Playwright(page: Page):
    # connect to the target page
    page.goto("https://playwright.dev/")

    # expect the page title "to contain" a substring.
    expect(page).to_have_title(re.compile("Playwright"))

Этот сценарий просто посещает домашнюю страницу Playwright и проверяет, содержит ли заголовок страницы строку Playwright. Обратите внимание, что to_have_title() принимает регулярное выражение Python. Вот почему инструкция re.compile().

4. Запустите тест

Запустите образец теста с помощью:

pytest

По умолчанию тесты будут выполняться в Chrome и в автономном режиме, что означает, что во время выполнения браузер не будет отображаться. Это поведение можно настроить через Аргументы CLI.

Результаты тестов и журналы будут показаны в терминале.

И вуаля! Теперь вы знаете, как использовать Playwright в Python.

Заключение

Настройка Playwright на Python открывает мир возможностей для автоматизации и тестирования браузера. Следуя этому пошаговому руководству, вы увидели, как инициализировать проект Playwright в Python. Изучите документацию Playwright и раскройте весь потенциал этого мощного инструмента в своих проектах Python.

Спасибо за прочтение! Я надеюсь, что вы нашли эту статью полезной. Не стесняйтесь оставлять любые вопросы, комментарии или предложения.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .