我在Jmeter中创建了一个发布请求,该请求的响应主体为Json格式,我想在一个csv文件中的响应与我从Jmeter请求中获得的响应之间进行比较。 来自请求的响应未排序,即使两个响应的结构不同,它们的内容也相等。 一个例子: 发布请求,回复正文:
"getTestData":
{
"id": 1,
"name": "London",
"Data": [
{
"Oxford",
"Picadilly"
},
{
"Kensington",
"Central"
}
]
}
csv文件,一行中的每个json响应正文:
"getTestData":
{
"id": 1,
"name": "London",
"Data": [
{
"Oxford",
"Picadilly"
},
{
"Kensington",
"Central"
}
]
}
有人可以帮助我如何比较两者吗?谢谢
答案 0 :(得分:0)
通常最好使用特殊的库,例如JSONAssert,这会使您的生活更轻松
jsonassert-x.x.x.jar
并将其放置到JMeter Classpath 将以下代码放入“脚本”区域:
def expected = vars.get('expected')
def actual = prev.getResponseDataAsString()
org.skyscreamer.jsonassert.JSONAssert.assertEquals(expected, actual, false)
'expected'
更改为CSV数据集配置中定义的实际JMeter变量名称就是这样,如果JSON文件中存在差异,您将收到错误消息,指出差异在哪里。