최근에 저는 테스트 자동화 작업을하고 있습니다. 목표는보다 빠른 피드백을 얻고 maven-jmeter-plugin, jmeter 스크립트 및 Hudson을 사용하기로 결정한 것입니다.maven과 함께 HTTP 쿠키 관리자를 사용하여 jmeter 스크립트를 실행할 수 없습니다.
예제 jmeter 스크립트 템플릿을 작성했으며 제대로 작동하고 있습니다 (페이지에 액세스하기위한 빠른 연기 테스트).
문제는 내가 완료해야하는 'HTTP 쿠키 메니저'가 올바르게 실행되어야한다는 것입니다.
여기 내가 잘못 된 것을 식별하려고 사용하고있는 더미 스크립트입니다.
Test Plan
|-> Thread Group
|-> HTTP Cookie Menager
|-> Loop Controler
|-> HTTP request
내가 다른 작업 내가 준비한 예 (jmeter.properties, update.properties, system.properties에서와 동일한 구성을 사용 - 마지막 파일에서 나는 사용자의 번호와 같은 스크립트에 의해 사용되는 값을 유지, 루프 카운트 , 호스트 등).
mvn -e clean verify
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[WARNING]
Profile with id: 'development,hudson' has not been activated.
[INFO] ------------------------------------------------------------------------
[INFO] Building com.cybercom.test::peformance-test-mvn
[INFO] task-segment: [clean, verify]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory C:\Hudson\data\jobs\peformance-test-mvn\workspace\trunk\target
[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] [jmeter:jmeter {execution: jmeter-tests}]
[INFO] Executing test: C:\Hudson\data\jobs\peformance-test-mvn\workspace\trunk\src\test\jmeter\temp.jmx
Error in NonGUIDriver java.lang.NullPointerException
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There were test errors
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: There were test errors
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:715)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:55
6)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.jav
a:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoFailureException: There were test errors
at org.apache.jmeter.JMeterMojo.checkForErrors(JMeterMojo.java:115)
at org.apache.jmeter.JMeterMojo.execute(JMeterMojo.java:102)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
... 17 more
HTTP 쿠키 MENAGER없이 동일한 스크립트가 완벽하게 잘 작동하지만, 내가 언급 한 바와 같이이 무엇이 잘못되었는지를 조사하기 위해 단지 더미 스크립트입니다 :
내가 MVN 그것을 실행하면 깨끗하게 출력 다음 반환 확인합니다.
는 나는 여기뿐만 아니라 치어 파일이 유용 할 수 있다고 가정 : 나는 무엇을 놓치고
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>peformance-test-mvn</artifactId>
<name>${groupId}::${artifactId}</name>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.jmeter</groupId>
<artifactId>maven-jmeter-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>verify</phase>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<reportDir>target/jmeter-reports</reportDir>
</configuration>
</plugin>
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
<id>nexus</id>
<url>XXXX</url>
<name>YYYY</name>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</project>
? 파블
이것은 최신 버전으로 고정되어 있습니다. http://jmeter.lazerycode.com – Ardesco
이것은 최신 버전 (1.4.1이 게시되었을 때)에서 수정되었습니다. 플러그인은 중앙 ID에 추가 할 수 있도록 그룹 ID와 이슈 ID를 변경해야했지만 mvn 중앙 저장소에서도 사용할 수 없습니다. http://jmeter.lazerycode.com에서 더 많은 정보를 얻을 수 있습니다. – Ardesco