Playwright E2E testing patterns — web-first assertions, user-visible locators, network interception, fixtures, authentication, and parallel execution
98
99%
Does it follow best practices?
Impact
98%
1.81xAverage score across 5 eval scenarios
Passed
No known issues
storageState for auth reuse
0%
100%
Setup project in config
0%
100%
Web-first assertions
78%
100%
User-visible locators
16%
100%
No explicit waits
0%
100%
API mocking with page.route
100%
100%
test.describe grouping
100%
100%
webServer configured
0%
100%
Screenshot and trace config
50%
100%
Page objects or fixtures for reuse
66%
100%
Web-first assertions used
75%
100%
User-visible locators
57%
100%
getByRole for interactive elements
80%
100%
No explicit waits
100%
100%
test.describe for grouping
100%
100%
test.beforeEach for shared setup
0%
0%
webServer configured
0%
100%
API mocking or waitForResponse
100%
100%
Error/validation test case
100%
100%
Screenshot and trace config
50%
100%
Web-first assertions
78%
100%
User-visible locators
42%
100%
getByPlaceholder or getByRole for search
100%
100%
No explicit waits
100%
100%
waitForResponse for API calls
50%
100%
page.route for API mocking
0%
100%
test.describe grouping
100%
100%
test.beforeEach for navigation
100%
66%
webServer configured
0%
100%
Screenshot and trace config
50%
100%
Glob patterns for route matching
0%
100%
Web-first assertions
64%
100%
User-visible locators
50%
100%
No explicit waits
100%
100%
page.route for controlled data
85%
100%
Empty state test with mocked API
70%
100%
waitForResponse for mutations
20%
100%
test.describe grouping
100%
100%
test.beforeEach for setup
50%
100%
webServer configured
0%
100%
Screenshot and trace config
50%
100%
Web-first assertions
71%
85%
getByLabel for form fields
0%
100%
getByRole for button and checkbox
0%
100%
No explicit waits
100%
100%
API mocking for error case
100%
100%
waitForResponse on form submit
0%
100%
Validation error tests
50%
100%
test.describe and beforeEach
100%
100%
webServer configured
0%
100%
Screenshot and trace config
50%
100%