Окружение
pip install pytest-playwright
playwright install
Задание
Сайт: https://www.saucedemo.com/. Напишите test_shop.py:
- test_login — залогиниться, проверить переход на
/inventory.htmlи видимость «Products». - test_add_two — добавить 2 разных товара, проверить, что бейдж корзины = «2».
- test_sorting (со звёздочкой) — выбрать сортировку «Price (low to high)» в
selectи проверить, что первая цена ≤ последней.
Каркас
# test_shop.py
from playwright.sync_api import Page, expect
def login(page: Page):
page.goto("https://www.saucedemo.com/")
page.get_by_placeholder("Username").fill("standard_user")
page.get_by_placeholder("Password").fill("secret_sauce")
page.get_by_role("button", name="Login").click()
def test_login(page: Page):
login(page)
expect(page).to_have_url("https://www.saucedemo.com/inventory.html")
expect(page.get_by_text("Products")).to_be_visible()
def test_add_two(page: Page):
login(page)
items = page.locator(".inventory_item")
items.nth(0).get_by_role("button", name="Add to cart").click()
items.nth(1).get_by_role("button", name="Add to cart").click()
expect(page.locator(".shopping_cart_badge")).to_have_text("2")
Проверка
pytest -v— все passed.- Посмотреть глазами:
pytest --headed --slowmo 400.
Связь с разделами
- Локаторы и проверки — 📖 Теория
- Шпаргалка — 🔖 Справочник
- Разбор — 💻 Примеры