我已经创建了一个针对HTTP端点进行负载测试的测试计划。我想针对多个端点运行相同的测试计划,并且发现自己每次都必须执行以下操作:
我想自动化这个。以下是可能的吗?
我不知道如何自动化的事情是:
非常感谢任何帮助!
答案 0 :(得分:2)
请参阅以下答案:
开始测试
除了从GUI运行JMeter外,还有几个执行选项,例如:
定义列表样式变量
JMeter提供“属性”,可以通过 .properties 文件设置(例如,参见JMeter安装的/ bin文件夹中的 user.properties )或作为名称传递/ value对JMeter启动脚本。例如,您可以使用read a property function而不是在.jmx文件中对主机进行硬编码。
${__P(myhost,)}
myhost=example.com
行添加到JMeter安装的/ bin文件夹中的 user.properties 文件中,重新启动JMeter并运行测试。请求将转到example.com。 或者,您可以在命令行模式下将myhost
属性传递给JMeter,如下所示
jmeter -Jmyhost=example.com
可以通过这种方式传递多个属性:
jmeter -Jproperty1=value1 -Jproperty2=value2 ....
甚至通过-p
或--propfile
JMeter命令行参数
有关更多选项和信息,请参阅Apache JMeter Properties Customization Guide。
清除所有结果
这取决于您选择的无人值守执行选项,它们都提供至少一种删除文件和/或文件夹的方法。我个人不会删除任何结果,宁愿保留它们以供将来参考。为了区分不同的端点测试运行并避免覆盖,我会使用如下的时间戳:
jmeter -Jhttp.endpoint=my.test.host -n -t your-script.jmx -l my-test-host-results-${date}.jtl
,其中
-J
- 将端点设置为my.test.host -n
- 告诉JMeter以非GUI模式运行-t
- 指定要使用的.jmx文件-l
- 指定结果文件的名称和位置