A browser-test layer: Playwright against a real Nextcloud - #2176
Open
karlitschek wants to merge 2 commits into
Open
A browser-test layer: Playwright against a real Nextcloud#2176karlitschek wants to merge 2 commits into
karlitschek wants to merge 2 commits into
Conversation
1,500 unit tests and an integration suite could not see a page that stays empty because a bundle did not load, a route answered the wrong shape or a dialog never closed; this can. tests/e2e/ signs in through Nextcloud's own login form, opens the app, checks the sidebar and the feed, writes a post in the dialog and sees it arrive, walks the Discover page, switches scopes and opens a group list -- in Chromium, against the committed bundle in js/, with nothing mocked. .github/workflows/e2e.yml sets up a throwaway server (stable35, SQLite, a second user and a group) for every pull request and keeps the Playwright report when something fails. Locally: npm run test:e2e, pointed at any instance with E2E_BASE_URL / E2E_USER / E2E_PASSWORD; paths are resolved under the base, so an instance at /nextcloud works like one at the root. Run green against devel (5 of 5) before this commit. Signed-off-by: Frank Karlitschek <frank@nextcloud.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: Frank Karlitschek <frank@nextcloud.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
karlitschek
force-pushed
the
test/e2e-browser
branch
from
September 14, 2026 00:15
7730fe2 to
76578a6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Item 11 of the fresh look, third part. 1,500 unit tests and an integration suite could not see a page that stays empty because a bundle did not load, a route answered the wrong shape, or a dialog never closed — this can.
What is here
tests/e2e/(Playwright, Chromium), five smoke tests that do what a person does in their first five minutes, against a real Nextcloud with the app installed and the committed bundle injs/— nothing mocked:E2E_GROUP; skipped when unset)..github/workflows/e2e.ymlsets up a throwaway server for every pull request —stable35, SQLite, the app enabled, a second user and adesigngroup — runs the suite, and keeps the Playwright report and traces as an artifact when something fails.Locally:
npx playwright install chromium, thenE2E_BASE_URL=… E2E_USER=… E2E_PASSWORD=… npm run test:e2e. Paths are resolved under the base URL, so an instance at/nextcloudworks like one at the root (that was the first thing the run against devel caught).npm run lintcoverstests/e2etoo.Verification
sofia(5 passed, 1.5 min) before committing — including the group list, which Nextcloud groups as Social lists #2169 put there.@playwright/testis a devDependency only; the bundle is unchanged apart from the version. README documents the suite; Technical-Debt.md's "since then" records it.Version 0.19.40.
🤖 Generated with Claude Code