Forum Discussion
Solved
nmrao
Champion Level 1
6 years agoBut there are multiple matches. What do you want to do when more than one match?
Sample request of next step where you need those values?
Sample request of next step where you need those values?
Toananas
6 years agoOccasional Contributor
Hi Rao, then so select the first response with "True" or to select one of them randomly.
The selected CodeCat goes to <hit:Categ>?</hit:Categ>
Sure :
s<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hit="http://www.hitech.fr/"> <soapenv:Header/> <soapenv:Body> <hit:GetDispoSurAgence> <hit:CodeOrigine>?</hit:CodeOrigine> <hit:CodeAgence>?</hit:CodeAgence> <hit:Categ>?</hit:Categ> <hit:Depart>?</hit:Depart> <hit:Retour>?</hit:Retour> </hit:GetDispoSurAgence> </soapenv:Body> </soapenv:Envelope>
- nmrao6 years ago
Champion Level 1
For the first request (where you get the response and need to extract the data), add a script assertion with following snippet
assert context.response, 'Response is empty or null' //Get DefCategoriesDispo first match with StatutDispo is true def catDispo = new XmlSlurper().parseText(context.response).'**'.find {it.name() == 'DefCategoriesDispo' && it.StatutDispo == true} //Extract data and save them into custom properties context.testCase.setPropertyValue('CATID', catDispo.CatId.text()) context.testCase.setPropertyValue('CATCODE', catDispo.CatCode.text())
In the next step where ever CatId, CatCode are needed
use ${#TestCase#CATID}, ${#TestCase#CATCODE} respectively
You can apply the same logic to the rest of the fields.
Say for eg:
<hit:Categ>${#TestCase#CATID}</hit:Categ>
- Toananas6 years agoOccasional Contributor
Thanks ! But I got now an error :
- nmrao6 years ago
Champion Level 1
Sorry, use 'setPropertyValue', not 'setProperty'
- HimanshuTayal6 years agoCommunity Hero
Hey nmrao :
It would be glad if you please share any documentation for tutorial for below code snippet:
def catDispo = new XmlSlurper().parseText(context.response).'**'.find {it.name() == 'DefCategoriesDispo' && it.StatutDispo == true}
what is the use of ** and also .find{} in this.
- nmrao6 years ago
Champion Level 1
Hope you read the comment along with the code snippet.
Suggest you to read groovy documentation.