the useful groovy script in Webservice automation

  Generally speaking, we all know the Soap UI more or less, it's a automation testing tool for webserivce, we can code abundant types of assertion. We have to do a little researches if we want to be a master on it, e.g. pass the property between test step and groovy script, now look at the example.

     we want to get the response of the webservice and then to pass a value to another webservice as a property

1. create two rest services

2. create test suite\test case

3. create test step 1 to call the rest_service_1

   Run this step we'll get the JSON data, as we know we can get entire JSON response via a request in a Groovy script assertion: 

   def booksRoot = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent);

but we cannot pass it to another steps from assertion, how do we do?

4. create a Groovy Script 

   def paraNode = net.sf.json.JSONSerializer.toJSON(context.expand( '${books#Response}' ))

   we got it, key: context.expand( '${books#Response}' ) 

5. perfect the script

   def paraNode = net.sf.json.JSONSerializer.toJSON(context.expand( '${books#Response}' ))

   def volume = paraNode.get("Result").get("aaaa").get("Status")

   return volume

6



 

7



 

8. the result of the response we want has been pass to the q in SearchVolumeLibrary step as a property

9. Happy Ending.

猜你喜欢

转载自edwphoebus.iteye.com/blog/1838823