[SoapUI] Compare JSON Response(比较jsonobject)

http://jsonassert.skyscreamer.org/

从这个网站下载jsonassert-1.5.0.jar ,也可以下载到源代码

JSONObject data = getRESTData("/friends/367.json");
String expected = "{friends:[{id:123,name:"Corby Page"},{id:456,name:"Carter Page"}]}";
JSONAssert.assertEquals(expected, data, false);

SoapUI里面没有这个jar,把它放在lib目录下,在SoapUI里面调用如下:

import org.skyscreamer.jsonassert.*
import org.json.JSONObject

def currentStepIndex = context.currentStepIndex
def previousStepName = testRunner.testCase.getTestStepAt(currentStepIndex-1).name
def prePreStepName = testRunner.testCase.getTestStepAt(currentStepIndex-2).name
try{
	def expectedJson = new JSONObject(context.expand( '${'+prePreStepName+'#Response}' ))
	def actualJson = new JSONObject(context.expand( '${'+previousStepName+'#Response}' ))
	
	//When strict is set to false (recommended), it forgives reordering data and extending results (as long as all the expected elements are there), making tests less brittle.
	JSONAssert.assertEquals(expectedJson, actualJson, false)
}catch(Exception e){
	log.info e
}

  

原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/7299649.html