Junit Reporter
Reporter WebdriverIO, создающий XML-отчеты в формате JUnit, совместимые с Jenkins
Установка
Самый простой способ - держать @wdio/junit-reporter
как devDependency в вашем package.json
, через:
npm install @wdio/junit-reporter --save-dev
Инструкции по установке WebdriverIO
можно найти здесь.
Вывод
Этот репортер будет создавать отчет для каждого запуска, таким образом, вы получите xml-отчет для каждого spec-файла. Ниже приведены примеры вывода XML для различных сценариев в spec-файлах.
Один блок describe
describe('a test suite', () => {
it('a test case', function () {
// do something
// assert something
});
});
преобразуется в
<testsuites>
<testsuite name="a test suite" timestamp="2019-04-18T13:45:21" time="11.735" tests="0" failures="0" errors="0" skipped="0">
<properties>
<property name="specId" value="0"/>
<property name="suiteName" value="a test suite"/>
<property name="capabilities" value="chrome"/>
<property name="file" value=".\test\specs\asuite.spec.js"/>
</properties>
<testcase classname="chrome.a_test_case" name="a_test_suite_a_test_case" time="11.706"/>
</testsuite>
</testsuites>
Вложенный блок describe
describe('a test suite', () => {
describe('a nested test suite', function() {
it('a test case', function () {
// do something
// assert something
});
});
});
преобразуется в
<testsuites>
<testsuite name="a test suite" timestamp="2019-04-18T13:45:21" time="11.735" tests="0" failures="0" errors="0" skipped="0">
<properties>
<property name="specId" value="0"/>
<property name="suiteName" value="a test suite"/>
<property name="capabilities" value="chrome"/>
<property name="file" value=".\test\specs\asuite.spec.js"/>
</properties>
</testsuite>
<testsuite name="a nested test suite" timestamp="2019-04-18T13:45:21" time="11.735" tests="0" failures="0" errors="0" skipped="0">
<properties>
<property name="specId" value="0"/>
<property name="suiteName" value="a nested test suite"/>
<property name="capabilities" value="chrome"/>
<property name="file" value=".\test\specs\asuite.spec.js"/>
</properties>
<testcase classname="chrome.a_test_case" name="a nested test suite a test case" time="11.706"/>
</testsuite>
</testsuites>