我得到了响应,让我们假设{quot;profiles":{quot;HLS_1200"[{quot:profile_id;:38,"quality_id":11}];自适应";{"L","XL","XXL"},现在每次当我们点击API时,响应都是相同的,但序列正在改变,因此资产化失败。下一次我将得到类似于{"profiles":{"HLS_1200":[{"profile_id":38,"quality_id";:11}],";自适应";{"XL"、"L"、"XXL"},即使序列发生了更改,我也希望传递此响应断言。
转到执行";深度扫描";并且不关心属性的顺序
-
获取以下库并将它们放到JMeter Classpath中:
- android-json-0.0.20131108.vaadin1.jar
- jsonasser-1.5.0.jar
-
重新启动JMeter以获取库
-
添加JSR223断言作为返回JSON 的请求的子项
-
将以下代码放入";脚本"区域:
def expected = '{n' + ' "profiles": {n' + ' "HLS_1200": [n' + ' {n' + ' "profile_id": 38,n' + ' "quality_id": 11n' + ' }n' + ' ],n' + ' "ADAPTIVE": [n' + ' "L",n' + ' "XL",n' + ' "XXL"n' + ' ]n' + ' }n' + '}' org.skyscreamer.jsonassert.JSONAssert.assertEquals(expected, prev.getResponseDataAsString(), false)
更多信息:
- JSONassert简介
- 用Groovy编写JMeter断言脚本-教程