- Add Next.js app structure with base configs, linting, and formatting - Implement LiveKit Meet page, types, and utility functions - Add Docker, Compose, and deployment scripts for backend and token server - Provide E2E and smoke test scaffolding with Puppeteer and Playwright helpers - Include CSS modules and global styles for UI - Add postMessage and studio integration utilities - Update package.json with dependencies and scripts for development and testing
39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
Local E2E runner
|
|
|
|
This E2E runner automates the UI flow for Broadcast Panel -> StudioPortal -> LiveKit token handshake.
|
|
|
|
Prereqs
|
|
- Node 18+
|
|
- npm packages installed in `packages/broadcast-panel` (run `npm install` there)
|
|
- Either a local Chrome launched with remote debugging or access to a remote browser service like browserless
|
|
|
|
Start local Chrome with remote debugging (example):
|
|
|
|
```bash
|
|
cd packages/broadcast-panel/e2e
|
|
chmod +x start-chrome-remote.sh
|
|
./start-chrome-remote.sh
|
|
# verify
|
|
curl http://localhost:9222/json/version
|
|
```
|
|
|
|
Run the E2E runner connecting to a remote Chrome (default) or browserless:
|
|
|
|
```bash
|
|
# Connect to local remote-debugging chrome
|
|
cd packages/broadcast-panel
|
|
node e2e/run_local_e2e.js --ws http://localhost:9222 --show
|
|
|
|
# Or connect to browserless remote (example)
|
|
REMOTE_WS="wss://browserless.bfzqqk.easypanel.host?token=e2e098863b912f6a178b68e71ec3c58d" node e2e/run_local_e2e.js --show
|
|
|
|
# To point to specific backend/broadcast hosts (useful when running remote browserless):
|
|
REMOTE_WS="..." BROADCAST_URL="https://avanzacast-broadcastpanel.bfzqqk.easypanel.host" TOKEN_SERVER="https://avanzacast-servertokens.bfzqqk.easypanel.host" node e2e/run_local_e2e.js --show
|
|
```
|
|
|
|
Notes
|
|
- The script will postMessage the LIVEKIT_TOKEN to the StudioPortal when a token is created in backend-api.
|
|
- If StudioPortal does not auto-connect, the runner will attempt to click a "Conectar" button (class .btn-small).
|
|
- Logs and screenshots are saved to `packages/broadcast-panel/e2e/out`.
|
|
|