Я описываю пользовательский сценарий, ты возвращаешь готовый Playwright-тест (TS).
Сценарий: [ОПИСАНИЕ_ШАГОВ_ПОЛЬЗОВАТЕЛЯ]
URL приложения: [base_url]
Тип селекторов: [data-testid / role / text]
Требования:
- async/await
- expect-ассерты с понятным message
- page.locator() с устойчивыми селекторами
- fixture для logged-in пользователя (если нужно)
- комментарий перед каждым шагом сценария
Верни одну спецификацию .spec.ts.
Собрать под себя — поля заполнены рабочими значениями, меняйте их и промпт выше обновится сам
Пример результата
import { test, expect } from "@playwright/test";
test("user can create order from catalog", async ({ page }) => {
// 1. Открыть каталог
await page.goto("/catalog");
await expect(page.getByRole("heading", { name: "Каталог" })).toBeVisible();
// 2. Открыть первый продукт
await page.getByTestId("product-card").first().click();
// 3. Добавить в корзину
await page.getByRole("button", { name: "В корзину" }).click();
await expect(page.getByTestId("cart-count")).toHaveText("1");
});