Skip to content

HTML Reports ​

NOIV generates beautiful, professional HTML reports from your test results, perfect for sharing with stakeholders, documentation, and team presentations.

Basic Report Generation ​

Generate an HTML report from your latest test results:

bash
noiv report html

This automatically uses the most recent test results and creates an interactive HTML report.

Custom Report Generation ​

From Specific Test Results ​

bash
noiv report html /path/to/test_results.json

Use a specific test results file instead of the latest one.

Custom Output Location ​

bash
noiv report html -o custom_report.html

Specify where to save the generated report.

Combined Options ​

bash
noiv report html /path/to/results.json -o reports/api_test_report.html

Report Features ​

Interactive Dashboard ​

The HTML report includes:

Test Summary Section ​

  • Total test count with pass/fail breakdown
  • Success rate percentage with visual indicator
  • Average response time across all tests
  • Test execution duration and timestamp

Test Results Table ​

  • Individual test results with status indicators
  • Response times for each test
  • Status codes and validation results
  • Error details for failed tests
  • Sortable columns for easy analysis

Performance Charts ​

  • Response time distribution histogram
  • Test execution timeline showing when tests ran
  • Success rate trends if multiple test runs
  • Performance metrics visualization

Detailed Test Information ​

  • Request details (method, URL, headers)
  • Response information (status, headers, body preview)
  • Validation results with pass/fail details
  • Error messages and stack traces for failures

Visual Elements ​

Status Indicators ​

  • ✅ Green checks for passing tests
  • ❌ Red crosses for failing tests
  • ⏱️ Clock icons for response times
  • 📊 Charts for performance data

Color Coding ​

  • Green: Successful tests and good performance
  • Red: Failed tests and errors
  • Yellow: Warnings and slow responses
  • Blue: Information and neutral data

Sample HTML Report Structure ​

html
<!DOCTYPE html>
<html>
<head>
    <title>NOIV Test Report - E-commerce API Tests</title>
    <!-- Responsive CSS, Charts.js, Interactive features -->
</head>
<body>
    <!-- Header with NOIV branding -->
    <header>
        <h1>API Test Report</h1>
        <div class="test-summary">
            <div class="metric">
                <span class="value">15</span>
                <span class="label">Total Tests</span>
            </div>
            <div class="metric success">
                <span class="value">93.3%</span>
                <span class="label">Success Rate</span>
            </div>
            <div class="metric">
                <span class="value">245ms</span>
                <span class="label">Avg Response</span>
            </div>
        </div>
    </header>

    <!-- Interactive test results table -->
    <section class="test-results">
        <table>
            <thead>
                <tr>
                    <th>Test Name</th>
                    <th>Status</th>
                    <th>Response Time</th>
                    <th>Status Code</th>
                    <th>Details</th>
                </tr>
            </thead>
            <tbody>
                <!-- Dynamic test result rows -->
            </tbody>
        </table>
    </section>

    <!-- Performance charts -->
    <section class="charts">
        <div class="chart-container">
            <canvas id="responseTimeChart"></canvas>
        </div>
    </section>
</body>
</html>

Report Workflow ​

1. Run Tests ​

bash
# Run your test suite
noiv test run api_tests.yaml

2. Generate Report ​

bash
# Create HTML report
noiv report html

3. Open and Share ​

bash
# NOIV asks if you want to open the report
# Select 'y' to open in browser automatically

The report opens in your default browser and is ready to share.

Advanced Report Usage ​

Automated Reporting ​

Include report generation in your testing workflow:

bash
#!/bin/bash
# test_and_report.sh

echo "Running API tests..."
noiv test run api_tests.yaml

echo "Generating HTML report..."
noiv report html -o reports/$(date +%Y%m%d_%H%M%S)_api_report.html

echo "Report generated successfully!"

CI/CD Integration ​

yaml
# .github/workflows/api-tests.yml
name: API Tests
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      
      - name: Install NOIV
        run: pip install noiv
        
      - name: Run API Tests
        run: noiv test run tests/api_tests.yaml
        
      - name: Generate HTML Report
        run: noiv report html -o test_report.html
        
      - name: Upload Report
        uses: actions/upload-artifact@v2
        with:
          name: test-report
          path: test_report.html

Team Sharing ​

Email Reports ​

  • Generate report locally
  • Attach HTML file to email
  • Recipients can open directly in browser

Web Hosting ​

bash
# Upload to web server
scp test_report.html user@server:/var/www/reports/
# Share URL: https://yourserver.com/reports/test_report.html

Internal Documentation ​

  • Include reports in confluence/wiki pages
  • Embed in project documentation
  • Archive for historical comparison

Customizing Reports ​

Report Styling ​

While NOIV generates professional reports by default, you can customize them:

Add Company Branding ​

Edit the generated HTML to include:

  • Company logo
  • Brand colors
  • Custom headers/footers

Custom CSS ​

html
<style>
.test-summary {
    background: #your-brand-color;
}
.metric.success {
    color: #your-success-color;
}
</style>

Additional Information ​

Add context to reports by editing the HTML:

html
<!-- Add test environment info -->
<div class="environment-info">
    <h3>Test Environment</h3>
    <p>Environment: Production</p>
    <p>API Version: v2.1</p>
    <p>Test Date: 2025-07-24</p>
</div>

Report Best Practices ​

1. Regular Report Generation ​

bash
# Generate reports after every test run
noiv test run tests.yaml && noiv report html

2. Descriptive Filenames ​

bash
# Use meaningful report names
noiv report html -o "$(date +%Y%m%d)_api_regression_tests.html"
noiv report html -o "release_2.1_verification_report.html"

3. Archive Historical Reports ​

bash
# Keep historical reports for trend analysis
mkdir -p reports/$(date +%Y)/$(date +%m)
noiv report html -o "reports/$(date +%Y)/$(date +%m)/api_tests_$(date +%d).html"

4. Share Appropriately ​

  • Developers: Full detailed reports
  • Managers: Summary reports with key metrics
  • Stakeholders: High-level status reports

Report Analysis ​

Identifying Issues ​

Performance Problems ​

Look for:

  • High average response times
  • Wide response time distribution
  • Slow individual tests

Reliability Issues ​

Monitor:

  • Test failure rates
  • Intermittent failures
  • Error patterns

Trend Analysis ​

Compare reports over time:

  • Performance degradation
  • Increasing failure rates
  • New error types

Actionable Insights ​

For Developers ​

  • Failed test details for debugging
  • Performance bottlenecks
  • Validation failures

For Operations ​

  • System performance trends
  • Error rate monitoring
  • Capacity planning data

For Management ​

  • Overall system health
  • Testing coverage
  • Quality metrics

Troubleshooting Reports ​

Missing Test Results ​

bash
# If no recent test results found
noiv test history  # Check if tests have been run
noiv test run simple_test.yaml  # Run a test first
noiv report html  # Then generate report

Report Generation Errors ​

bash
# If report generation fails
# Check test results file format
# Verify output directory permissions
# Try with explicit file path
noiv report html ~/.noiv/history/latest_results.json

Browser Compatibility ​

The generated HTML reports work in all modern browsers:

  • Chrome/Chromium
  • Firefox
  • Safari
  • Edge

For older browsers, some interactive features may be limited.

Next Steps ​

After mastering HTML reports:

  1. Performance Testing - Automate report generation
  2. Quick Start - Optimize testing workflow
  3. Installation - Advanced reporting options
  4. Performance Testing - Include performance data

TIP

HTML reports are perfect for stakeholder communication. The visual format makes it easy to understand test results and system health at a glance.

INFO

Reports are self-contained HTML files with embedded CSS and JavaScript, making them easy to share and view anywhere without external dependencies.

Released under the MIT License.