Merv-Local

Share, Download & emailable reports

Suite reports include Share and Download next to the suite name. Share a LAN link while the report server is running, or download an emailable HTML plus an offline zip you can open without a server.

You will learn
  • How to open reports so Share / Download work
  • How LAN sharing and firewall ports behave
  • What Download produces (emailable + offline zip)
  • How merv.emailable.html=true writes a summary at run end
  • How doctor adds the property for you

Overview

These controls appear on the suite report (right of the suite title) for Playwright, Cucumber-js, Cucumber Java, TestNG, and JUnit 5 — when you open the report over HTTP. They are hidden for file:// / unzipped offline opens (those modes cannot share or rebuild downloads).

Share

Copy a LAN URL. Same network, port open, server must stay running.

Download

Saves emailable-report.html and merv-report-offline.zip, then shows zip size.

Emailable

Interactive summary: filters, tags, machines, timeline, failures — works offline.

Offline zip

Root index.html opens the full suite report without a server. No Merv Local link.

What you get

Artifact When Purpose
{run}/emailable-report.html Download always; also on finalize if merv.emailable.html=true Compact interactive summary (also copied to report root)
{run}/merv-report-offline.zip On Download Full run folder + root index.html for offline viewing
{run}/merv-report-upload.zip Finalize when merv.zip.export=true (default) MERV UI import bundle (JSON + screenshots) — separate from offline zip

Serve reports (required for Share / Download)

Share and Download call HTTP APIs on the report server. Open the suite report with one of these — not as a raw file.

JavaScript / TypeScript

npx merv show-report
npx merv show-report --host 0.0.0.0
npx merv show-report --host 0.0.0.0 --port 80

Default: http://127.0.0.1:6174/. Use 0.0.0.0 for LAN Share.

Java

# From a project that depends on merv-client-api
mvn -q exec:java -Dexec.mainClass="org.teche.merv.client.utils.MervLocalReportServer"

# Or point Node at the same merv-reports folder
npx merv show-report ./merv-reports --host 0.0.0.0

Optional: merv.reports.server.host / merv.reports.server.port in merv.properties.

Share on LAN

  1. Start the report server with --host 0.0.0.0 (or Java host 0.0.0.0).
  2. Open a suite report from the dashboard.
  3. Click Share (right of the suite title) → Copy.
  4. Send the link to someone on the same network.
Requirements
  • Port must be reachable (not blocked by firewall).
  • Report is only visible while the server process is running on your machine.
  • If the port is blocked, try 80 or 443, or allow the port in firewall settings.
  • If LAN share still fails, use Merv-Server (merv.local=false + API key).

Download

  1. With the report server running, open the suite report.
  2. Click Download.
  3. Your browser saves emailable-report.html and merv-report-offline.zip.
  4. A popup shows Zip folder downloaded and the zip size.

Emailable report

The emailable file is a single interactive HTML page: Merv branding, overall status, execution machine(s), dashboard (charts, collapsible timeline, tags table), scenario filters (pass/fail/tags/search), expandable steps, and a failures view. Open it offline — no server required.

Write on every suite finish

merv.emailable.html=true

When enabled, finalize writes {runFolder}/emailable-report.html and updates {reportRoot}/emailable-report.html (latest). Download always regenerates the file even if this property is false.

Offline zip

merv.properties

Property Default Description
merv.emailable.html false Write interactive emailable HTML when the suite finishes.
merv.zip.export true Write MERV UI upload zip (merv-report-upload.zip) — not the offline share zip.
merv.reports.server.host 127.0.0.1 Java MervLocalReportServer bind host. Use 0.0.0.0 for LAN.
merv.reports.server.port 6174 Java local report server port (falls back to merv.reports.delete.port if set).

Doctor setup

JS doctors ensure merv.emailable.html exists in merv.properties (default false) without overwriting your value:

npx merv-client doctor setup
npx merv-client-playwright doctor setup
npx merv-client-cucumber doctor setup

Then set merv.emailable.html=true when you want auto emailable files on every run.

Troubleshooting

Symptom Fix
No Share / Download buttons Open via merv show-report / MervLocalReportServer, not file://. Re-run tests so suite HTML is regenerated.
Share link fails for others Restart with --host 0.0.0.0; check firewall; keep the server running; try port 80/443.
Download says prepare failed Confirm the suite URL is under the same host as the report server (same origin /api/prepare-download).
No emailable after run Set merv.emailable.html=true, or use Download (always regenerates).