2016-12-13 1 views
0

JMeter를 통해 회귀 테스트 사례 (부하 테스트 제외)를 실행하는 maven 프로젝트가 있습니다.Jmeter 회귀 오류를 Jenkins 빌드에 전파하는 방법

저는 젠킨스에서 실행될이 프로젝트를 설정했습니다.

메이븐. Jmeter 테스트를 실행하기 위해 jmeter-maven-plugin (v2.0.3)을 사용하고 있습니다.

JMeter를 JMeter를 3.0 (JMeter를-받는다는 - 플러그인하지만 ApacheJMeter-3.0.jar는) 프로젝트는 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에서 수정)에 버그가있어 실행시 테스트 실패가 발생해도 빌드가 실패하지 않습니다. – Ardesco

답변

1

가장 빠르고 가장 쉬운 방법은 Performance Plugin을 사용하고, 그것은 하나의 빌드 또는 역사적 결과에 오류 임계 값을 정의하는 기능이

또한

JMeter Performance Plugin

당신은 "성능 동향"차트를해야합니다 빌드 대시 보드를 사용하면 응용 프로그램 성능의 (희망 적으로) 긍정적 인 동적을 추적 할 수 있습니다.

대체 방법으로 Maven 대신 JMeter 테스트의 래퍼로 Taurus 도구를 사용하면 장애 조건을 지정할 수있는 강력하고 유연한 Pass/Fail Criteria 하위 시스템을 제공합니다. 지정된 임계 값이 초과 된 경우 - 황소 자리는 0이 아닌 종료 코드 만 반환하며 Jenkins는 단계 장애로 취급하기에 충분히 똑똑합니다.

+0

감사합니다 @DmitriT, 나는 Jenkins에서 Performance Plugin을 구성했습니다. 이 그래프는 단지 회귀 테스트 스위트 였고 성능 제품군이 아니기 때문에 내가 원하지 않는 그래프가 거의 없었습니다. 그러나 나는 그들과 함께 살 수있다. – Asanke

관련 문제