E2E Test Specification
Purpose
Validate key user journeys with real browsers and uncover integration risks not covered by unit tests.
Procedure
- Clarify the key journeys: cross-page processes such as login, purchase, creation, search, permissions, payment, etc. are given priority; if you only choose the test level, do the test hierarchical planning first.
- New projects will be given priority by Playwright; existing Cypress projects will continue to use Cypress and will not be migrated for the sake of migration.
- Use Page Object or fixtures to encapsulate login, page locator and shared data, and avoid naked selectors in the spec.
- Assert that the user can see the results, relying on Locator automatic waiting, network response or visible status, without using fixed sleep.
- CI must upload HTML report, screenshots, trace or video; Flaky use cases must be isolated, reproduced, marked with sources and associated with issues.
- When debugging fails, read the trace, console, network and screenshots first, and then change the test; do not misjudge real product defects as flaky.
- Record the test environment, seed data and cleanup strategies for key browser capabilities, payment, permissions, uploads and real-time communication processes.
- Test data must be repeatable: API seeds, database fixtures, test accounts or mock services are preferred; random data must have a unique prefix and be cleaned in teardown.
Detailed reference
Constraints
- Disable reliance on
sleep / fixed setTimeout as primary synchronization means.
- Do not run real E2E in production environment.
- Avoid asserting component internal pixel-level styles in E2E; cross-page screenshots/visual regressions only cover key page states in the user journey.
- Failure must be able to be located by taking screenshots, traces or videos.
- Component internal contract testing is offloaded to component testing workflow.
- Do not bring unstable waits, random data, or dependent test order into CI.
- Do not treat the number of retries as flaky management; retries can only retain evidence, and the root cause still needs to be located.
Expected Output
Key user journeys have stable E2E coverage, failed products can locate problems, and reports and traces in CI can be downloaded; flaky use cases include recurrence commands, isolation strategies, and follow-up issues.