Merv-Local + Cucumber guide
Introduction
Cucumber runs BDD scenarios
in Java. Merv-Local hooks into Cucumber via
org.teche.merv.client.plugin.MervCucumberHandler and writes rich HTML/JSON reports under
merv.report.folder — no central server required.
- How to add
merv-client-apito Maven or Gradle - Minimum
merv.propertiesfor local mode - How to register the Cucumber plugin and bind Selenium (optional)
- How to record
data,validation, andinfosteps - Where suite HTML and the dashboard live after a run
Add dependency
Add MERV to your project (use the latest version from Maven Central when available):
Maven (pom.xml)
<dependency>
<groupId>io.github.techelliptica</groupId>
<artifactId>merv-client-api</artifactId>
<version>3.0.3</version>
</dependency>
Gradle
dependencies {
testImplementation "io.github.techelliptica:merv-client-api:3.0.3"
}
Configure merv.properties
Place merv.properties on the classpath (for example src/test/resources/):
merv.local=true
merv.regression_suite=Your Regression Suite Name
merv.report.folder=./merv-reports
merv.execution.parallel=false
merv.screenshot=on
These are the minimum settings for local report generation.
Register Cucumber plugin
Register the MERV Cucumber plugin so execution events are captured:
@CucumberOptions(
plugin = {
"org.teche.merv.client.plugin.MervCucumberHandler"
}
)
If you use Cucumber 7+ with JUnit Platform, configure the same plugin in your platform properties.
Bind automation (optional)
When merv.screenshot=on, bind your driver in hooks so screenshots and step context are captured:
WebDriverContext.setDriver(driver);
MervCucumberHandler.setAutomationToolObject(AutomationTool.SELENIUM, driver);
Plugin steps in tests
Use the unified reporter API (same for Cucumber, TestNG, and JUnit 5):
MervReporter.validation("Verify total", expected, actual);
MervReporter.data("Payload", requestJson);
MervReporter.info("Reached checkout page");
Run your suite
mvn test
Gradle:
./gradlew test
Run your Cucumber suite normally. MERV generates local report artifacts during execution.
Viewing Merv reports
After a run, reports live under {merv.report.folder} (for example
./merv-reports/). Open paths through a local web server — not via
file:// in the file manager.
index.html— dashboard: suite grid, KPI charts, consolidated views{runFolder}/html/merv-report.html— final suite report for one run{runFolder}/html/merv-report-live.html— live suite view while tests run
Open with a web server
Merv-Local reports load JSON and charts with fetch. Browsers often block that on
file:// URLs. Use your IDE’s static server (or any local HTTP server) so the address
bar shows http://localhost:….
- In VS Code, install Live Server, right-click
merv-reports/index.html, and choose Open with Live Server. - In IntelliJ IDEA, right-click
index.htmland choose Open in Browser (built-in preview server). - While tests run, keep
merv-report-live.htmlopen on the same server for live updates.
What’s next
- Detailed Cucumber integration — hooks, JSON contract, troubleshooting
- Merv documentation — pick another framework
- TestNG guide · JUnit 5 guide
- Home — product overview and screenshots
MERV