Custom Report
ScanAPI enables you to generate personalized reports. With the Custom Report
feature, you can export your results in any style and format you want
(.html
, .md
, .txt
, .xml
…).
Let’s export your ScanAPI results you have so far as a .csv
file. For that, the first step is
to create a Jinja template file. Create a csv_template.jinja
file in root with the
following content:
"project_name"{{- "," -}}
"generated_at"{{- "," -}}
"total_successes"{{- "," -}}
"total_failures"{{- "," -}}
"total_errors"{{- "," -}}
"started_at"{{- "," -}}
"total_time"{{- "," -}}
"url"{{- "," -}}
"all_tests_passed"{{- "," -}}
"test_name"
{% for result in results -%}
{% for test in result.tests_results -%}
"{{ project_name }}"{{- "," -}}
"{{ now }}"{{- "," -}}
{{ session.successes }}{{- "," -}}
{{ session.failures }}{{- "," -}}
{{ session.errors }}{{- "," -}}
"{{ session.started_at }}"{{- "," -}}
"{{ session.elapsed_time() }}"{{- "," -}}
"{{ result.response.request.url }}"{{- "," -}}
{{ result.no_failure }}{{- "," -}}
"{{ test.name }}"
{% endfor %}
{%- endfor %}
The folder structure should look like this now:
- scanapi (root directory)
|── .env
|── csv_template.jinja
|── scanapi-report.html
|── scanapi.conf
|── scanapi.yaml
|___ snippets.yaml
Let’s run ScanAPI using the new csv template and sava the results in the scanapi-report.csv
file:
$ scanapi run -t csv_template.jinja -o scanapi-report.csv
The .csv
result:
This should be the final folder structure:
- scanapi (root directory)
|── .env
|── csv_template.jinja
|── scanapi-report.csv
|── scanapi-report.html
|── scanapi.conf
|── scanapi.yaml
|___ snippets.yaml
Congratulations, you have finished documenting and testing the Snippets API using ScanAPI! 🎉
Great, but it is still missing one last piece. How can I add ScanAPI to my own API? How can I add ScanAPI to my project and to my pipeline? Let’s go to our final lesson!