36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# Browser characterization tests
|
|
|
|
These Playwright tests lock the observable portfolio behavior at the browser
|
|
boundary. They exercise the built `dist/` output through the local preview
|
|
server rather than replacing Vue, Three.js, WebGL, or Web Audio with production
|
|
test hooks.
|
|
|
|
## Run
|
|
|
|
Build the preview artifacts, then run the whole browser suite:
|
|
|
|
```bash
|
|
npm run build:preview
|
|
npm run test:browser
|
|
```
|
|
|
|
Run only the Phase 2 journey gate:
|
|
|
|
```bash
|
|
npm run test:browser -- tests/browser/journey-integration.spec.ts tests/browser/reduced-motion.spec.ts tests/browser/static-fallback.spec.ts tests/browser/bfcache-lifecycle.spec.ts
|
|
```
|
|
|
|
## Add a case
|
|
|
|
1. Name the concrete regression the case catches.
|
|
2. Use literal inputs and expected browser-visible results.
|
|
3. Install `scene-instrumentation.ts` before navigation when resource counts or
|
|
platform calls are the observable boundary.
|
|
4. Keep failure injection in `page.addInitScript()` or Playwright routing; do
|
|
not add a test API to the application bundle.
|
|
5. Run the new case against both configured Chromium profiles, then run the
|
|
full suite.
|
|
|
|
Never copy credentials, private project identifiers, or private URLs into a
|
|
fixture. Use clearly fake values when a credential-shaped input is required.
|