Jenkins テスト結果アナライザーが表示する期間が間違っている

モッシュ

newman テストを実行する Jenkins ジョブを実行しており、次のような junit テスト結果ファイルを生成しています。

<?xml version="1.0" encoding="UTF-8"?> <testsuites name="Basic Regression All"> <testsuite name="Login" id="02d5167b-ce9c-4ba4-9b24-e0a5c142768f" tests="2" time="628"> <testcase name="Successful Login"/> <testcase name="Auth Token is not null"/> </testsuite> <testsuite name="Account Summary" id="18773a24-2e3a-4c7d-99c3-921c4e41541b" tests="1" time="290"> <testcase name="Successfully Retreived Accounts"/> </testsuite> <testsuite name="Account Balances" id="d0817e78-8a25-4bc2-9301-3b4ef954600a" tests="1" time="337"> <testcase name="Successfully Retreived Balances"/> </testsuite> 何らかの理由で、時間フィールドは、添付の図に示すように、テスト結果アナライザー」プラグインによってミリ秒ではなく秒として読み取られます。ここで何が起こっているかについての手がかりが役立ちます。また、「テスト結果アナライザー」と junit の両方の最新バージョンを使用しているので、使用するより優れた Jenkins プラグインを知っている人は共有してください。

試験結果

モッシュ

さて、私が読んだところによると、ここでの犯人は Test Results Analyzer ではなく Newman (Postman CMD ツール) のようです。ここでこのページを見てください:

https://www.ibm.com/support/knowledgecenter/en/SSQ2R2_9.5.0/com.ibm.rsar.analysis.codereview.cobol.doc/topics/cac_useresults_junit.html?_sm_au_=iVV1H1fVNH2HFqZH

Junit形式には、ミリ秒ではなく秒単位の「時間」属性があるようです。つまり、Newman は次のように生成します: time="337" (上記でわかるように) ここで、テスト アナライザーは time="0.337" を期待しています。

そこで、「時間」属性をミリ秒から秒に変換するこの小さな Python スクリプトを実行する別のビルド ステージ (Jenkins) を追加しました。

import os
import xml.etree.ElementTree as etree

#print os.getcwd()
os.chdir('path_to/tests')

collection = os.environ['Collection']
e = etree.parse(collection + '_results.xml').getroot()

for atype in e.findall('testsuite'):
    duration=int((atype.get('time')))
    atype.set('time',str(duration/float(1000)))

f = open('fixed.xml','w')
print >> f, etree.tostring(e)

そしてそれはそれを修正しました

更新:

実際、サーバー上で実行されている Newman に古いバージョンがあることがわかりました.... newman を最新バージョン (3.5.2) にアップグレードすると、その問題が修正されます....

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Jenkinsのpy.test:slackでテストが見つかりません。どこが間違っているの?

分類Dev

JenkinsによってビルドされたDjangoアプリのDockerコンテナの時間が間違っています

分類Dev

Jenkinsビルドが定期的にスケジューラーに間違ったタイミングが表示される

分類Dev

Jenkinsのボリューム権限が間違っています

分類Dev

制限時間に達していないときに、Jenkinsステップが再試行せず、代わりにタイムアウトエラーをスローするのはなぜですか?

分類Dev

Mavenがjenkinsで間違ったJDKでビルドされる

分類Dev

間違ったバージョンのRuby(rvm)を使用しているJenkins

分類Dev

jenkins-cliビルドトリガー接続が長時間実行されているジョブでタイムアウトする

分類Dev

Jenkins レポートに UFT の結果が表示されない

分類Dev

Tomcatでセットアップされたjenkinsでセレンテストを実行するとブラウザが表示されない

分類Dev

Jenkins Androidは、時間がかかる場合はテストを中止します

分類Dev

jenkinsで結果ツリーサンプラーを表示する

分類Dev

JenkinsダイナミックパイプラインがBlueOceanのすべてのステージを表示していない

分類Dev

テストが失敗しても、jenkinsがまだ成功と言っているのはなぜですか?

分類Dev

爆発するテキストとループ php の結果が間違っています

分類Dev

Jenkinsパイプラインのすべてのステージが同じホストで実行されることが保証されていますか?

分類Dev

jenkinsを介してsoapUIテストスイートを実行するとjava.lang.ArrayIndexOutOfBoundsExceptionエラーが表示されます

分類Dev

Jenkins TestNGの結果で、[テストケースの失敗]リンクが開き、エラーメッセージが表示されます

分類Dev

JenkinsのcppUnitxmlレポートでテスト期間を設定するにはどうすればよいですか?

分類Dev

JenkinsプラグインがPipelineDSL(Groovy)にインストールされているかどうかをテストする方法

分類Dev

Jenkinsで複数のステージ間でエージェント(Dockerコンテナ)を再利用する

分類Dev

Jenkinsパイプラインを使用してノード間でビルドアーティファクトをコピーする

分類Dev

Jenkinsパイプライン-ステージ間でアーティファクトURLを渡す

分類Dev

カスタマイズされたアラートダイアログの検索項目の結果が間違っている

分類Dev

Jenkinsが特定の間隔でビルドステップ/ステージ(ジョブ全体ではない)をトリガーする

分類Dev

Jenkins:JenkinsがTestNGテストを実行していません

分類Dev

Bash / Expectスクリプトのエコー結果が間違っている

分類Dev

JenkinsからCucumberテストを実行するとブラウザが開かない

分類Dev

Windowsforループステートメントがjenkinsで失敗している

Related 関連記事

  1. 1

    Jenkinsのpy.test:slackでテストが見つかりません。どこが間違っているの?

  2. 2

    JenkinsによってビルドされたDjangoアプリのDockerコンテナの時間が間違っています

  3. 3

    Jenkinsビルドが定期的にスケジューラーに間違ったタイミングが表示される

  4. 4

    Jenkinsのボリューム権限が間違っています

  5. 5

    制限時間に達していないときに、Jenkinsステップが再試行せず、代わりにタイムアウトエラーをスローするのはなぜですか?

  6. 6

    Mavenがjenkinsで間違ったJDKでビルドされる

  7. 7

    間違ったバージョンのRuby(rvm)を使用しているJenkins

  8. 8

    jenkins-cliビルドトリガー接続が長時間実行されているジョブでタイムアウトする

  9. 9

    Jenkins レポートに UFT の結果が表示されない

  10. 10

    Tomcatでセットアップされたjenkinsでセレンテストを実行するとブラウザが表示されない

  11. 11

    Jenkins Androidは、時間がかかる場合はテストを中止します

  12. 12

    jenkinsで結果ツリーサンプラーを表示する

  13. 13

    JenkinsダイナミックパイプラインがBlueOceanのすべてのステージを表示していない

  14. 14

    テストが失敗しても、jenkinsがまだ成功と言っているのはなぜですか?

  15. 15

    爆発するテキストとループ php の結果が間違っています

  16. 16

    Jenkinsパイプラインのすべてのステージが同じホストで実行されることが保証されていますか?

  17. 17

    jenkinsを介してsoapUIテストスイートを実行するとjava.lang.ArrayIndexOutOfBoundsExceptionエラーが表示されます

  18. 18

    Jenkins TestNGの結果で、[テストケースの失敗]リンクが開き、エラーメッセージが表示されます

  19. 19

    JenkinsのcppUnitxmlレポートでテスト期間を設定するにはどうすればよいですか?

  20. 20

    JenkinsプラグインがPipelineDSL(Groovy)にインストールされているかどうかをテストする方法

  21. 21

    Jenkinsで複数のステージ間でエージェント(Dockerコンテナ)を再利用する

  22. 22

    Jenkinsパイプラインを使用してノード間でビルドアーティファクトをコピーする

  23. 23

    Jenkinsパイプライン-ステージ間でアーティファクトURLを渡す

  24. 24

    カスタマイズされたアラートダイアログの検索項目の結果が間違っている

  25. 25

    Jenkinsが特定の間隔でビルドステップ/ステージ(ジョブ全体ではない)をトリガーする

  26. 26

    Jenkins:JenkinsがTestNGテストを実行していません

  27. 27

    Bash / Expectスクリプトのエコー結果が間違っている

  28. 28

    JenkinsからCucumberテストを実行するとブラウザが開かない

  29. 29

    Windowsforループステートメントがjenkinsで失敗している

ホットタグ

アーカイブ