【发布时间】:2015-02-26 19:04:31
【问题描述】:
我需要说服 JMeter 对 JSON Web 服务请求响应进行 A/B 比较。我面临的挑战是响应可能具有相同的内容,但仍然不一样。
示例响应1:
[
{
"id": 1,
"name": "Canada",
"provinceNames": [
"Alberta",
"British Columbia"
]
},
{
"id": 2,
"name": "United States",
"provinceNames": [
"California",
"New York"
]
}
]
此响应是完全排序的“id”、“name”、“provinceNames”,在省内,“Alberta”、“British Columbia”和“California”、“New York”分别是也排序了。
示例响应2:
[
{
"name": "United States",
"provinceNames": [
"New York",
"California"
],
"id": 2
},
{
"name": "Canada",
"provinceNames": [
"British Columbia",
"Alberta"
],
"id": 1
}
]
此响应未排序。
这两个响应的内容相等,即使它们不一样。
以前有没有人遇到过这个问题并有解决方案?
我的方法是对响应进行后处理、对 JSON 对象进行排序并进行比较。到目前为止,我在 javascript 和 beanshell 中都想不出办法。我找到了一些类似问题的解决方案,但他们使用 JQuery 或 JMeter 中不可用的其他库。
首先,我想知道我是否在这种方法上走上了正确的道路,还是有人想出了一个更优雅的解决方案?
其次,如果这种方法没问题,是否有人在我可以在 JMeter 中使用的 javascript / beanshell 中有任何代码 sn-ps?
感谢您的所有帮助:)
【问题讨论】:
-
尝试在
javascript deep compare data structures上搜索
标签: javascript json jmeter beanshell