0

在所有服务器中使用 JMeter 2.13、Maven 和 Linux。不从 gui 或命令行运行任何测试,使用 Maven!

有一个包含许多参数的测试计划,这些参数设置并从 Jenkins 中的 Maven 执行传递到 JMeter 测试计划。在 Maven 中使用“-J”来设置输入参数。在单个 JMeter 环境中工作正常。

如果我先手动在 slaves 中启动 JMeter,然后启动 Jenkins 作业,指定远程服务器中的测试计划将正确启动。但我观察到没有参数传输到远程服务器。所以,我无法控制测试计划的执行。临时解决方法是硬编码测试计划中的一些参数。但这不是可接受的解决方案!

我环顾四周。已经找到这些页面,JMeter 分布式测试和命令行参数这个

但我是从 Maven 运行的,而不是命令行,所以“-G”不起作用!

还没有完成任何 RMI 设置,但我认为这不是问题所在。可能与如何将参数传输到远程服务器更相关。

使用 pom.xml 中的此设置,

<propertiesJMeter>
    <remote_hosts>10.71.98.54,10.71.98.82,10.71.98.81</remote_hosts>
</propertiesJMeter>

我确实设法使基本的从属连接正常工作;我在输出/日志中看到远程服务器 IP 地址的打印输出,并且测试计划已启动并运行良好,日志似乎也可以。但是,问题是参数没有传输到远程服务器!

一些额外的 pom 配置:

<configuration>
    <remoteConfig>
        <startServersBeforeTests>true</startServersBeforeTests>
        <stopServersAfterTests>true</stopServersAfterTests>
    </remoteConfig>
    <propertiesUser>
        <THROUGHPUT>${throughput}</THROUGHPUT>
        <NUMBER_OF_LOOPS>${number_of_loops}</NUMBER_OF_LOOPS>
        <DURATION>${duration}</DURATION>
        <NUMBER_OF_CLIENTS>${number_of_clients}</NUMBER_OF_CLIENTS>                
    </propertiesUser>

...

请问,有人可以帮忙吗?

4

2 回答 2

0

根据文档

向 propertiesGlobal 添加其他属性


全局属性是发送到远程机器的属性。要设置这些属性,您需要在配置元素propertiesGlobal中指定pom.xml中的每个属性(下面的示例显示了一个名为threads的属性和一个名为testIterations的属性正在设置)。

<project>
    [...]
        <build>
            <plugins>
                <plugin>
                    <groupId>com.lazerycode.jmeter</groupId>
                    <artifactId>jmeter-maven-plugin</artifactId>
                    <version>2.0.3</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>

所以看起来你需要将这些属性<propertiesGlobal><propertiesUser>

参考:

于 2016-10-24T08:34:57.723 回答
0

非常感谢。我认为您的第一个文档链接指向错误的页面。无论如何,我猜你指的是,https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Modifying-Properties#6

很奇怪,从您可以找到的“JMeter dist”指南中很难找到。

非常感谢。:-) 参数现在工作正常。

但是 remoteConfig 参数不起作用。Jmeter远程连接抛出“连接拒绝托管” https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Remote-Server-Configuration

但是有人可以确认上面第一个链接中的结论是正确的吗?

当我阅读第二个链接中的信息时,我确实理解了它,因为不必启动 JMeter。但是必须启动“jmeter-server”,否则它将无法正常工作,对吗?猜猜现在说得通了。

于 2016-10-24T13:21:40.660 回答