У меня есть небольшой конвейер Jenkins, который последовательно тестирует разные коллекции Postman, и после этого я объединяю отдельные файлы XML в один, чтобы в результате передать их Jenkins.
Фрагмент конвейера:
...
steps {
script {
try {
sh '(cd ./integrativeTests/collections && rm -rf *.xml)'
sh '(cd ./integrativeTests/collections && npm run tests-all)'
sh '''
cd ./integrativeTests/collections
echo '<?xml version="1.0" encoding="UTF-8"?>' > newman_dev_results.xml
echo '<testsuites>' >> newman_dev_results.xml
for f in COLLECTION-*.xml
do
echo $(sed 1,$(expr $(grep -m1 -n "<testsuite" ${f} | cut -f1 -d:) - 1)d ${f}) >> newman_dev_results.xml
done
echo '</testsuites>' >> newman_dev_results.xml
cat newman_dev_results.xml
'''
sh '(cp ./integrativeTests/collections/newman_dev_results.xml ./newman_results.xml)'
currentBuild.result = 'SUCCESS'
} catch(Exception e) {
currentBuild.result = 'FAILURE'
}
junit 'newman_results.xml'
}
}
...
Результирующий XML выглядит так:
Но, к сожалению, в журнале Jenkins появляется ОШИБКА:
ERROR: None of the test reports contained any result
Finished: FAILURE
Какой правильный xml-макет для результата теста с несколькими коллекциями для Jenkins или как передать несколько результатов теста Jenkins?