Runtime Manager
The Runtime Manager handles the xyva-runtime package -- a self-contained bundle that provides Playwright browser binaries, Node.js verification, and CLI tools required for headless test execution and Swarm scanning.
Overview
xyva.ai is an Electron application, but test execution happens in real browser instances managed by Playwright. The runtime package ensures all dependencies are available without requiring users to install them system-wide.
INFO
The runtime is downloaded on first launch or when a version upgrade is detected. Total size is approximately 250 -- 400 MB depending on which browsers are selected.
Browser Installations
The runtime manages Chromium, Firefox, and WebKit binaries. You can control which browsers are installed:
| Browser | Default | Use Case |
|---|---|---|
| Chromium | Installed | Primary execution engine, fastest |
| Firefox | Installed | Cross-browser regression testing |
| WebKit | Optional | Safari-equivalent testing on non-macOS |
To change the browser selection, go to Settings > Runtime and toggle the browsers you need. Changes take effect after the next runtime sync.
Node.js Verification
The runtime verifies that a compatible Node.js version (18.x minimum, 20.x recommended) is available on the system. If no compatible version is found, xyva displays a setup wizard. The runtime does not bundle Node.js itself -- it relies on the system installation.
WARNING
Some advanced features (custom Playwright scripts, plugin execution) shell out to node. If Node.js is missing, these features are disabled but core xyva functionality still works.
CLI Tools
The runtime provides command-line entry points for headless environments (CI servers, scheduled tasks):
# Run a specific test suite headlessly
npx xyva-runtime run --suite smoke --browser chromium --headless
# Execute a Swarm scan from the command line
npx xyva-runtime swarm --preset quick --target https://staging.example.com
# Check runtime health and installed browser versions
npx xyva-runtime statusCLI Flags
| Flag | Description |
|---|---|
--suite | Test suite name or glob pattern |
--browser | Target browser (chromium, firefox, webkit) |
--headless | Run without a visible browser window |
--preset | Swarm preset name (quick, full, a11y) |
--target | Base URL for Swarm scans |
--json | Output results as JSON |
TIP
Combine --headless and --json flags in CI pipelines to run tests and parse results programmatically without any GUI dependency.
