Skip to content

Implement basics for E2E tests driven by playwright#6038

Merged
zoldar merged 37 commits intomasterfrom
e2e-exploration-playwright
Feb 5, 2026
Merged

Implement basics for E2E tests driven by playwright#6038
zoldar merged 37 commits intomasterfrom
e2e-exploration-playwright

Conversation

@zoldar
Copy link
Contributor

@zoldar zoldar commented Jan 29, 2026

Changes

This PR implements basis for running end-to-end dashboard tests using playwright.

  • A distinct e2e_test MIX environment is introduced for running the tests
  • The end-to-end tests live under ./e2e directory, with playwright and all dependencies installed directly there
  • A test specific seeds file is put under ./priv/repo/e2e_seeds.exs - it might be subject to change if we decide to change out approach to setting up system state for tests - it's being discussed internally
  • End-to-end tests are run as a part of CI pipeline; screenshots for failed tests uploaded to GH artifacts

The tests can be run locally in two ways:

  • mix test.e2e - standard mode outputting test report in the terminal
  • mix test.e2e.ui - interactive mode running in a dedicated window, with ability to run tests and review the outputs selectively

When run on CI, the tests are sharded (just two shards for now).

Failed test report for a single shard:

https://github.com/plausible/analytics/actions/runs/21710287043/job/62611828894

Full test report summary available under merge-sharded-e2e-test-report job (after expanding "Merge into list report"):

https://github.com/plausible/analytics/actions/runs/21710287043/job/62612031552

Screenshots from failed tests on CI are available as downloadable artifacts from CI worflow summary page, like this one:

https://github.com/plausible/analytics/actions/runs/21710287043

image

While we could work towards fancier report output, I'd opt for keeping things simple for now and not adding en explicit report the the PR thread just yet, to reduce noise.

There are only a couple example tests for now. Follow-up work will involve expanding it into a more comprehensive set of test scenarios.

@zoldar zoldar force-pushed the e2e-exploration-playwright branch 5 times, most recently from bdf0a5a to 80ee512 Compare February 3, 2026 11:05
@zoldar zoldar force-pushed the e2e-exploration-playwright branch from 0386ab7 to a44d103 Compare February 5, 2026 09:21
@zoldar zoldar force-pushed the e2e-exploration-playwright branch from 33f6ec9 to bd620a1 Compare February 5, 2026 10:24
@zoldar zoldar changed the title [PoC] Implement basics for E2E tests driven by playwright (JS) Implement basics for E2E tests driven by playwright Feb 5, 2026
@zoldar zoldar marked this pull request as ready for review February 5, 2026 12:24
@zoldar zoldar requested a review from a team February 5, 2026 12:24
@zoldar zoldar enabled auto-merge February 5, 2026 14:36
@zoldar zoldar added this pull request to the merge queue Feb 5, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 5, 2026
@zoldar zoldar enabled auto-merge February 5, 2026 14:52
@zoldar zoldar added this pull request to the merge queue Feb 5, 2026
Merged via the queue into master with commit c292057 Feb 5, 2026
26 checks passed
@zoldar zoldar deleted the e2e-exploration-playwright branch February 5, 2026 15:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants