Skip to content

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:

BrowserDefaultUse Case
ChromiumInstalledPrimary execution engine, fastest
FirefoxInstalledCross-browser regression testing
WebKitOptionalSafari-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):

bash
# 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 status

CLI Flags

FlagDescription
--suiteTest suite name or glob pattern
--browserTarget browser (chromium, firefox, webkit)
--headlessRun without a visible browser window
--presetSwarm preset name (quick, full, a11y)
--targetBase URL for Swarm scans
--jsonOutput results as JSON

TIP

Combine --headless and --json flags in CI pipelines to run tests and parse results programmatically without any GUI dependency.

  • Runner -- GUI-based test execution that uses the runtime
  • Swarm QA -- multi-agent scanning powered by runtime browsers

Local-first QA orchestration.