2

さまざまな Postman コレクションを順番にテストする小さな Jenkins パイプラインがあり、その後、単一の XML ファイルを 1 つに結合して、結果として 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 は次のようになります。

xml スクリーンショット

しかし、悲しいことに、Jenkins ログにエラーが表示されます。

ERROR: None of the test reports contained any result
Finished: FAILURE

Jenkins の複数のコレクションを使用したテスト結果の正しい xml レイアウトは何ですか?または複数のテスト結果を Jenkins に渡すにはどうすればよいですか?

4

1 に答える 1