2016-09-21 3 views
1

Ich versuche, Eigenschaften für einen JMeter-Test mit dem Maven-Plugin zu setzen. Ich habe die empfohlenen Einstellungen in meiner Datei pom.xml von der Antwort auf this question gefolgt, aber meine Eigenschaften werden nicht aufgenommen, wenn die Tests ausgeführt werden.Einstellen der JMeter-Eigenschaften von Maven-Plugin

Die relevanten Teile der pom.xml:

<profiles> 
    <profile> 
     <id>jmeter-test</id> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>com.lazerycode.jmeter</groupId> 
        <artifactId>jmeter-maven-plugin</artifactId> 
        <version>2.0.3</version> 
        <executions> 
         <execution> 
          <id>jmeter-tests</id> 
          <goals> 
           <goal>jmeter</goal> 
          </goals> 
          <configuration> 
           <propertiesUser> 
            <threadCount>5</threadCount> 
            <environment>test</environment> 
           </propertiesUser> 
           <testResultsTimestamp>false</testResultsTimestamp> 
           <proxyConfig> 
            <host>localhost</host> 
            <port>8888</port> 
           </proxyConfig> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
</profiles> 

Ich versuche, die Variablen in meinem JMeter Test mit zuzugreifen: ${__P(threadCount)} und ${__P(environment)}.

Beim Laufen, ich bin mit

mvn clean verify -Pjmeter-tests 

Ich kann sehen, dass die Proxy-Konfiguration aufgenommen und von dem Ausgang verwendet wird:

[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] Proxy Details: 

Host: localhost:8888 


[INFO] 
[INFO] Executing test: JMeterTests.jmx 

Leider ist die propertiesUser Werte sind nicht immer benutzt. Ich bin auch in der Lage die Befehlszeile Läufer zu verwenden, die wie erwartet funktioniert:

jmeter -n -t JMeterTests.jmx -Jenvironment=test -JthreadCount=5 

Irgendwelche Ideen auf, warum diese nicht funktioniert?

Mehr Info: Ich habe die example project mit testet, und sehen, dass das erwartete Verhalten ist, dass die Konfiguration unter <propertiesUser> soll die Datei target/jmeter/bin/user.properties aufzufüllen. Dies geschieht nicht, die Datei wird überhaupt nicht erstellt.

Antwort

0

Sehen Sie diese FAQ:

https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/FAQ

Verschieben der Konfiguration außerhalb der Ausführungsblock sollte Ihr Problem beheben:

<profiles> 
    <profile> 
     <id>jmeter-test</id> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>com.lazerycode.jmeter</groupId> 
        <artifactId>jmeter-maven-plugin</artifactId> 
        <version>2.0.3</version> 
        <executions> 
         <execution> 
          <id>jmeter-tests</id> 
          <goals> 
           <goal>jmeter</goal> 
          </goals> 
         </execution> 
        </executions> 
        <configuration> 
         <propertiesUser> 
          <threadCount>5</threadCount> 
          <environment>test</environment> 
         </propertiesUser> 
         <testResultsTimestamp>false</testResultsTimestamp> 
         <proxyConfig> 
          <host>localhost</host> 
          <port>8888</port> 
         </proxyConfig> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
</profiles>