@unotest/viewer
v0.52.1
Published
Localhost HTTP+WS viewer for unotest. Target-agnostic host: runner packages (@unotest/web, @unotest/mobile, …) are à-la-carte plugins auto-detected at boot and selectable via the TEST TARGET switcher. NestJS server + React+MobX frontend. Reads run-artifac
Readme
@unotest/viewer
Local browser UI for @unotest/web test runs.
Installed automatically as part of @unotest/web — no manual setup needed.
Usage
npx @unotest/web viewerOpens a local IDE-style UI in your default browser: a scenario / collection
/ run-history tree, run-from-UI with live results over WebSocket, a foldable
block view of each scenario (one section per step(...) block) with
per-step status, a step debugger (breakpoints + live DOM inspection),
screenshots and failure artifacts, and a docked terminal.
A scenario file with several test_* functions is a node in the tree, with
one row per test. Each test has its own run, status and history. The file's
run lists its tests, and Run again on a test runs that test only. The file's
dot is red when a test failed. It is grey (skipped) only when every test
skipped, and violet (failed on purpose) only when every test that ran was
expected to fail; otherwise it is green. Home and collection summaries count
tests, not files.
Set UNOTEST_VIEWER_NO_OPEN=1 to start the server without auto-opening the browser.
Set UNOTEST_VIEWER_TERMINAL=off on a host that cannot give the docked terminal a
PTY (the native node-pty addon is not installed there). The viewer then has no
terminal at all — no panel, no button, no terminal socket — for every session.
Unset, the terminal is on, and a machine missing the addon says so when the
panel starts. A box sets it for its viewers.
Ecosystem
| Package | Role |
|---|---|
| @unotest/web | CLI / MCP server / runner |
| @unotest/viewer | this package — local results browser |
| @unotest/protocol | shared types |
| @unotest/dsl | scenario parser + validator engine |
