java – JMeter环境特定配置

我有几个JMeter测试计划应该在不同的环境中执行,比如Dev,Test,UAT,Live.在每个测试计划中,我想有一个简单的方法来指定使用哪个环境.每个环境都有很多配置,例如主机名,端口,ssl-cert,用户名,密码,帐号和其他测试数据.

我想要实现的一件事是在使用JMeter GUI或从构建脚本运行场景时轻松切换环境.

我的一个想法是使用“包含控制器”来包含另一个jmx文件,该文件包含用户定义变量列表和其他配置元素.但是,JMeter不支持包含文件名中的变量,因此我无法通过环境名称对场景进行参数化. Include Controller支持JMeter参数“includecontroller.prefix”,但它不是很灵活,例如我无法从JMeter GUI更改它,我应该更改JMeter配置文件并重新启动它.

我试过使用Switch Controller,但没有运气,它不会切换配置元素,只有采样器.

从测试场景中外部化特定于环境的配置并在多个场景之间共享的最佳实践是什么?

最佳答案
我建议用JMeter属性替换所有特定于环境的变量或值.请参阅以下功能以供参考:

> __property()
> __P()

例如,您可以在jmeter.properties文件中定义名为hostname的属性,或者如下所示在JMeter命令行参数中定义

jmeter -Jhostname=169.140.130.120 -n -t yourscript.jmx -l yourscriptresults.jtl

并在脚本内部引用:

> ${__ P(主机名,)}
要么
> ${__ property(hostname ,,)}

有关详细信息,请参见Apache JMeter Properties Customization Guide.

转载注明原文:java – JMeter环境特定配置 - 代码日志