使用您自己的属性文件
使用此插件配置JMeter的最简单方法是提供自己的属性文件。启动时,插件将扫描${project.base.directory} / src / test / jmeter目录下的以下文件:
- jmeter.properties
- saveservice.properties
- upgrade.properties
- system.properties
- user.properties
- global.properties
向<propertiesJMeter>添加附加属性
可以设置配置JMeter主库的属性。要设置这些属性,您需要在配置元素<propertiesJmeter>中指定pom.xml中的每个属性(下面的示例显示了一个名为log_level.jmeter的属性设置)。
指定的每个属性合并到JMeter属性文件jmeter.properties中,它将覆盖文件中的任何相同的属性。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesJMeter>
<log_level.jmeter>DEBUG</log_level.jmeter>
</propertiesJMeter>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
向<propertiesSaveService>添加其他属性
可以设置配置JMeter主库的保存服务的属性。要设置这些属性,您需要在config元素<propertiesSaveservice>中指定pom.xml中的每个属性(下面的示例显示了一个名为HTTPSampler2的属性被设置)。
指定的每个属性被合并到JMeter属性文件 saveservice.properties中,它将覆盖文件中的任何相同的属性。<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesSaveService>
<HTTPSampler2>org.apache.jmeter.protocol.http.sampler.HTTPSampler2</HTTPSampler2>
</propertiesSaveService>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
向<propertiesUpgrade>添加其他属性
可以将oldValue中使用的属性设置为JMeter主库的newValue升级映射。要设置这些属性,您需要在config元素<propertiesUpgrade>中指定pom.xml中的每个属性。(下面的示例显示一个名为my.old.ClassName的属性被设置)。
指定的每个属性都会合并到JMeter属性文件upgrade.properties中,它将覆盖文件中的任何相同的属性。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesUpgrade>
<my.old.ClassName>my.new.ClassName</my.old.ClassName>
</propertiesUpgrade>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
向<propertiesUser>添加附加属性
JMeter用户属性是JMeter提供的可用于JMeter测试的属性。要设置用户属性,您需要在config元素<propertiesUser>中指定pom.xml中的每个属性(下面的示例显示一个名为threads的属性,并设置称为testIterations的属性)。
指定的每个属性都被合并到JMeter属性文件user.properties中,它将覆盖文件中的任何相同的属性。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesUser>
<threads>10</threads>
<testIterations>5</testIterations>
</propertiesUser>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
添加其他属性到<propertiesGlobal>
全局属性是发送到远程计算机的属性。要设置这些属性,您需要在配置元素<propertiesGlobal >中指定pom.xml中的每个属性(下面的示例显示一个名为threads的属性和一个名为testIterations的属性)。
指定的每个属性合并到JMeter属性文件 global.properties中,它将覆盖文件中的任何相同的属性<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesGlobal>
<threads>10</threads>
<testIterations>5</testIterations>
</propertiesGlobal>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
向<propertiesSystem>添加其他属性
JMeter可以设置系统属性,这些属性可以由运行在同一个JVM中的所有应用程序访问的全局环境属性(它们在JVM之外不可访问)。要设置系统属性,您需要在config元素<propertiesSystem>中指定pom.xml中的每个属性(下面的示例显示一个名为my.system.property的属性设置)。
指定的每个属性都被合并到JMeter属性文件system.properties中,它将覆盖文件中的任何相同的属性。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesSystem>
<my.system.property>my.system.property.value</my.system.property>
</propertiesSystem>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
设置<propertiesReplacedByCustomFiles>
默认情况下,上述设置中指定的所有属性将与任何现有属性合并。如果想要替换它们,可以通过将<propertiesReplacedByCustomFiles>设置为true(默认为false)来实现。在进行此操作之前请仔细考虑,我们默认合并属性的原因是确保将所有属性合并到JMeter提供的属性文件的最新有效版本中。如果您覆盖属性文件,但是缺少JMeter所需的属性将很可能中断。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesReplacedByCustomFiles>${basedir}true</propertiesReplacedByCustomFiles>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
指定一个<customPropertiesFile>
这将允许您设置一个绝对路径到JMeter自定义(测试依赖)属性文件。这相当于在命令行中设置“--addprop my.properties”。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<customPropertiesFiles>
<file>/user/home/myuser/myCustom.properties</file>
</customPropertiesFiles>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
指定<propertiesFilesDirectory>
您可以指定文件系统中.properties文件所在的目录(默认情况下,插件将假定它们位于${project.base.directory} / src / test / jmeter中)
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.2.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<propertiesFilesDirectory>/user/home/myuser/properties</propertiesFilesDirectory>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>