# 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.