2016-12-13 4 views
0

JMeterを介していくつかの回帰テストケース(負荷テストではない)を実行するmavenプロジェクトがあります。Jmeter回帰失敗をJenkinsビルドに伝播する方法

ここで私はJenkinsで実行されるこのプロジェクトをセットアップしました。

Maven。 Jmeterテストを実行するためにjmeter-maven-plugin(v2.0.3)を使用しています。

のJMeter のJMeter 3.0(ApacheJMeter-3.0.jarのJMeter-達人 - プラグインが) プロジェクトはthis pageで述べた同じ方法に従って設定されています。

ジェンキンス。 プロジェクトは、Jenkins(v1.618)のフリースタイルプロジェクトとして構成されています。

私はプロジェクトを実行するとテストが実行され、ダッシュボードも生成されます。ビルドは[INFO] BUILD SUCCESSで完了します。

Mavenビルドが成功したため、Jenkinsは常にビルドを成功したビルドとして表示します。 JMtereテストが失敗しても、Jenkisはビルドを成功としてマークします。

JMtere回帰テストの失敗をJenkinsに伝達するにはどうすればよいですか?

ロードテストと単なる回帰テストではないので、テストレポートプラグインを使用する必要はありません。

ビルドログの関連する部分を以下に示します。

[INFO] Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building TestProj Regression Test Suite 0.1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ TestProj-regression --- 
[INFO] Deleting C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target (includes = [**/*.csv, **/*], excludes = []) 
[INFO] 
[INFO] --- maven-clean-plugin:3.0.0:clean (Deleting all files under target, but not target itself) @ TestProj-regression --- 
[INFO] Deleting C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target (includes = [**/*.csv, **/*], excludes = []) 
[INFO] 
[INFO] --- maven-resources-plugin:3.0.1:copy-resources (copy-resources) @ TestProj-regression --- 
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent! 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] Copying 11 resources 
[INFO] 
[INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ TestProj-regression --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory C:\Users\Testuser\Documents\TestProj\TestProj_Regression\src\main\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ TestProj-regression --- 
[INFO] No sources to compile 
[INFO] 
[INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ TestProj-regression --- 
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] Copying 697 resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ TestProj-regression --- 
[INFO] No sources to compile 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ TestProj-regression --- 
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ TestProj-regression --- 
[WARNING] JAR will be empty - no content was marked for inclusion! 
[INFO] Building jar: C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target\TestProj-regression-0.1.0-SNAPSHOT.jar 
[INFO] 
[INFO] >>> jmeter-maven-plugin:2.0.3:jmeter (execute-jmeter-tests) > :configure @ TestProj-regression >>> 
[INFO] 
[INFO] --- jmeter-maven-plugin:2.0.3:configure (configure) @ TestProj-regression --- 
[INFO] ------------------------------------------------------- 
[INFO] Configuring JMeter... 
[INFO] ------------------------------------------------------- 
[INFO] 
[INFO] <<< jmeter-maven-plugin:2.0.3:jmeter (execute-jmeter-tests) < :configure @ TestProj-regression <<< 
[INFO] 
[INFO] --- jmeter-maven-plugin:2.0.3:jmeter (execute-jmeter-tests) @ TestProj-regression --- 
[INFO] 
[INFO] ------------------------------------------------------- 
[INFO] P E R F O R M A N C E T E S T S 
[INFO] ------------------------------------------------------- 
[INFO] Invalid value detected for <postTestPauseInSeconds>. Setting pause to 0... 
[INFO] 
[INFO] 
[INFO] Executing test: TestProj_Regression.jmx 
[INFO] Writing log file to: C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target\jmeter\logs\TestProj_Regression.jmx.log 
[INFO] Creating summariser <summary> 
[INFO] Created the tree successfully using C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target\jmeter\testFiles\TestProj_Regression.jmx 
[INFO] Starting the test @ Tue Dec 13 17:03:33 AEDT 2016 (1481609013485) 
[INFO] Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445 
[INFO] Base Dir root [C:/Users/Testuser/Documents/TestProj/TestProj_Regression/target/jmeter] 
[INFO] DEbug line 3 
[INFO] envFlag:   [TestEnv1] 
[INFO] baseDir:   [C:/Users/Testuser/Documents/TestProj/TestProj_Regression/target/jmeter] 
[INFO] dataFilesPath:  [C:/Users/Testuser/Documents/TestProj/TestProj_Regression/target/jmeter/TestProjRegression/DataFiles/TestEnv1] 
[INFO] runConfigFilesPath:[C:/Users/Testuser/Documents/TestProj/TestProj_Regression/target/jmeter/TestProjRegression/RunConfig] 
[INFO] outputFilesPath: [C:/Users/Testuser/Documents/TestProj/TestProj_Regression/target/jmeter/TestProjRegression/OutputFiles/TestEnv1] 
[INFO] resultsPath:  [C:/Users/Testuser/Documents/TestProj/TestProj_Regression/target/jmeter/TestProjRegression/Results/TestEnv1] 
[INFO] Config File [C:/Users/Testuser/Documents/TestProj/TestProj_Regression/target/jmeter/TestProjRegression/RunConfig/RunConfig_TestEnv1.csv] 
[INFO]. 
[INFO]. 
[INFO]. 
[INFO]. 
[INFO]. 
[INFO] summary +  1 in 00:00:00 = 4.2/s Avg: 149 Min: 149 Max: 149 Err:  0 (0.00%) Active: 1 Started: 1 Finished: 0 
[INFO]. 
[INFO]. 
[INFO]. 
[INFO]. 
[INFO] summary +  1 in 00:00:18 = 0.1/s Avg: 7496 Min: 7496 Max: 7496 Err:  1 (100.00%) Active: 0 Started: 1 Finished: 1 
[INFO] summary =  2 in 00:00:18 = 0.1/s Avg: 3822 Min: 149 Max: 7496 Err:  1 (50.00%) 
[INFO] Tidying up ... @ Tue Dec 13 17:03:52 AEDT 2016 (1481609032067) 
[INFO] ... end of run 
[INFO] Completed Test: TestProj_Regression.jmx 
[INFO] 
[INFO] --- maven-antrun-plugin:1.3:run (default) @ TestProj-regression --- 
[INFO] Executing tasks 
    [mkdir] Created dir: C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target\jmeter\results\dashboard 
    [copy] Copying 1 file to C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target\jmeter\bin 
    [copy] Copying 696 files to C:\Users\Testuser\Documents\TestProj\TestProj_Regression\target\jmeter\bin\report-template 
    [java] Writing log file to: C:\Users\Testuser\Documents\TestProj\TestProj_Regression\jmeter.log 
[INFO] Executed tasks 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 01:57 min 
[INFO] Finished at: 2016-12-13T17:04:13+11:00 
[INFO] Final Memory: 18M/185M 
[INFO] ------------------------------------------------------------------------ 
[INFO] Shutdown detected, destroying JMeter process... 
+0

2.0.3(2.1.0で修正済)にバグがあり、実行中にテストの失敗が発生した場合、Mavenビルドが失敗するのを防ぎました。 – Ardesco

答えて

1

最も簡単な方法はPerformance Pluginを使用している、それは単一のビルドや歴史的な結果にエラーのしきい値を定義するための機能を持っている

また

JMeter Performance Plugin

あなたは上の「パフォーマンスのトレンド」のチャートを持っていますビルドダッシュボードを使用して、アプリケーションのパフォーマンスの(うまくいけば)肯定的な動向を追跡することができます。

代わりに、TaurusツールをMavenではなくJMeterテスト用のラッパーとして使用すると、障害条件を指定できる強力で柔軟なPass/Fail Criteriaサブシステムが提供されます。指定されたしきい値を超えると、Taurusはゼロ以外の終了コードを返すだけで、Jenkinsはそれをステップ失敗として処理するほどスマートです。

+0

Thanks @DmitriT、JenkinsでPerformance Pluginを設定しました。私はこれが回帰テストスイートであってパフォーマンススイートではないので、私が望んでいないグラフはほとんどありませんでした。しかし私は彼らと一緒に暮らすことができます。 – Asanke

関連する問題