Property Transfer - Suite of test steps
Hello, I have a series of test steps which pass the response to the next. I need to take a full enriched response and remove the last '}' so I can append additional request parameters for the next test request. Is there an easy way to do this? maybe via groovy?
So I am wanting to pull in the response from OpenCalaisRequest#Response and to run the next test step, then add additional parameters. So the next test input would look something like the below, however, I need to strip or remove the final json bracket '}' in order to add the additional finchRequest parameters for it to be valid json:
"${OpenCalaisRequest#Response}",
"finchRequest": {
"finchOutput":false,
"documentSentiment": true,
"instanceSentiment": true,
"sentimentModel": "financial3",
"entities":["*"],
"salience":true,
"salienceModel":"News",
"languageCode":"en"
}
}
I assume I would have to add an assertion script to OpenCalaisRequest test step to manipulate the input for the next test step which includes finchRequest parameters? Any help is appreciated.
The code snippet, which I gave earlier, it shouldn't go into property transfer step,
we have to insert a groovy step after your REST request call and paste that code, do necessary modifications as per your project(Ex: Name changing etc..)
Code:
//import library to parse JSON
import groovy.json.JsonSlurperdef response = testRunner.testCase.getTestStepByName("OpenCalaisRequest").getPropertyValue("Response")
def responseJSON = new JsonSlurper().parseText(response)//verify the slurper isn't empty
assert!(responseJSON.isEmpty())testRunner.testCase.setPropertyValue("finchresponseJSON",responseJSON.toString().replaceAll("\\{", "\n"))
Use "finchresponseJSON" from testcase level into your next request. it looks like ${#TestCase#finchresponseJSON}, so it passes your whole JSON response without "{ and }"