在Jmeter中,HTTP请求采样器的“正文数据”部分中的参数语法是什么,对于Rest API和输入应动态生成
问题内容:
我正在尝试使用BSF PreProcessor通过JavaScript生成输入。目前,我只有BSF
PrepProcessor和一个HTTP请求。我的请求正文是这样的,
{
"entity": {
"id": "${EnitityName}",
----
}
}
随机生成的字符串应该是ID的值,我已经参数化了我们通常如何做。这是行不通的。有人可以告诉我我要去哪里错或任何其他方法。
问题答案:
${EnitityName}
在您的BSF PreProcessor脚本中正确设置了给定变量,在 给定BSF PreProcessor
success的情况下
,应将其替换为生成的值。
我建议检查 jmeter.log 文件中是否有任何错误-它应该使您了解发生了什么错误。您还可以共享您的BSF
PreProcessor代码,以便其他人和我自己看看并提出修复建议。
实际上,根据JMeter最佳实践,建议使用JSR223
Elements,因此您应该切换到JSR223
PreProcessor和Groovy语言,示例代码将生成由10个字符组成的随机字母数字字符串,并将该值放入${EntityName}
JMeter变量中,如下所示:
vars.put("EnitityName",org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(10))
参考文献: