A Newman JUnit Reporter providing full reports (without aggregation of results) based on newman-reporter-junitfull package
npm install newman-reporter-xunitconsole
$ npm install -g newman-reporter-xunit
`
Usage
The examples provided in the usage are for showing the differences between newman-reporter-junit and this project.
Iteration (`-n 2`) is used to show the difference between original and full reports.
JUnit examples can be found here.
$3
> Use newman-reporter-junit to execute.
In order to enable this reporter, specify junit in Newman's -r or --reporters option.
`console
newman run https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv -r junit --reporter-junit-export './examples/original/result.xml' -n 2
`
$3
In order to enable this reporter, specify xunit in Newman's -r or --reporters option.
`console
newman run https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv -r xunit --reporter-xunit-export './examples/full/result.xml' -n 2
`
$3
When using data file from newman, the same request, for each iteration, will have the same name, which is not very readable to distinguish the various test cases present in data file.
You can then set a special global variable which will change this name
`
pm.globals.set("__name__" + pm.info.iteration + pm.info.requestName, )
`
This way, the name can depend on data present (e.g: 'testName') in datafile
`
pm.globals.set("__name__" + pm.info.iteration + pm.info.requestName, pm.iterationData.get("testName"))
`
$3
It's the same principle as above, you can set the Iteration name (by default 'Iteration x') to an other name so that they are more readable
`
pm.globals.set("__name__" + pm.info.iteration, )
`
$3
#### With Newman CLI
| CLI Option | Description |
|-------------|-------------------|
| --reporter-xunit-export | Specify a path where the output XML file will be written to disk. If not specified, the file will be written to newman/ in the current working directory. |
| --reporter-xunit-hideSensitiveData | Ask reporter to remove any property containing 'user', 'password', 'token', 'usr', 'pwd', 'passwd' so that these data do not leak through report |
| --reporter-xunit-excludeRequest | Exlude the named requests from report |
| --reporter-xunit-aggregate | Include failure and error count totals at the root testsuites node |
#### With Newman as a Library
The CLI functionality is available for programmatic use as well.
`javascript
const newman = require('newman');
newman.run({
collection: require('https://www.getpostman.com/collections/631643-f695cab7-6878-eb55-7943-ad88e1ccfd65-JsLv'), // can also provide a URL or path to a local JSON file.
reporters: 'xunit',
reporter: {
xunit: {
export: './examples/full/result.xml', // If not specified, the file will be written to newman/ in the current working directory.
}
},
iterationCount: 2
}, function (err) {
if (err) { throw err; }
console.log('collection run complete!');
});
``