首页 > 解决方案 > Jmeter maven 插件:在 Maven 中指定线程数、循环、加速时间

问题描述

在 pom.xml 文件中,我设置了以下变量并使用以下命令从 maven 运行 JMeter 脚本。但它不起作用。这意味着线程没有运行 10 个用户。你能帮我解决这个问题吗?另外,在 JMeter 中我需要设置什么吗?

Maven 命令:

mvn -DJmeterTestFile=ER_SampleTest -DRampUp=2 -DLoopcount=1 -DThreadcount=10 verify

我的 pom.xml 如下:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>jmeter-demo</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>jmeter-demo</name>
  <url>http://maven.apache.org</url>

 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  
    <dependency>
      <groupId>org.eclipse.jetty.websocket</groupId>
      <artifactId>websocket-client</artifactId>
      <version>9.1.1.v20140108</version>
      <classifier>hybrid</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.jmeter</groupId>
      <artifactId>ApacheJMeter</artifactId>
      <version>2.10</version>
    </dependency>
    <dependency>
      <groupId>org.apache.jmeter</groupId>
      <artifactId>ApacheJMeter_core</artifactId>
      <version>2.10</version>
    </dependency>
    <dependency>
      <groupId>org.apache.jmeter</groupId>
      <artifactId>ApacheJMeter_http</artifactId>
      <version>2.10</version>
    </dependency>

  </dependencies>


  <build>
     <plugins>
        <plugin>
            <groupId>com.lazerycode.jmeter</groupId>
            <artifactId>jmeter-maven-plugin</artifactId>
            <version>2.7.0</version>
            <executions>
                <execution>
                    <id>jmeter-tests</id>
                    <goals>
                        <goal>jmeter</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

<plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.1</version>
            <executions>
              <execution>
                <id>default-jar</id>
                <phase>package</phase>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                 <!-- This configuraition is to specify jmeter script, number  -->
                      <testFilesIncluded>
                             <jMeterTestFile>${JmeterTestFile}.jmx</jMeterTestFile>
                     </testFilesIncluded>
                     <testResultsTimestamp>false</testResultsTimestamp>
                     <propertiesUser>
                        <Threadcount>${Threadcount}</Threadcount>
                        <Loopcount>${Loopcount}</Loopcount>
                        <Rampup>${RampUp}</Rampup>
                     </propertiesUser>

                          <testPlanLibraries>
                             <artifact>org.apache.activemq:activemq-spring:5.15.2</artifact>
                 <artifact>org.apache.activemq:activemq-client:5.15.2</artifact>
                 <artifact>org.apache.activemq:activemq-broker:5.15.2</artifact>
                </testPlanLibraries>
                       <excludedArtifacts>
                             <exclusion>commons-pool2:commons-pool2</exclusion>
                             <exclusion>commons-math3:commons-math3</exclusion>
                             <exclusion>org.slf4j:slf4j-nop</exclusion>
                             <exclusion>logkit:logkit</exclusion>
                             <exclusion>avalon-logkit:avalon-logkit</exclusion>
                             <exclusion>jdom:jdom</exclusion>
                             <exclusion>log4j:log4j</exclusion>
                             <exclusion>commons-logging:commons-logging</exclusion>
                             <exclusion>excalibur-logger:excalibur-logger</exclusion>
                        </excludedArtifacts>
             <jmeterExtensions>
                            <artifact>kg.apc:jmeter-plugins-casutg:2.4</artifact>
                        </jmeterExtensions>

                        <downloadExtensionDependencies>false</downloadExtensionDependencies>

                  <excludes>
                    <exclude>**/JMeter/plugins/functional/controler/**/*</exclude>
                    <exclude>**/JMeter/plugins/controler/websocketapp/**</exclude>
                  </excludes>
                        <junitLibraries>
                            <artifact>com.lazerycode.junit:junit-test:1.0.0</artifact>
                        </junitLibraries>
                </configuration>
              </execution>
            </executions>
          </plugin>



    </plugins>
</build>
 <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

</project>

标签: jmeterjmeter-maven-plugin

解决方案


您正在将 JMeter 属性发送-DRampUp=2 -DLoopcount=1 -DThreadcount=10到您的 jmx 文件,

所以你必须在你的线程组中使用它们:


推荐阅读