我试图以各种不同的方式运行单个录制而不复制录制的页面。
我创建了两个Property File Readers寻找:
C:\performance\jmeter\users_${__P(ttype)}.properties
和
C:\performance\jmeter\${__P(env)}_${__P(region)}.properties
其中$ {__ P(xxx)}变量在命令行上传递,如下所示:
-Jregion=UK -Jenv=dev -Jttype=isolated
这些属性文件加载以下变量(例如):
- usercount=25
- duration=1800
- host.name=server1
- host.port=8546
这些用于HTTP请求默认值:
${__P(host.name)}
${__P(host.port)}
和线程组:
${__P(duration)}
${__P(usercount)}
这很好用。但是,如果我想在Gui中为单个线程运行相同的测试(检查它是否有效),则不会填充这些变量并且测试失败。
我可以创建一个用户自定义变量元素,但这些元素的格式为
${xxx}
所以不能互换使用。
有什么方法可以做我想在这里做的事吗?
答案 0 :(得分:1)
选项2:您可以在 user.properties 文件中指定您的属性值(位于JMeter的“bin”文件夹中),如
usercount=25
duration=1800
etc.
通过命令行传递的属性值将覆盖 user.properties
中指定的属性值。有关使用JMeter属性的更多信息,请参阅Apache JMeter Properties Customization Guide
顺便说一下,你不需要这个属性文件读者,有可能通过-q
command line argument.
-q, - addprop
其他JMeter属性文件
答案 1 :(得分:0)
发现了解决此问题的另一种方法。
如果未解析第一个值,则__P()函数可以采用第二个参数作为默认值。 所以
${__P(host.name)}
${__P(host.port)}
成为
${__P(host.name,server1)}
${__P(host.port,1234)}
这也有效。