Solved
Forum Discussion
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?
- Toananas6 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 :