Skip to main content

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

Enable or disable report generation:
{ "enabled": true }

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

1

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"]
    }
  }'
2

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"
      }
    ]
  }
]
3

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

  1. Download CSV report:
    curl http://localhost:3003/api/reports/my-workflow-1709811200000/csv/report.csv -o report.csv
    
  2. Open in Excel or Google Sheets
  3. 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:
{ "timing": "pre" }
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.

Build docs developers (and LLMs) love