2017-11-30 25 views
0

Jmeterを使用して、APIの機能テストを検証します。私は実行されたテストの総数と合格/不合格の数を含むHTMLファイルを作成しました。これはカスタマイズされたレポートです。条件に基づいてjenkinsジョブを失敗させる方法

レポートに1つのエラーがあった場合にビルドが失敗するような条件を設定できますか?私はすでにパフォーマンスのプラグインを試してみましたことを

してくださいません。しかし、ここでの私の主張は、テストケースが失敗したか、成功したかどうか、応答時間/スルーアウト時間ではないかどうかを確認することです。

HTMLを読み込むために私を可能にし、それが失敗したテストケースを見ればそのレポートを失敗するプラグインがあるかどうかわかりません。

答えて

1

最も簡単なオプションは、ラッパーとしてTaurusツールを使用してJMeterのテストを実行していることになるが表示されます。 Taurusには強力で柔軟なPass/Fail Criteriaサブシステムがあり、テストの失敗のしきい値を任意に組み合わせることができます。また、何らかの障害が発生した場合、Taurusは0以外の数値で終了します。exit status Jenkinsはこのゼロ以外の終了コードをキャッチしてビルドに失敗するほどスマートです。 - どんな障害が発生した場合のテストでは、1の状態にすぐに終了し、ビルドの失敗をトリガします

基本的に同じことをやっている
if (!prev.isSuccessful()) { 
    System.exit(1) 
} 

のJMeterのみのソリューションは次のようにスクリプトをJSR223 Listenerを追加していく予定。

0

私はあなたのHTMLファイルの構造が何であるかを知らないが、それは/レポートを不合格テストパスなので、私はそれが非常に簡単だと仮定します。 "Pythonスクリプトの実行"( "Python Plugin"が必要)をジョブに追加することができます。これにより簡単にHTML文書を解析し、簡単なスクリプトを使って結果を確認することができます。

+0

はい、結果にTRUE/FALSEを付けるステータスの列があります。私が参照できる標本がありますか? –

+0

申し訳ありませんが、今の例はありません。 PythonのDocsページでHTMLの解析例を調べたり、PythonのHTMLパーサーライブラリBeautifulSoupの例を調べたりすることができます。 失敗したテストがテーブルにFAILまたはFALSEでマークされている場合、解析をスキップして、次の回答に示唆された@cheseauxのようなファイル全体をグレープすることができると思います – karlos88

1

見つかった場合は、単に、このような何か失敗して終了のためのgrepをシェルジョブを使用することができます。私はジェンキンスとJMeterのと同様の問題を抱えていた

#!/bin/sh 
if grep 'failure' file.html; then 
    exit 1 
fi 
0

を。あなたのlogParserfileためhttps://wiki.jenkins.io/display/JENKINS/Log+Parser+Plugin

  • 、これを追加します:このプラグインをインストールし

    1. :ここに私がやったことだ

    エラー/

    をFAILED >
  • あなたはそれがこのようなものが含まれているテストしている各サンプラー用のBeanShellのアサーションを作成します。

    文字列testscenario = "テストシナリオ:"; 文字列requestName = "getRequest"; 文字列ver = "$ {My_ver}"; 文字列respData =新しい文字列(ResponseData);

    if(respData.contains( "OK")) { log.info(testscenario + "合格" + requestName + "version =" + ver); print(testscenario + "合格" + requestName + "version =" + ver);
    }他 {log.error(testscenario + "* FAILED。" + requestName)。
    print(testscenario + "* FAILED。" + requestName);
    }

  • あなたジェンキンスジョブが実行され、何が失敗し、障害が発生したログエントリが

    関連する問題