Colored report for newman reporter with request/response body https://imgur.com/a/iJJXr (https://community.getpostman.com/t/improve-newman-documention-for-custom-reports/268/21)
April 17, 2018 · View on GitHub
RCS Tests Report
{{#with summary}}
Collection
{{collection.name}}
{{#if collection.description}}Description
{{collection.description}}
{{/if}}
{{/with}}
Time
{{timestamp}}
Base Information
Total
Failed
{{#with summary}}
{{#with stats}}
<div class="col-md-4">Iterations</div><div class="col-md-4">{{iterations.total}}</div><div class="col-md-4">{{iterations.failed}}</div>
<div class="col-md-4">Requests</div><div class="col-md-4">{{requests.total}}</div><div class="col-md-4">{{requests.failed}}</div>
<div class="col-md-4">Prerequest Scripts</div><div class="col-md-4">{{prerequestScripts.total}}</div><div class="col-md-4">{{prerequestScripts.failed}}</div>
<div class="col-md-4">Test Scripts</div><div class="col-md-4">{{testScripts.total}}</div><div class="col-md-4">{{testScripts.failed}}</div>
<div class="col-md-4">Assertions</div><div class="col-md-4">{{assertions.total}}</div><div class="col-md-4{{#if assertions.failed}} tego-color-red{{/if}}">{{assertions.failed}}</div>
{{/with}}
<div class="col-md-12"> </div>
<div class="col-md-6">Total run duration</div><div class="col-md-6">{{duration}}</div>
<div class="col-md-6">Total data received</div><div class="col-md-6">{{responseTotal}} (approx)</div>
<div class="col-md-6">Average response time</div><div class="col-md-6">{{responseAverage}}</div>
<div class="col-md-12"> </div>
<div class="col-md-3"><strong>Total Failures</strong></div><div class="col-md-6"><strong>{{failures}}</strong></div>
{{/with}}
</div>
<br/><h4>Requests</h4>
{{#each aggregations}}
{{#if parent.name}}
<div class="panel-group" id="collapse-folder-{{parent.id}}" role="tablist" aria-multiselectable="true">
<div role="tab" id="folderHead-{{parent.id}}">
<h4 style="font-size: 18px;" class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#folderData-{{parent.id}}" aria-controls="collapseOne"><strong>{{parent.name}}</strong></a></h4>
</div>
<br/>
<div id="folderData-{{parent.id}}" class="panel-collapse collapsed" role="tabpanel" aria-labelledby="folderHead-{{parent.id}}">
{{> aggregations}}
</div>
</div>
{{else}}
{{> aggregations}}
{{/if}}
{{/each}}
<!-- Alain Lim : Preparation of implementation of console logging
Get info from "().on('console') then parse them here -->
{{#*inline "aggregations"}} {{#each executions}}
<div id="requestData-{{item.id}}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="requestHead-{{item.id}}">
<div class="panel-body">
{{#with request}}
{{#if description.content}}
<div class="col-md-4">Description</div><div class="col-md-8" style="white-space: pre-wrap;">{{description.content}}</div>
<div class="col-md-12"> </div>
{{/if}}
<div class="col-md-4">Method</div><div class="col-md-8">{{method}}</div>
<div class="col-md-4">URL</div><div class="col-md-8"><a href="{{url}}" target="_blank">{{url}}</a></div>
{{/with}}
<div class="col-md-12"> </div>
<div class="col-md-4">Mean time per request</div><div class="col-md-8">{{mean.time}}</div><br/>
<div class="col-md-4">Mean size per request</div><div class="col-md-8">{{mean.size}}</div><br/>
<div class="col-md-12"> </div>
<br/><div class="col-md-4">Total passed tests</div><div class="total-passed col-md-8">{{cumulativeTests.passed}}</div>
<div class="col-md-4">Total failed tests</div><div class="total-failed col-md-8">{{cumulativeTests.failed}}</div><br/>
<div class="col-md-12"> </div>
<br/><div class="col-md-4">Status code</div><div class="col-md-8">{{response.code}}</div><br/>
{{#if request.body}}
<div class="col-md-12"> </div>
<br/><div class="col-md-4">Request body</div><div class="col-md-8"><textarea disabled rows="8" cols="70">{{request.body}}</textarea></div><br/>
{{/if}}
{{#if response.body}}
<div class="col-md-12"> </div>
<br/><div class="col-md-4">Response body</div><div class="col-md-8"><textarea disabled rows="8" cols="70">{{response.body}}</textarea></div><br/>
{{/if}}
{{#if assertions.length}}
<div class="col-md-12"> </div>
<div class="col-md-4">Tests</div>
<div class="col-md-8">
<table class="table table-responsive table-condensed">
<thead><tr><th>Name</th><th>Pass count</th><th>Fail count</th></tr></thead>
<tbody>{{#each assertions}}<tr><td>{{this.name}}</td><td {{#if this.passed}} class="tego-bg-green"{{/if}}>{{this.passed}}</td><td {{#if this.failed}} class="tego-bg-red"{{/if}}>{{this.failed}}</td></tr>{{/each}}</tbody>
</table>
</div>
{{/if}}
</div>
</div>
</div>
</div>
{{/each}}
{{/inline}}