Подготовка окружения
# Windows PowerShell
python -m venv venv
venv\Scripts\Activate.ps1
pip install pytest-playwright
playwright install
# зафиксировать зависимости
pip freeze > requirements.txt
Задание
Учебный сайт: https://playwright.dev/. Создайте файл test_homework.py с тремя тестами:
- test_title — открыть главную, проверить, что заголовок содержит «Playwright».
- test_get_started — кликнуть «Get started», проверить, что виден заголовок «Installation», и что URL содержит
/docs/intro. - test_search (со звёздочкой) — открыть главную, сделать полный скриншот
home.png.
Пошаговое решение (каркас)
# test_homework.py
import re
from playwright.sync_api import Page, expect
def test_title(page: Page):
page.goto("https://playwright.dev/")
expect(page).to_have_title(re.compile("Playwright"))
def test_get_started(page: Page):
page.goto("https://playwright.dev/")
page.get_by_role("link", name="Get started").click()
expect(page.get_by_role("heading", name="Installation")).to_be_visible()
expect(page).to_have_url(re.compile("/docs/intro"))
def test_screenshot(page: Page):
page.goto("https://playwright.dev/")
page.screenshot(path="home.png", full_page=True)
Проверка в VS Code
- Терминал:
pytest -v— ожидаем3 passed. - Посмотреть прогон глазами:
pytest --headed --slowmo 500. - Отладка: поставьте точку останова и запустите тест через
launch.json("type": "debugpy","module": "pytest").
Что сдать
- Файл
test_homework.pyиrequirements.txt - Скриншот вывода
pytest -v(3 passed)
Связь с разделами урока
- Теория и установка — 📖 Теория
- Команды — 🔖 Справочник
- Разбор примеров — 💻 Примеры