This skill enables Claude to generate end-to-end (E2E) tests for web applications. It leverages Playwright, Cypress, or Selenium to automate browser interactions and validate user workflows. Use this skill when the user requests to "create E2E tests", "generate end-to-end tests", or asks for help with "browser-based testing". The skill is particularly useful for testing user registration, login flows, shopping cart functionality, and other multi-step processes within a web application. It supports cross-browser testing and can be used to verify the responsiveness of web applications on different devices.
Install with Tessl CLI
npx tessl i github:jeremylongshore/claude-code-plugins-plus-skills --skill generating-end-to-end-tests90
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillEvaluation — 97%
↑ 1.01xAgent success when using this skill
Validation for skill structure
Default Playwright framework selection
Playwright framework used
100%
100%
Playwright config file present
100%
100%
Package.json includes Playwright
100%
100%
Login navigation step
100%
100%
Login element interaction
100%
100%
Login assertion
100%
100%
Profile navigation step
100%
100%
Profile element interaction
100%
100%
Profile assertion
100%
100%
Two separate test files
100%
100%
Without context: $0.2583 · 1m · 14 turns · 15 in / 4,348 out tokens
With context: $0.4158 · 1m 32s · 24 turns · 57 in / 6,047 out tokens
User-specified framework and workflow assertions
Cypress framework used
100%
100%
cypress.config.js present
100%
100%
Package.json includes Cypress
100%
100%
Product/cart navigation
100%
100%
Cart verification assertion
100%
100%
Discount code step
100%
100%
Shipping/payment interaction
100%
100%
Order total assertion
70%
60%
Order confirmation assertion
100%
100%
Multi-step structure
100%
100%
File in cypress/e2e/ path
100%
100%
Without context: $0.2657 · 1m 39s · 15 turns · 16 in / 5,029 out tokens
With context: $0.4549 · 1m 47s · 21 turns · 20 in / 7,062 out tokens
Cross-browser test configuration
Multi-browser config
100%
100%
Browsers from supported set
100%
100%
Playwright used by default
100%
100%
Config file present
100%
100%
Package.json with dependencies
100%
100%
Form field interactions
100%
100%
Form submission step
100%
100%
Registration success assertion
100%
100%
Navigation to registration
100%
100%
Without context: $0.3167 · 1m 24s · 18 turns · 19 in / 4,916 out tokens
With context: $0.4273 · 1m 28s · 25 turns · 25 in / 5,417 out tokens
Selenium framework selection
Selenium library used
100%
100%
No Playwright/Cypress imports
100%
100%
Package.json includes selenium-webdriver
100%
100%
Browser driver instantiation
100%
100%
Navigation step
100%
100%
Element interaction
100%
100%
Assertion present
100%
100%
Driver quit/teardown
100%
100%
Test structure
100%
100%
Without context: $0.2334 · 1m · 15 turns · 57 in / 3,523 out tokens
With context: $0.4115 · 1m 30s · 24 turns · 24 in / 4,954 out tokens
Responsive device viewport testing
Playwright used by default
100%
100%
Viewport configuration present
100%
100%
Multiple viewport sizes tested
100%
100%
Config file present
100%
100%
Package.json includes Playwright
100%
100%
Navigation step
100%
100%
Element interaction on mobile
100%
100%
Responsive assertion
100%
100%
No device emulation via unsupported browsers
100%
100%
Without context: $0.4742 · 2m 51s · 21 turns · 22 in / 7,393 out tokens
With context: $0.4969 · 1m 57s · 28 turns · 58 in / 7,841 out tokens
Multi-step workflow assertions
Playwright used by default
100%
100%
Step 1 navigation
100%
100%
Step 1 assertion
100%
100%
Step 2 interaction and assertion
100%
100%
Step 3 form interaction
100%
100%
Final confirmation assertion
100%
100%
At least 4 distinct interaction steps
100%
100%
Assertions not only at end
100%
100%
Config file present
100%
100%
Package.json includes Playwright
100%
100%
Separate test file per concern
100%
100%
Without context: $0.6344 · 2m 39s · 26 turns · 27 in / 9,827 out tokens
With context: $0.5486 · 2m 2s · 30 turns · 31 in / 7,431 out tokens
Form validation error state assertions
Playwright used by default
100%
100%
playwright.config present
100%
100%
package.json includes Playwright
100%
100%
Navigation step present
100%
100%
Invalid email test case
0%
0%
Empty required field test case
100%
100%
Password validation test case
50%
100%
Error message assertions
100%
100%
Happy path test case
100%
100%
Negative tests NOT skipped at end
100%
100%
Element interaction for each case
100%
100%
Without context: $1.0770 · 7m 3s · 42 turns · 42 in / 13,946 out tokens
With context: $1.1693 · 2s · 1 turns · 3 in / 41 out tokens
Multi-workflow test suite organization
Playwright used by default
100%
100%
playwright.config present
100%
100%
package.json includes Playwright
100%
100%
Login workflow test file
80%
70%
Search or browse workflow test file
100%
100%
Cart or checkout workflow test file
70%
90%
At least 3 separate test files
100%
100%
Navigation in each test
100%
100%
Element interactions in each test
87%
100%
Assertions in each test
100%
100%
Tests in tests/ or e2e/ directory
70%
100%
Without context: $1.5711 · 8s · 1 turns · 3 in / 51 out tokens
With context: $2.1318 · 1s · 1 turns · 3 in / 25 out tokens
Cypress cross-browser configuration
Cypress framework used
100%
100%
cypress.config present
100%
100%
package.json includes Cypress
100%
100%
Multi-browser configuration
100%
100%
Browsers from supported set only
100%
100%
Test in cypress/e2e/ directory
100%
100%
Navigation step present
100%
100%
Element interactions present
100%
100%
Assertion present
100%
100%
No Playwright imports
100%
100%
Without context: $0.5364 · 2m 12s · 30 turns · 29 in / 7,400 out tokens
With context: $0.6512 · 2m 24s · 35 turns · 67 in / 7,420 out tokens
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.