Skip to content

test: migrate e2e tests from Cypress to Playwright#3272

Draft
skjnldsv wants to merge 3 commits into
masterfrom
feature/migrate-e2e-to-playwright
Draft

test: migrate e2e tests from Cypress to Playwright#3272
skjnldsv wants to merge 3 commits into
masterfrom
feature/migrate-e2e-to-playwright

Conversation

@skjnldsv

Copy link
Copy Markdown
Member

WIP


This PR was developed with AI assistance (Claude Code).

Cypress 13's Electron 118 user-agent is rejected by Nextcloud's
unsupported-browser redirect (needs Chrome 142+), which broke the whole
suite. Replace Cypress with Playwright (Chromium passes the check) and
port all specs.

- Add playwright config + docker bootstrap via @nextcloud/e2e-test-server
- Reusable support utils (webdav, files, viewer, sidebar, share) and
  image/media/oddname mixins; role-based selectors throughout
- Port all specs except visual-regression (dropped for now)
- Replace cypress CI workflow with playwright.yml; remove Cypress deps

Assisted-by: ClaudeCode:claude-fable-5
@skjnldsv skjnldsv self-assigned this Jul 10, 2026
@skjnldsv skjnldsv added 2. developing Work in progress technical debt Technical issue labels Jul 10, 2026
skjnldsv added 2 commits July 10, 2026 11:24
- workers: 4 with a 10s expect timeout (matching the previous Cypress
  waits) so heavier previews under parallel load do not flake
- skip video.ogv: Playwright's bundled Chromium has no Ogg/Theora decoder
  (the viewer never leaves its loading state), unlike Cypress's Electron

Assisted-by: ClaudeCode:claude-fable-5
workers:4 starves CPU on the single shared test container during the
concurrent 15 MB image.png setups, flaking hooks and preview loads even
with retries; 2 workers is stable and just as fast locally.

Also give the viewer loading-state check a 30s ceiling (large preview
generation) and raise the default expect timeout to 15s.

Assisted-by: ClaudeCode:claude-fable-5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2. developing Work in progress technical debt Technical issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant