【jmeter-maven-plugin】五、修改属性

使用您自己的属性文件

使用此插件配置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>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值