我创建了一个jmeter脚本,它在测试计划中为多个saop请求使用吞吐量控制器(百分比设置)。
我能够在jmeter GUI(jmeter 3.2)或命令行中执行脚本。
检查jmeter日志表示没有问题,它不会在maven项目中运行脚本。
POM文件如下:
<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>xxx.xxx.xxx</groupId>
<artifactId>com.webservices.performance</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>JMeterFramework</name>
<description>JMeterFramework</description>
<dependencies>
<!-- https://mvnrepository.com/artifact/kg.apc/jmeter-plugins-fifo -->
<dependency>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins-fifo</artifactId>
<version>0.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.codehaus.mojo/properties-maven-plugin -->
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<copy file="${basedir}\src\test\resources\system.properties"
tofile="${basedir}\target\jmeter\bin\system.properties" />
<propertiesSystem>
<javax.net.ssl.keyStore>${basedir}/certs/${env}certstore.jks</javax.net.ssl.keyStore>
<javax.net.ssl.keyStorePassword>${Password}</javax.net.ssl.keyStorePassword>
</propertiesSystem>
<testResultsTimestamp>false</testResultsTimestamp>
<propertiesUser>
<loopcount>${loopcount}</loopcount>
<threads>${threads}</threads>
<rampup>${rampup}</rampup>
<duration>${duration}</duration>
<userData>${basedir}/resources/userDetails.csv</userData>
<aliasenv>${aliasenv}</aliasenv>
<hostname>${hostname}</hostname>
<hostnamerestservice>${hostnamerestservice}</hostnamerestservice>
<loadProgram>${basedir}/resources/loadProgram.csv</loadProgram>
<createCardpayload>${basedir}/resources/createCardpayload.csv</createCardpayload>
<CSVCert>${basedir}/resources/${aliasenv}certs.csv</CSVCert>
<cardsMTF>${basedir}/resources/cardsMTF.csv</cardsMTF>
<cardsStage>${basedir}/resources/cardsStage.csv</cardsStage>
<programLevel>${basedir}/resources/load${client}Program.csv</programLevel>
<cardLocation>${basedir}/resources/Newcards${aliasenv}.csv</cardLocation>
<jmeter.save.saveservice.bytes>true</jmeter.save.saveservice.bytes>
<jmeter.save.saveservice.label>true</jmeter.save.saveservice.label>
<jmeter.save.saveservice.latency>true</jmeter.save.saveservice.latency>
<jmeter.save.saveservice.response_code>true</jmeter.save.saveservice.response_code>
<jmeter.save.saveservice.response_message>true</jmeter.save.saveservice.response_message>
<jmeter.save.saveservice.successful>true</jmeter.save.saveservice.successful>
<jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts>
<jmeter.save.saveservice.thread_name>true</jmeter.save.saveservice.thread_name>
<jmeter.save.saveservice.time>true</jmeter.save.saveservice.time>
<jmeter.save.saveservice.response_message>true</jmeter.save.saveservice.response_message>
<jmeter.save.saveservice.output_format>xml</jmeter.save.saveservice.output_format>
<jmeter.save.saveservice.response_data>true</jmeter.save.saveservice.response_data>
<jmeter.save.saveservice.response_data.on_error>false</jmeter.save.saveservice.response_data.on_error>
<jmeter.reportgenerator.report_title>Performance TestReport for
${__TestPlanName} in ${env}</jmeter.reportgenerator.report_title>
<jmeter.save.saveservice.output_format>csv</jmeter.save.saveservice.output_format>
</propertiesUser>
<testFilesIncluded>
<jMeterTestFile>${JMeterTestFile}.jmx</jMeterTestFile>
</testFilesIncluded>
<overrideRootLogLevel>debug</overrideRootLogLevel>
</configuration>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>pre-site</phase>
<configuration>
<tasks>
<mkdir dir="${basedir}\target\jmeter\results\dashboard" />
<copy file="${basedir}\src\test\resources\reportgenerator.properties"
tofile="${basedir}\target\jmeter\bin\reportgenerator.properties" />
<copy todir="${basedir}\target\jmeter\bin\report-template">
<fileset dir="${basedir}\src\test\resources\report-template" />
</copy>
<java jar="${basedir}\target\jmeter\bin\ApacheJMeter-3.2.jar"
fork="true">
<arg value="-g" />
<arg value="${basedir}/target/jmeter/results/*.jtl" />
<arg value="-o" />
<arg value="${basedir}\target\jmeter\results\dashboard\" />
</java>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>