skilly. Buy ad slot
All skills
Community / AGENT SKILL

e2e-playwright

Vitammiin/agent-vorcl-flow
0 installs 2 GitHub stars
0

E2E на Playwright — селекторы (getByRole > testid > css), fixtures/auth-state (storageState), web-first assertions без sleep, trace/screenshot при падении, параллельность/шардинг, CI-конфиг, Page Object. Use при написании, ревью или стабилизации браузерных e2e-тестов.

BEFORE YOU INSTALL

Understand the trade-offs.

SECURITY REVIEW

Not yet assessed

Review the original instructions and requested permissions before installing.

No security review is available for this catalog entry yet.

SKILL QUALITY

Not yet assessed

How clearly the skill guides your agent, how complete its workflow is, and how you can check the outcome.

No quality assessment is available for this catalog entry yet.

The full skill.

Original instructions from the publisher’s SKILL.md

# Навык: Playwright E2E

E2E — только **критический путь пользователя** в реальном браузере; не дублируй unit/integration.

## Селекторы (по убыванию)
`getByRole('button', { name: … })` (как видит пользователь, заодно a11y) > `getByLabel`/`getByPlaceholder`/`getByText` > `getByTestId` (нет роли/текст нестабилен) > CSS/XPath (последний резерв).

## Ожидания
Только web-first assertions: `await expect(locator).toBeVisible()/toHaveText()/toHaveURL()` — авто-ретраятся. НИКАКИХ `waitForTimeout`/sleep (главный источник flaky). Действия (`click`/`fill`) сами ждут actionability — не оборачивай ручными wait.

## Auth
Логин один раз в setup-проекте → `page.context().storageState({ path: 'playwright/.auth/user.json' })`; рабочие проекты подключают его через `use.storageState` + `dependencies: ['setup']`. Роли пользователей — отдельные state-файлы + fixtures. Не логинься через UI в каждом тесте.

## Диагностика
`use: { trace: 'on-first-retry', screenshot: 'only-on-failure', video: 'retain-on-failure' }`; смотреть `npx playwright show-trace` / `show-report` (таймлайн, DOM-снапшоты, сеть, консоль). Чини первопричину по trace, не селектор наугад.

## Параллельность / CI
Файлы — параллельно (`workers`), каждый тест независим (свои данные, лучше API-сиды); `fullyParallel` — только при полной изоляции. Шардинг: `--shard=1/4` … + `merge-reports`. CI-минимум: `forbidOnly: !!CI`, `retries: CI ? 1 : 0` (retry — телеметрия flaky, не лекарство), `webServer` для автоподъёма приложения.

## Page Object
Выноси в класс страницы повторяющиеся локаторы + действия; assertions — в тестах. Не строй POM на 3 теста — часто хватает fixtures.