35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
# Browser Tests
|
|
|
|
These JF12-only integration tests create three temporary NFO movie fixtures,
|
|
seed deterministic Multilang data for their real Jellyfin IDs, and exercise
|
|
the ordinary web UI with Chromium. They cover proxy translation/fallback and
|
|
ordering, genre translation, per-user enablement, pre-cache population,
|
|
category-rule precedence, and both settings pages. The runner restores the
|
|
complete JF12 `config`, `data`, and `cache` volumes afterward. It refuses any target except
|
|
`jellyfin12` on port `8097`.
|
|
|
|
Install the ignored local dependencies once:
|
|
|
|
```bash
|
|
cd tests/browser
|
|
npm install
|
|
npx playwright install chromium
|
|
```
|
|
|
|
Run from the repository root with JF12 test-account credentials:
|
|
|
|
```bash
|
|
python3 tools/run_jellyfin12_browser_tests.py \
|
|
--base-url http://server.sedomain:8097 \
|
|
--username "$JELLYFIN_TEST_USER" \
|
|
--password "$JELLYFIN_TEST_PASSWORD" \
|
|
--ssh-host server.sedomain \
|
|
--state-root /mnt/apps-pool/Docker/Volumes/jellyfin12 \
|
|
--confirm-destructive
|
|
```
|
|
|
|
`node_modules`, browser artifacts, credentials, test results, and traces are
|
|
ignored. A failed run still restores the server state in a `finally` block; a
|
|
restoration hash mismatch intentionally leaves its remote snapshot in `/tmp`
|
|
for investigation.
|