2011-03-09 2 views
0

최근에 저는 테스트 자동화 작업을하고 있습니다. 목표는보다 빠른 피드백을 얻고 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> 

? 파블

답변

1

문제가 해결 미리

감사합니다.

평민 로깅 의존성이 추가 다음 줄

<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>1.1.1</version> 
</dependency> 

해결 문제

받는다는 - JMeter를-플러그인 - 1.0.pom

에서 누락되었습니다.

+0

이것은 최신 버전으로 고정되어 있습니다. http://jmeter.lazerycode.com – Ardesco

+0

이것은 최신 버전 (1.4.1이 게시되었을 때)에서 수정되었습니다. 플러그인은 중앙 ID에 추가 할 수 있도록 그룹 ID와 이슈 ID를 변경해야했지만 mvn 중앙 저장소에서도 사용할 수 없습니다. http://jmeter.lazerycode.com에서 더 많은 정보를 얻을 수 있습니다. – Ardesco

관련 문제