我不知道为什么会出现这样的错误:
"Failed to parse request body as JSON resource. Error was: Failed to parse JSON encoded FHIR content: Unrecognized token 'json': was expecting ('true', 'false' or 'null')\n at [Source: UNKNOWN; line: 3, column: 29]"
FHIR是使用的标准。我还测试了与Postman一起工作的有效JSON,所以我不认为实际的JSON是问题所在。我不确定我是否正确,但似乎JMeter从某个地方添加了'json‘,因为错误指出'json’是意外的。这是View Results Tree中的Request > Request body选项卡。
这只是一个JSON测试,但是我在Postman中工作的JSON body得到了相同的响应(并且我的格式是正确的)。我指定了Content-Type标头。我只是不明白' json‘这个标记从何而来,因为我的json本身并不包含这个标记。有人知道JMeter是否在请求中添加了什么内容吗?
发布于 2021-03-02 23:39:19
碰巧的是,如果您在一个HTTP Request Defaults (在我的例子中是_format=json)中添加一个默认参数,它会将它添加到POST的主体中。
我通过添加一个包含以下代码的BeanShell PreProcessor修复了此问题:
if(sampler.getMethod().equalsIgnoreCase("get")){ sampler.addArgument("_format", "json"); }
发布于 2021-02-27 01:09:03
您发送的负载不正确,应该如下所示:
{
"test" : "X"
}
而你正在发送
{
"test" : "X"
}json
^^^^ this guy is causing the issue
JMeter没有添加任何请求,您需要仔细检查您的配置,即JMeter jmx scripts是“普通”XML文件,这样您就可以使用您最喜欢的文本编辑器来查找此json
如果您能够使用Postman发送有效的请求,那么您应该能够使用JMeter的HTTP(S) Test Script Recorder记录它,只需将Postman配置为使用JMeter作为代理并运行您的请求/收集-JMeter将捕获请求并生成相关的HTTP Request采样器,这些采样器可以成功重放。
更多信息:How to Convert Your Postman API Tests to JMeter for Scaling
https://stackoverflow.com/questions/66389734
复制相似问题