Forum Discussion

master_ace85's avatar
master_ace85
Occasional Contributor
8 years ago

Re: Groovy for assertion not contain and json path

Hi ;

 

 

The code below was used to resolvean issue that I had experienced before. Now the issue is the same groovy script is not working inReadyApi groovy script but  it does and still works in SOAPUI

 

The same code is used to replicate

 

import static com.jayway.jsonpath.JsonPath.parse

def json = '''{"quote": {
	"id": "test_id",
	"amount": 100,
	"links":    [
			 {
		  "rel": "self",
		  "href": "http://localhost:8080/quote/777"
	   },
			 {
		  "rel": "customer",
		  "href": "http://localhost:8080/customer/12345"
	   }
	]
 }}
}'''

def quoteId = parse(json).read('$.quote.id')
log.info quoteId

 I get the above working fine in SOAPUI 5.3.0 but when I use the same script in ReadyAPI I get the following message: 

 

java.lang.NoClassDefFoundError: Could not initialize class net.minidev.json.JSONvalue error at ## (this would be the line that contains:

parse(json).read('$.quote.id')

 ) 

i read up another site that says it is missing the json-smart jar file but I confirmed that it is indeed in the lib installation dir of readyapi. I have even tried copying over SOAPUI's json-smart jar but it is an older version and it did not resolve my issue.

 

How can I resolve this? Surely this should be compatible or do I need to do something else?