Examly Test Harness

Run proctoring API on :3000, then this page on :3001 (pnpm --filter @examly/test-harness dev).

Simple demo — stay on this page

Use the numbered buttons in order. Step 5 shows raw JSON; step 6 opens the visual report with photos and times.

After step 3, tab switch, copy/paste in this page, and (inside the monitor iframe) focus leaving the exam frame are detected automatically. Open Advanced for manual / face violations.

Step 3 loads the monitor below and starts the SDK, then turns on your webcam. One-time build from repo root: pnpm harness:setup

Response

No request sent yet.
Advanced (manual forms, monitor, SDK bundle…)

Monitor / camera / MediaPipe

Optional. Build once: pnpm harness:setup (repo root). Embedded monitor: /monitor/

script-tag-test.html · iframe-test.html

Bootstrap (same as step 1)

Uses ADMIN_SECRET at the top of this page.

Active tenant id: none

Proctoring routes: POST /admin/tenants, POST /admin/tenants/:id/keys

Active raw key: none

Allowed origins used: none

Manual onboarding

Allowed origins are comma-separated (example: http://localhost:3001,http://127.0.0.1:3001).

Create session (form)

Proctoring route: POST /proctor/sessions

Select session + actions

Selected Session ID: none

Selected Session Status: unknown

Client token (if created in this page): none

After SDK Start or simple-demo step 3, use the embedded monitor as the single camera preview. Automatically detected on this page: tab/minimize via Page Visibility (tab_switch), copy/paste/cut (copy_paste). The embedded monitor iframe also auto-detects those plus focus_loss when focus leaves the iframe while the tab stays visible.

Manual violations (harness only)

Severity from the dropdown above. Use for cases not auto-detected.

Admin + modules