使用您自己的属性文件
使用此插件配置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>