Skip to content

Install Testver

This page walks you through getting Testver up and running. It assumes zero prior knowledge. By the end, you’ll have the Testver UI open in your browser at http://localhost:3700.

Testver is an AI-powered test-automation dashboard. It scans your test project, runs your tests, shows results with screenshots and step-by-step details, helps you record and fix tests, and can schedule runs — all from a web dashboard in your browser.

What this guide covers. Everything you need to install and run Testver from the official npm package — the prerequisites, the exact software to install, a local setup on your own computer, and a shared server setup for a whole team. Every step is written so that someone with no prior experience can follow it.

How Testver is delivered. Testver is published on the npm registry as @testver/testver. You install it once with a single command and then run it. Docker is optional and is NOT required for any setup in this guide.

If any of the words below are new to you, read this short list first. You do not need to memorise it — just refer back when needed.

TermWhat it means
TerminalA text window where you type commands. On Windows it is “Command Prompt” or “PowerShell”; on macOS/Linux it is “Terminal”.
Node.jsThe runtime (engine) that Testver is built on. You must install it first. Testver needs version 20 or newer.
npmThe “Node Package Manager”. It comes bundled with Node.js and is used to install Testver.
packageA piece of software published online that npm can download and install. Testver is one such package.
global installInstalling a tool so it can be run from anywhere on your computer (used for command-line tools like Testver).
dashboardThe Testver web page you open in your browser to see and control everything.
portA numbered “door” on a computer that a program listens on. Testver uses 3700 by default (e.g. http://localhost:3700).
localhostA name that means “this computer”. http://localhost:3700 opens Testver running on your own machine.
API keyA secret password-like string from an AI provider (e.g. Anthropic/OpenAI) that lets Testver use AI features.

Before installing Testver, the following must be present on the machine. Items 1–2 are mandatory for everyone. Items 3–5 depend on what kind of tests you run.

#SoftwareVersionWhy it is needed
1Node.js20.0.0 or newerThe engine Testver runs on. Installing Node also installs npm.
2npmComes with NodeUsed to download and install the Testver package.

Minimum hardware: any modern laptop/desktop with at least 4 GB RAM (8 GB+ recommended) and ~2 GB free disk space.

If your tests use…You also need to installNotes
Playwright, Cypress, Jest, Mocha, WebdriverIO (JavaScript/TypeScript)Node.js (already covered) + the browser binariesBrowsers are installed with one command — see Section 4.4.
pytest (Python)Python 3.8+ and pipInstall from python.org or your OS package manager.
JUnit / TestNG (Java)Java JDK 11+ and Maven or GradleRequired so Testver can run the Java tests.
NUnit / xUnit / MSTest (.NET).NET SDK 6.0+Install from dotnet.microsoft.com.
RSpec (Ruby)Ruby 3.0+Install from ruby-lang.org or your OS package manager.

Testver’s AI features (recording, fixing, chat) need an API key from at least one AI provider. You can use Testver to run and view tests WITHOUT a key, but AI features stay disabled until you add one.

  • Anthropic (Claude) — recommended. Get a key at console.anthropic.com.
  • OpenAI (GPT) — get a key at platform.openai.com.
  • Google (Gemini), xAI (Grok), or local models via Ollama / LM Studio are also supported.

Follow these steps in order on the computer where you want to use Testver. This is the right choice for a single developer/tester.

Windows:

  1. Open a web browser and go to https://nodejs.org

  2. Download the “LTS” version (the big green button). LTS means “Long-Term Support” — the stable one.

  3. Run the downloaded installer and click Next/Agree until it finishes. Leave all options at their defaults. macOS:

  4. Go to https://nodejs.org and download the LTS “macOS Installer (.pkg)”, then run it; OR, if you use Homebrew, run the command below.

brew install node

Linux (Ubuntu/Debian):

# Install Node.js 20 LTS from NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Step 2 — Verify Node and npm are installed

Section titled “Step 2 — Verify Node and npm are installed”

Open a new terminal window and run these two commands. Each should print a version number.

node --version
npm --version

You should see something like v20.11.0 and 10.2.4. If the Node version is below 20, install the LTS version again from Section 4.1.

Run this single command. The -g means “global”, so the testver command works from any folder.

npm install -g @testver/testver

macOS/Linux permission errors? If you see an EACCES or “permission denied” error, either re-run with sudo npm install -g @testver/testver, or (better) use a Node version manager such as nvm so global installs don’t need admin rights.

Verify the install:

testver --version

It should print the version, e.g. testver v1.0.0.

Step 4 — Install browser binaries (for web UI tests)

Section titled “Step 4 — Install browser binaries (for web UI tests)”

If your tests drive a real browser (Playwright/Cypress/Selenium/WebdriverIO), install the browsers once:

npx playwright install

In your terminal, move into your test project’s folder, then start the dashboard server:

# Windows example
cd C:\path\to\your\test-automation-framework
# macOS/Linux example
cd /path/to/your/test-automation-framework
# Start the dashboard
testver serve

You will see a banner that says the server is running, with a line like Local: http://localhost:3700.

Step 7 — Open the dashboard and create your account

Section titled “Step 7 — Open the dashboard and create your account”
  1. Open your web browser and go to: http://localhost:3700
  2. The first time, Testver shows a one-time Setup screen. Create your admin account (username + a strong password). This account is yours; keep the password safe.
  3. After setup, you land on the dashboard. Testver auto-detects your framework and lists your tests. You are ready to run tests.

This section hosts the Testver dashboard on one always-on machine (a server) so your whole team can open it in their browsers. No Docker is required — the npm package runs the same dashboard; we just keep it running and put it behind a secure address.

You will: (1) prepare a Linux server, (2) install Node + your test toolchain, (3) install Testver, (4) keep it running with a service manager, (5) put it behind HTTPS, and (6) lock down access.

  • A Linux server (Ubuntu 22.04 LTS is a good default) — a cloud VM (AWS/Azure/GCP/DigitalOcean) or an on-premise machine.
  • At least 2 CPU cores and 4 GB RAM (8 GB+ if many tests run at once).
  • SSH access to the server, and a user with sudo (admin) rights.
  • Optional but recommended: a domain name (e.g. testver.yourcompany.com) pointed at the server’s IP address, for HTTPS.

Step 2 — Install Node.js and your test toolchain on the server

Section titled “Step 2 — Install Node.js and your test toolchain on the server”
# Update the system
sudo apt-get update && sudo apt-get upgrade -y
# Install Node.js 20 LTS + git
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs git
# Verify
node --version
npm --version
# Install Browsers
npx playwright install --with-deps chromium

Then install whatever your tests need on the SAME server (only the ones you use):

sudo npm install -g @testver/testver
testver --version

Step 4 — Put your test automation framework on the server

Section titled “Step 4 — Put your test automation framework on the server”

Copy your test framework onto the server (for example with git):

cd /srv
sudo git clone https://github.com/your-org/your-test-framework.git
cd your-test-framework
# install the project’s own dependencies, e.g.:
npm install # for JS/TS projects
# or: pip install -r requirements.txt (Python)

Step 5 — Keep Testver running as a background service

Section titled “Step 5 — Keep Testver running as a background service”

A server should keep Testver running and restart it automatically after a crash or reboot. Two common ways — pick ONE.

Section titled “Option A — systemd (recommended on Linux)”

Create a service file:

sudo nano /etc/systemd/system/testver.service

Paste the following (adjust the paths, user, and API key):

[Unit]
Description=Testver Dashboard
After=network.target
[Service]
Type=simple
WorkingDirectory=/srv/your-test-project
ExecStart=/usr/bin/testver serve --host 127.0.0.1 --port 3700
Environment=NODE_ENV=production
Environment=ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxx
Environment=TESTVER_DEFAULT_PROVIDER=anthropic
Restart=always
RestartSec=5
User=testver
[Install]
WantedBy=multi-user.target

Enable and start it:

sudo systemctl daemon-reload
sudo systemctl enable testver
sudo systemctl start testver
# Check status and logs
sudo systemctl status testver
journalctl -u testver -f
sudo npm install -g pm2
cd /srv/your-test-project
ANTHROPIC_API_KEY=sk-ant-xxx pm2 start "testver serve --host 127.0.0.1 --port 3700" --name testver
pm2 save
pm2 startup # run the command it prints, to start on boot

Step 6 — Add HTTPS with a reverse proxy (Nginx)

Section titled “Step 6 — Add HTTPS with a reverse proxy (Nginx)”

A reverse proxy gives your team a clean, secure https:// address and handles encryption. Testver uses WebSockets for live updates, so the proxy must forward the Upgrade headers (shown below).

sudo apt-get install -y nginx
sudo nano /etc/nginx/sites-available/testver

Paste this (replace testver.yourcompany.com with your domain):

server {
listen 80;
server_name testver.yourcompany.com;
location / {
proxy_pass http://127.0.0.1:3700;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 86400;
}
}

Enable the site and add a free HTTPS certificate with Let’s Encrypt:

sudo ln -s /etc/nginx/sites-available/testver /etc/nginx/sites-enabled/
sudo nginx -t # test the config
sudo systemctl reload nginx
# Free HTTPS certificate (auto-renews)
sudo apt-get install -y certbot python3-certbot-nginx
sudo certbot --nginx -d testver.yourcompany.com

Your team can now open https://testver.yourcompany.com.

Step 7 — Create the admin account immediately

Section titled “Step 7 — Create the admin account immediately”

Open the HTTPS address in a browser and complete the one-time Setup screen RIGHT AWAY to create the admin account. Then add accounts for your teammates from the dashboard.

Because Testver can run commands on the server, treat access as you would shell access. Choose at least one:

  • Keep it on the company network / VPN (e.g. Tailscale, WireGuard) so only employees can reach it.
  • Add an IP allow-list in Nginx, or put a single-sign-on (SSO) proxy in front (e.g. Cloudflare Access).
  • Open only the needed ports in the server firewall:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Security Checklist (Read Before Exposing to a Network)

Section titled “Security Checklist (Read Before Exposing to a Network)”

Testver executes your test commands on the host. Anyone who can sign in can effectively run programs on that machine, so protect it accordingly.

  • Create the admin account immediately after first start; use strong, unique passwords.
  • Never expose the dashboard directly to the public internet without HTTPS and access control (VPN/SSO/IP allow-list).
  • Bind the app to 127.0.0.1 and let the reverse proxy handle public traffic (do not bind 0.0.0.0 directly to the internet).
  • Keep API keys and credentials only in the server’s environment/.env — never commit them to git.
  • Run the service as a non-root user (the systemd example uses User=testver).
  • Keep Testver updated (Section 8) — fixes ship frequently.

Configuration Reference (Environment Variables)

Section titled “Configuration Reference (Environment Variables)”

Set these in a .env file in your project folder, or as environment variables in your shell / service file.

VariableDefaultPurpose
TESTVER_HOSTlocalhostNetwork address to bind. Use 0.0.0.0 only behind a proxy/VPN.
TESTVER_PORT3700Port the dashboard listens on.
VariablePurpose
ANTHROPIC_API_KEYAnthropic (Claude) API key.
OPENAI_API_KEYOpenAI (GPT) API key.
GOOGLE_API_KEYGoogle (Gemini) API key.
XAI_API_KEYxAI (Grok) API key.
TESTVER_DEFAULT_PROVIDERWhich provider to use by default: anthropic, openai, google, xai, ollama, or lmstudio.
TESTVER_DEFAULT_MODELOptional. Override the model used for the default provider.
VariableDefault
ANTHROPIC_MODELclaude-sonnet-4-20250514
OPENAI_MODELgpt-4o
GOOGLE_MODELgemini-2.0-flash
XAI_MODELgrok-2-latest
OLLAMA_BASE_URLhttp://localhost:11434/v1
LMSTUDIO_BASE_URLhttp://localhost:1234/v1
testver --version
npm install -g @testver/testver@latest

On a server, restart the service after updating:

sudo systemctl restart testver # systemd
# or
pm2 restart testver # pm2

Testver exposes a health endpoint. From the server (or your machine) run:

curl http://localhost:3700/api/health

A healthy server returns a small JSON response with “status”: “healthy” and the version.

npm uninstall -g @testver/testver
ProblemCause & Fix
”testver: command not found” or “not recognized”You installed without -g, or the terminal is stale. Run: npm install -g @testver/testver, then open a NEW terminal. As a fallback, run it with: npx @testver/testver serve
Node version error / very old featuresNode is below 20. Run node —version; if under 20, reinstall the LTS version from nodejs.org.
”EADDRINUSE” / port 3700 already in useAnother program (or a previous Testver) holds the port. Start on a different port: testver serve —port 8080
”EACCES” / permission denied on npm install -gmacOS/Linux global installs need rights. Use sudo, or install a Node version manager (nvm) so global installs do not need admin.
”EMFILE: too many open files” on macOSA very large project hit the file-watch limit. Update to the latest Testver (it self-protects), or run: ulimit -n 10240 before testver serve.
Tests do not run / framework not detectedMake sure the tests run on their own first (e.g. npx playwright test / pytest). The language runtime + project dependencies must be installed on the same machine.
AI features greyed outNo API key configured. Add a provider key to .env (Section 4.5) and restart Testver.
Team cannot reach the server URLCheck the service is running (systemctl status testver), Nginx is reloaded, the firewall allows Nginx, and DNS points to the server.
Live log / dashboard freezes on an 8+ hour runUpdate to the latest Testver — long-run output is bounded and the live socket is kept alive in current versions.
CommandWhat it does
npm install -g @testver/testverInstall Testver globally.
testver —versionShow the installed version.
testver —helpShow all commands and options.
testverStart interactive command-line mode.
testver serveStart the web dashboard on http://localhost:3700.
testver serve —port 8080Start the dashboard on a custom port.
testver serve —host 0.0.0.0Listen on all network interfaces (use only behind a proxy/VPN).
npx playwright install —with-depsInstall browser binaries for web tests.
npm install -g @testver/testver@latestUpdate to the newest version.
curl http://localhost:3700/api/healthCheck that the server is healthy.

End of guide. For the full list of options at any time, run testver --help.