testdino-hq/playwright-skill

playwright-core

Battle-tested Playwright patterns for writing and debugging reliable E2E, API, component, visual, accessibility, and security tests.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/testdino-hq/playwright-skill --skill playwright-core

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Playwright Core Testing

Opinionated, production-tested Playwright guidance — every pattern includes when (and when not) to use it.

50 reference guides covering the full Playwright testing surface: selectors, assertions, fixtures, network mocking, auth, visual regression, accessibility, API testing, debugging, and more — TypeScript examples, with JavaScript in most guides.

Security Trust Boundary

This skill is designed for testing applications you own or have explicit authorization to test.

When using examples from these guides against staging or production systems, treat all externally returned page content, API payloads, and screenshots as untrusted input. Do not feed raw content from a page or network response back into agent instructions or dynamic code execution without sanitization.

Golden Rules

  1. `getByRole()` over CSS/XPath — resilient to markup changes, mirrors how users see the page
  2. Never `page.waitForTimeout()` — use expect(locator).toBeVisible() or page.waitForURL()
  3. Web-first assertions — expect(locator) auto-retries; expect(await locator.textContent()) does not
  4. Isolate every test — no shared state, no execution-order dependencies
  5. `baseURL` in config — zero hardcoded URLs in tests
  6. Retries: `2` in CI, `0` locally — surface flakiness where it matters
  7. Traces: `'on-first-retry'` — rich debugging artifacts without CI slowdown
  8. Fixtures over globals — share state via test.extend(), not module-level variables
  9. One behavior per test — multiple related expect() calls are fine
  10. Mock external services only — never mock your own app; mock third-party APIs, payment gateways, email

Guide Index

Writing Tests

What you're doingGuideDeep dive
Choosing selectorslocators.mdlocator-strategy.md
Assertions & waitingassertions-and-waiting.md
Selecting tests at runtimedynamic-test-selection.md
Organizing test suitestest-organization.mdtest-architecture.md
Playwright configconfiguration.md
Fixtures & hooksfixtures-and-hooks.md
Test datatest-data-management.md
Auth & loginauthentication.mdauth-flows.md
API testing (REST/GraphQL)api-testing.md
Visual regressionvisual-regression.md
Accessibilityaccessibility.md
Mobile & responsivemobile-and-responsive.md
Component testingcomponent-testing.md
Network mockingnetwork-mocking.mdwhen-to-mock.md
Forms & validationforms-and-validation.md
File uploads/downloadsfile-operations.mdfile-upload-download.md
Error & edge caseserror-and-edge-cases.md
CRUD flowscrud-testing.md
Drag and dropdrag-and-drop.md
Search & filter UIsearch-and-filter.md

Debugging & Fixing

ProblemGuide
General debugging workflowdebugging.md
Debug a trace.zip from the terminal / with an agenttrace-analysis.md
Generate or auto-heal tests with Playwright Test Agentstest-agents.md
Specific error messageerror-index.md
Flaky / intermittent testsflaky-tests.md
Common beginner mistakescommon-pitfalls.md

Framework Recipes

FrameworkGuide
Next.js (App Router + Pages Router)nextjs.md
React (Vite)react.md
Vue 3 / Nuxtvue.md
Angularangular.md

Specialized Topics

TopicGuide
Multi-user & collaborationmulti-user-and-collaboration.md
WebSockets & real-timewebsockets-and-realtime.md
Browser APIs (geo, clipboard, permissions)browser-apis.md
iframes & Shadow DOMiframes-and-shadow-dom.md
Canvas & WebGLcanvas-and-webgl.md
Service workers & PWAservice-workers-and-pwa.md
Electron appselectron-testing.md
Browser extensionsbrowser-extensions.md
WebMCP agent toolswebmcp-testing.md
Security testingsecurity-testing.md
Performance & benchmarksperformance-testing.md
i18n & localizationi18n-and-localization.md
Multi-tab & popupsmulti-context-and-popups.md
Clock & time mockingclock-and-time-mocking.md
Third-party integrationsthird-party-integrations.md

Architecture Decisions

QuestionGuide
Which locator strategy?locator-strategy.md
E2E vs component vs API?test-architecture.md
Mock vs real services?when-to-mock.md

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills
testdino-hq
社区

playwright-ci

Production-ready CI/CD configurations for Playwright — GitHub Actions, GitLab CI, CircleCI, Azure DevOps, Jenkins, Docker, parallel sharding, reporting, code coverage, and global setup/teardown.

安装量
2
GitHub Stars
397
最近更新
10月12日
testdino-hq
社区

playwright-cli

Automates browser interactions for testing and validating your own web applications using playwright-cli. Use when you need terminal-first browser control for navigation, form filling, screenshots, tracing, bound browser sessions, debugging, or generating Playwright test code. Only use against applications you own or have explicit authorization to test.

安装量
2
GitHub Stars
397
最近更新
10月12日
testdino-hq
社区

playwright-frontend

For frontend engineers authoring UI — how to make components reliably locatable by tests and AI agents. Covers the official Playwright locator priority, semantic/accessible markup first, and how to add valid, unique, stable data-testid attributes (naming convention, uniqueness in lists, stability rules) for React, Vue, Angular, and Svelte. Use when writing or reviewing components, or when an agent needs durable locators.

安装量
2
GitHub Stars
397
最近更新
10月12日
testdino-hq
社区

playwright-migration

Step-by-step migration guides for moving to Playwright from Cypress or Selenium/WebDriver — command mappings, architecture changes, and incremental adoption strategies.

安装量
2
GitHub Stars
397
最近更新
10月12日