Master end-to-end testing with Playwright and Cypress to build reliable test suites that catch bugs, improve confidence, and enable fast deployment. Use when implementing E2E tests, debugging flaky tests, or establishing testing standards.
80
66%
Does it follow best practices?
Impact
89%
1.27xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/developer-essentials/skills/e2e-testing-patterns/SKILL.mdPlaywright config and Page Object Model
testDir setting
0%
100%
Global timeout
0%
100%
fullyParallel enabled
100%
100%
CI retries
100%
100%
CI workers
100%
100%
Dual reporters
0%
100%
Failure media capture
37%
100%
Multi-browser projects
100%
100%
Page Object classes
100%
100%
Locator initialization in constructor
100%
100%
data-testid selectors
75%
87%
No fixed timeouts
100%
100%
Tests use Page Objects
100%
100%
Cypress custom commands and API intercepts
baseUrl configured
100%
100%
viewport dimensions
0%
100%
video disabled
0%
100%
screenshotOnRunFailure
0%
100%
Command timeouts
0%
100%
Custom commands file
100%
100%
Login custom command
100%
100%
dataCy command
0%
100%
cy.intercept with alias
100%
100%
cy.wait with alias
100%
100%
data-cy selectors
100%
100%
API error scenario
100%
100%
Login command reuse
71%
100%
Playwright network mocking and accessibility
page.route() for mocking
100%
100%
route.fulfill() usage
100%
100%
Error scenario mocked
100%
100%
@axe-core/playwright import
100%
100%
AxeBuilder usage
100%
100%
Violations assertion
100%
100%
No fixed timeouts
100%
100%
Promise.all for parallel waits
100%
100%
test.step() usage
0%
0%
Playwright fixtures used
55%
66%
data-testid selectors
0%
0%
Route interception correct pattern
100%
100%
Playwright visual regression and API response waiting
page-level screenshot
100%
100%
fullPage option
100%
100%
maxDiffPixels option
0%
100%
Element-level screenshots
100%
100%
Multiple component states
100%
100%
hover() before screenshot
100%
100%
waitForResponse usage
100%
100%
waitForResponse URL filter
100%
100%
No fixed timeouts
100%
100%
data-testid selectors
0%
25%
Screenshot naming
100%
100%
response.json() after waitForResponse
0%
0%
Playwright CI sharding and request modification
forbidOnly CI guard
100%
100%
Shard projects defined
0%
0%
Matching shard totals
0%
0%
grepInvert on slow tests
0%
0%
CI shard run command
100%
100%
route.continue() usage
0%
100%
postData modification
0%
100%
Route glob pattern
100%
100%
fullyParallel enabled
0%
100%
CI workers setting
0%
100%
CI retries setting
50%
100%
Dual reporters
100%
100%
Cypress slow network simulation and API-based test data setup
res.delay() for slow network
40%
100%
res.send() after delay
0%
100%
Loading state assertion
100%
100%
cy.request() in custom command
100%
100%
Custom command TypeScript declaration
100%
100%
Teardown in afterEach/after
100%
100%
Data created via API, not UI
100%
87%
No fixed cy.wait(number)
100%
100%
cy.intercept alias for data endpoint
100%
77%
data-cy or data-testid selectors
100%
100%
Test-specific data isolation
100%
75%
Cypress custom commands file
100%
100%
70444e5
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.