在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))

参考文献: