[英]JMeter - Running preprocessor when called from command line?
我是JMeter的新手。
我的团队拥有我们通常通过GUI运行的现有JMeter测试计划。 我正在尝试从命令行运行它。
在我们的测试计划中,我们有一堆在TestPlan级别声明的变量。 这些变量包含用于设置不同环境(例如,test,prod,dev)的信息。 直接在TestPlan之下的是JSR223 PreProcessor,它基本上采用变量来显示您要在哪个环境中运行,并将主机名,端口等设置为该环境的值。
当我使用GUI运行测试时,它可以在所选环境下完美运行。 但是,当我使用以下命令在命令行中运行它时:
jmeter -n -t testName.jmx -l Results.csv
它会尝试在默认环境下运行,并且不会将其更改为我想要的环境。 我尝试添加-Jenv=dev
,但这似乎没有任何区别。
从命令行调用预处理器时是否不运行? 可能还有其他我想念的东西吗? 鉴于我在这里的经验不足,我什至不十分确定如何分辨问题所在。
非常感谢!
很难断定jmeter脚本中的确切问题是什么。 查看问题陈述,我可以感觉到您需要找到从命令行传递变量并在脚本中对其进行处理的正确方法。
从命令行传递变量并在jmeter中对其进行处理的示例如下所示:
env is declared as ${__P(env)}
${env}
变量重用该值[请注意,它是一个变量而不是属性,因为我们在用户定义的变量中声明了这种方式]。 String valuePassed = vars.get("env"); log.info("Parameter passed from command line: " + valuePassed);
使用以下命令从命令行运行:
jmeter -n -t <>.jmx -Jenv=Prod -j sample.log
结果显示在日志文件中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.