JMeter Java Test - JSON 中的 ${__UUID()} 函数不起作用



任务:我需要对端点执行post请求。请求主体类型为JSON:

{
"id": "${__UUID()}"
}

我想模拟10个用户,每个用户将发送一个具有唯一的"id"的有效载荷;字段生成。

从JMeter GUI中,它按预期工作,但从Java代码中,它似乎不被识别,并且将其视为简单的字符串。

下面是Java代码:

public JMeterClient httpSamplerProxy(String name, String endpoint, String payload, String httpMethod) {
Arguments arguments = new Arguments();
HTTPArgument httpArgument = new HTTPArgument();
httpArgument.setMetaData("=");
httpArgument.setValue(payload);
List<Argument> args = new ArrayList<>();
args.add(httpArgument);
arguments.setArguments(args);
HTTPSamplerProxy httpSamplerProxy = new HTTPSamplerProxy();
httpSamplerProxy.setProperty(TestElement.TEST_CLASS, HTTPSamplerProxy.class.getName());
httpSamplerProxy.setProperty(TestElement.GUI_CLASS, HttpTestSampleGui.class.getName());
httpSamplerProxy.setName(name);
httpSamplerProxy.setEnabled(true);
httpSamplerProxy.setPostBodyRaw(true);
httpSamplerProxy.setFollowRedirects(true);
httpSamplerProxy.setAutoRedirects(false);
httpSamplerProxy.setUseKeepAlive(true);
httpSamplerProxy.setDoMultipart(false);
httpSamplerProxy.setPath(endpoint);
httpSamplerProxy.setMethod(httpMethod);
httpSamplerProxy.setArguments(arguments);
httpSamplerProxies.add(httpSamplerProxy);
return this;
}

有效载荷,是一个json字符串代表。

我使用JMeter 5.4.1

除了我需要这个工作,我怎么能使日志的Post Body在Java中看到它在控制台?

我缺少函数依赖:

<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_functions</artifactId>
<version>5.4.1</version>
</dependency>

将此添加到类路径后,函数被识别

相关内容

  • 没有找到相关文章

最新更新