我有一个JMeter脚本,其中我使用配置元素“用户定义的变量”定义了一些变量。

在本地,例如,当我在请求中使用${host}时,它工作得很好。我将此脚本上传到Blazemeter,并启用了属性覆盖:

但是,当我在Blazemeter中运行测试时,新的主机值根本没有被替换。我在这里做错了什么吗?还是我误解了Blazemeter中这个功能的工作原理?
发布于 2021-08-14 02:08:48
当您在用户定义的变量组件中定义变量时,您可以使用${VariableName}访问它们,因为它们充当JMeter variables。
在Blazemeter中定义变量时,它们充当JMeter属性。您可以使用${__P(PropertyName,)}访问JMeter properties。您不能使用${VariableName}访问。JMeter属性。
例如,在您的案例中使用${__P(host,)}
通过读取属性并将其赋值给用户定义变量组件中的现有JMeter变量,可以继续使用现有脚本

您可以将默认值设置为属性${__P(host,defaultHost)}。该脚本将继续在本地环境和Blazemeter上运行。
发布于 2021-08-16 06:50:43
我看不到你在哪里“定义”变量,换句话说,我看到的是名称,而不是值。
为了引用您通过BlazeMeter负载测试配置的JMeter Properties部分提供的值,您需要在测试计划中使用_或_函数,如下所示:

这样,您将能够像这样使用override the properties locally using :
jmeter -Jhost=some-host -n -t test.jmx并使用BlazeMeter的Jmeter Properties部分执行相同的操作。
https://stackoverflow.com/questions/68777779
复制相似问题