Skip to main content

Export to CSV

The --csv flag exports a detailed, per-request CSV file after a run. Every row maps to one request, making it easy to review results in a spreadsheet, import data into reporting tools, or archive test history over time.


Basic usage

voiden-runner run ./api-tests --csv report.csv

Use . as the path to let the runner auto-generate a filename:

voiden-runner run ./api-tests --csv .

CSV columns

ColumnDescription
FilePath to the .void file that was executed
ProtocolRequest protocol (REST, WSS, gRPC, GraphQL)
MethodHTTP method (GET, POST, etc.)
URLFull resolved URL with variables substituted
Successtrue or false
StatusHTTP status code
StatusTextHTTP status text (e.g. OK, Not Found)
DurationMsRound-trip time in milliseconds
SizeBytesResponse size in bytes
ErrorError message if the request failed entirely
RequestHeadersHeaders sent with the request
RequestBodyRequest body sent (if any)
ResponseHeadersHeaders returned in the response
ResponseBodyResponse body received
AssertionsPassedNumber of assertions that passed
AssertionsFailedNumber of assertions that failed
AssertionDetailPer-assertion breakdown

Combining with other output options

--csv works alongside --json and mail flags in the same run:

voiden-runner run ./api-tests \
--output-json results.json \
--csv report.csv \
--mail-to team@example.com

Common use cases

Save as a CI artifact

# GitHub Actions
- name: Run API tests
run: voiden-runner run ./api-tests --csv report.csv

- name: Upload CSV
if: always()
uses: actions/upload-artifact@v4
with:
name: api-test-report
path: report.csv
Use if: always()

This ensures the CSV is uploaded even when the test step fails — which is exactly when you want to inspect it.

Generate from a combined report

You can also generate the CSV from the report command after accumulating results across multiple runs:

voiden-runner report generate --csv combined.csv