Overview
AutoMFlows generates comprehensive execution reports in multiple formats. Reports include execution status, node results, screenshots, performance metrics, and error details.
Supported Report Types
HTML
Interactive HTML reports with embedded screenshots and execution timeline
Allure
Allure Test Report format for integration with test management tools
JSON
Machine-readable JSON format for programmatic processing
JUnit
JUnit XML format for CI/CD integration (Jenkins, GitLab CI, etc.)
CSV
Tabular CSV format for spreadsheet analysis
Markdown
Markdown format for documentation and issue tracking
Enabling Reports
Configure report generation when executing workflows:
Single Workflow Execution
{
"workflow": { /* workflow definition */ },
"executionMode": "single",
"reportConfig": {
"enabled": true,
"outputPath": "./output",
"reportTypes": ["html", "json"],
"reportRetention": 10
}
}
Parallel Execution
{
"folderPath": "./tests/workflows",
"executionMode": "parallel",
"workers": 4,
"outputPath": "./output",
"reportConfig": {
"enabled": true,
"reportTypes": ["html", "allure", "junit"],
"reportRetention": 20
}
}
Reports are stored in the outputPath directory with timestamped folder names: workflowName-timestamp/
Report Configuration
enabled
outputPath
reportTypes
reportRetention
Enable or disable report generation: Directory for storing reports:{ "outputPath": "./output" }
Default: ./output Array of report formats to generate:{
"reportTypes": ["html", "allure", "json", "junit", "csv", "markdown"]
}
Maximum number of report folders to keep:{ "reportRetention": 10 }
Older reports are automatically deleted when the limit is exceeded.
HTML Reports
HTML reports provide an interactive view of workflow execution:
- Execution Summary: Status, duration, timestamps
- Node Results: Individual node outcomes with details
- Screenshots: Embedded images captured during execution
- Error Details: Stack traces and error messages
- Performance Metrics: Node execution times
Viewing HTML Reports
Execute Workflow
Run a workflow with HTML reporting enabled:curl -X POST http://localhost:3003/api/workflows/execute \
-H "Content-Type: application/json" \
-d '{
"workflow": {...},
"reportConfig": {
"enabled": true,
"reportTypes": ["html"]
}
}'
List Report Folders
curl http://localhost:3003/api/reports/list
Response:[
{
"folderName": "my-workflow-1709811200000",
"createdAt": "2026-03-07T10:00:00.000Z",
"reportTypes": ["html", "json"],
"files": [
{
"name": "report.html",
"path": "html/report.html",
"type": "html"
}
]
}
]
Open in Browser
open http://localhost:3003/api/reports/my-workflow-1709811200000/html/report.html
Allure Reports
Allure reports provide advanced test analytics with:
- Test suites and categories
- Historical trends
- Flaky test detection
- Retry visualization
- Attachment support (screenshots, logs)
Generating Allure Reports
{
"reportConfig": {
"enabled": true,
"reportTypes": ["allure"]
}
}
Viewing Allure Reports
Allure reports require the Allure CLI to generate the final HTML:
# Install Allure CLI
npm install -g allure-commandline
# Generate report
allure generate ./output/my-workflow-1709811200000/allure -o ./allure-report
# Open in browser
allure open ./allure-report
AutoMFlows generates Allure result files. Use the Allure CLI to create the final HTML report.
JSON Reports
JSON reports are machine-readable and ideal for programmatic processing:
{
"executionId": "exec-1709811200000",
"workflowName": "my-workflow",
"status": "completed",
"startTime": "2026-03-07T10:00:00.000Z",
"endTime": "2026-03-07T10:01:23.456Z",
"duration": 83456,
"nodes": [
{
"id": "start-1",
"type": "start",
"label": "Start",
"status": "success",
"duration": 5
},
{
"id": "openBrowser-1",
"type": "openBrowser",
"label": "Open Browser",
"status": "success",
"duration": 2345
}
],
"screenshots": [
{
"nodeId": "verify-1",
"filename": "verify-1-1709811200000.png",
"path": "screenshots/verify-1-1709811200000.png"
}
],
"errors": []
}
Accessing JSON Reports
curl http://localhost:3003/api/reports/my-workflow-1709811200000/json/report.json
JUnit XML Reports
JUnit reports integrate with CI/CD systems:
<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="AutoMFlows" tests="1" failures="0" errors="0" time="83.456">
<testsuite name="my-workflow" tests="8" failures="0" errors="0" time="83.456">
<testcase name="Start" classname="my-workflow.start-1" time="0.005" />
<testcase name="Open Browser" classname="my-workflow.openBrowser-1" time="2.345" />
<testcase name="Navigate" classname="my-workflow.navigate-1" time="5.678" />
<testcase name="Click Sign Up" classname="my-workflow.click-1" time="1.234" />
<testcase name="Verify Page" classname="my-workflow.verify-1" time="0.567">
<system-out>Verification successful: Page title matches expected value</system-out>
</testcase>
</testsuite>
</testsuites>
Using JUnit Reports in CI/CD
name: Run Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run AutoMFlows
run: |
curl -X POST http://localhost:3003/api/workflows/execute \
-d @workflow.json
- name: Publish Test Results
uses: dorny/test-reporter@v1
with:
name: AutoMFlows Tests
path: ./output/**/junit/*.xml
reporter: java-junit
CSV Reports
CSV reports are ideal for spreadsheet analysis:
Node ID,Node Type,Label,Status,Duration (ms),Start Time,End Time,Error Message
start-1,start,Start,success,5,2026-03-07T10:00:00.000Z,2026-03-07T10:00:00.005Z,
openBrowser-1,openBrowser,Open Browser,success,2345,2026-03-07T10:00:00.005Z,2026-03-07T10:00:02.350Z,
navigate-1,navigation,Navigate to Site,success,5678,2026-03-07T10:00:02.350Z,2026-03-07T10:00:08.028Z,
click-1,action,Click Sign Up,success,1234,2026-03-07T10:00:08.028Z,2026-03-07T10:00:09.262Z,
verify-1,verify,Verify Page,success,567,2026-03-07T10:00:09.262Z,2026-03-07T10:00:09.829Z,
Importing into Excel/Google Sheets
-
Download CSV report:
curl http://localhost:3003/api/reports/my-workflow-1709811200000/csv/report.csv -o report.csv
-
Open in Excel or Google Sheets
-
Create charts and pivot tables for analysis
Markdown Reports
Markdown reports are readable and great for documentation:
# Workflow Execution Report
**Workflow**: my-workflow
**Execution ID**: exec-1709811200000
**Status**: ✅ Completed
**Duration**: 83.456s
**Start Time**: 2026-03-07T10:00:00.000Z
**End Time**: 2026-03-07T10:01:23.456Z
## Node Results
| Node | Type | Status | Duration |
|------|------|--------|----------|
| Start | start | ✅ success | 5ms |
| Open Browser | openBrowser | ✅ success | 2.345s |
| Navigate to Site | navigation | ✅ success | 5.678s |
| Click Sign Up | action | ✅ success | 1.234s |
| Verify Page | verify | ✅ success | 567ms |
## Screenshots
- [verify-1-1709811200000.png](screenshots/verify-1-1709811200000.png)
## Summary
Total Nodes: 5
Successful: 5
Failed: 0
Skipped: 0
Screenshots
Configure screenshot capture during execution:
{
"screenshotConfig": {
"enabled": true,
"timing": "both" // pre, post, both
}
}
Capture screenshot before node execution: Capture screenshot after node execution: Capture screenshots before and after:
Screenshots are stored in the screenshots/ subdirectory and referenced in reports.
Accessing Screenshots
curl http://localhost:3003/api/reports/my-workflow-1709811200000/screenshots/verify-1-1709811200000.png -o screenshot.png
Managing Reports
List All Reports
curl http://localhost:3003/api/reports/list
List Files in Report Folder
curl http://localhost:3003/api/reports/my-workflow-1709811200000/files
Response:
[
{
"name": "report.html",
"path": "html/report.html",
"type": "html"
},
{
"name": "report.json",
"path": "json/report.json",
"type": "json"
},
{
"name": "verify-1-1709811200000.png",
"path": "screenshots/verify-1-1709811200000.png",
"type": "screenshots"
}
]
Delete Report Folder
curl -X DELETE http://localhost:3003/api/reports/my-workflow-1709811200000
Delete All Reports
curl -X DELETE http://localhost:3003/api/reports/
Deleting reports is permanent and cannot be undone. Export important reports before deletion.
Report Retention
Automatically manage report storage with retention policies:
{
"reportConfig": {
"enabled": true,
"reportRetention": 10
}
}
When the number of report folders exceeds reportRetention, the oldest reports are automatically deleted.
Report retention is applied per workflow name. Each workflow maintains its own retention limit.
Parallel Execution Reports
Parallel execution generates a batch-level summary report plus individual workflow reports:
output/
├── batch-1709811200000/
│ ├── summary.html
│ ├── summary.json
│ └── summary.md
├── workflow1-1709811200000/
│ ├── html/
│ │ └── report.html
│ ├── json/
│ │ └── report.json
│ └── screenshots/
└── workflow2-1709811201000/
├── html/
│ └── report.html
└── json/
└── report.json
The batch summary includes:
- Total workflows executed
- Success/failure counts
- Total duration
- Links to individual workflow reports
Best Practices
Enable Multiple Formats
Generate HTML for viewing and JSON/JUnit for CI/CD integration:{
"reportTypes": ["html", "json", "junit"]
}
Use Report Retention
Prevent disk space issues by limiting report storage:{ "reportRetention": 20 }
Capture Screenshots Selectively
Use timing: "post" to capture only final state and reduce storage:{
"screenshotConfig": {
"enabled": true,
"timing": "post"
}
}
Archive Important Reports
Export and archive critical reports before they’re deleted by retention policies.
Next Steps
Creating Workflows
Learn how to create workflows that generate comprehensive reports.
API Testing
Generate reports for API test suites.