Skip to content

[Feature] ASCII table summary quick-view text report #774

@authorjapps

Description

@authorjapps

Feature: ASCII table report written to .txt and printed to "target/" after test run

Summary

After each test run, generate a human-readable ASCII table summarising scenario results, written to a .txt file (viewable in any browser) and can be printed to the terminal by end-user.

Problem

The existing zerocode-junit-granular-report.csv is machine-readable but not easy to scan quickly nor viewable in Browser straight away. Developers have to open a CSV viewer or the extent HTML report just to get a quick pass/fail overview. There is no lightweight, plain-text summary available at the end of a test run in the console or as a static file.

Acceptance Criteria

  • Table is generated automatically at the end of every test run alongside the existing CSV.
  • Columns shown: SCENARIO, STEP, METHOD, RESULT, DELAY (ms). <--- Mostly non-null fields
  • Long scenario names are truncated at 48 characters with ...
  • RESULT column shows PASSED ✅ or FAILED ❌.
  • DELAY (ms) values are right-aligned.
  • Footer row shows: total count, passed count, failed count, min delay, max delay (pipe-separated).
  • Output written to target/<report-name>.txt (mirrors the configured CSV file name).
  • All column widths and the footer summary width are derived from named constants — no magic numbers.
  • Provide a code snippet how user can print to Console or other log-aggregators using life cycle method e.g. runPostFinished(){...}
  • Should be overridden by lifecycle method:
    // Example //
    @Override
    public void runPostFinished() {
        // log Text Report
        // Simply read the "target/..report.txt" file and print/log if needed(optional)
    }

Proposed Solution

Add generateTableReport() to ZeroCodeReportGenerator interface and implement it in ZeroCodeReportGeneratorImpl. Call it from TestUtilityListener#generateChartsAndReports() immediately after
generateCsvReport(), reusing the already in-memory zeroCodeCsvFlattenedRows list — no re-reading of the CSV needed.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions