High-performance Dataverse Playwright frontend testing framework and E2E automation scaffolding.
dataverse-jsf-tests is the foundational open-source automation engine and testing scaffolding for IQSS Dataverse. Built for speed, reliability, and developer ergonomics, it provides the core test runner and DOM assertion utilities needed to validate complex frontend architectures. Designed to be highly extensible, it serves as the close-quarters framework for writing, structuring, and executing robust end-to-end web UI tests.
This repo (uncch-rdmc/dataverse-jsf-tests) is a UNC-maintained staging fork — new tests are prototyped here before being merged into the canonical upstream suite, gdcc/dataverse-jsf-tests. It has no CI/CD pipeline of its own; the actual pipeline that runs these tests lives in IQSS/dataverse at .github/workflows/dataverse_jsf_tests.yml, which checks out gdcc/dataverse-jsf-tests (not this fork) and runs it against a freshly-built Dataverse instance on every push/PR. See docs/03_developer_guide.md, section 5, for the full picture — including what that pipeline actually does and why a change here isn't tested by it until merged upstream.
- Clone the git repository into an empty folder
cdinto the working directory (the root directory whereplaywright.config.tsexists)cp .env.example .env- Fill
.envwith your installation-specific values:BASE_URL— the Dataverse instance URLDV_USERNAME/DV_PASSWORD/DV_FULL_NAME— login credentials and navbar display nameLOGIN_ADAPTER— authentication flow (shibboleth-direct,incommon-seamlessaccess, orbuiltin)- See
.env.examplefor all available options
npm installnpx playwright installnpx playwright test
For anything past "it runs" — running only a specific test or browser,
Playwright's headed/debug/trace tooling, the full environment variable
reference, and setup troubleshooting — see
docs/03_developer_guide.md.
| Doc | Covers |
|---|---|
docs/03_developer_guide.md |
Clone/setup/run, running specific tests and browsers, Playwright feature tour (headed mode, UI mode, trace viewer, codegen), full environment variable reference, CI/CD context, troubleshooting |
docs/TEST_SPECIFICATIONS.md |
Plain-English description of every test, grouped by @standard / @21cfr / @regression |
docs/01_shibboleth_auth.md |
Login adapters, Duo 2FA, session-cookie persistence |
docs/backlog.md |
Test cases deferred, blocked, or ruled out as not automatable |
docs/test_data.md |
Why the fixture files in tests/suite/test-data/ exist |
docs/combine_videos.md |
Stitching per-test failure videos into one MP4 |