Ask a Question

JDBC script assertion

SOLVED
martonjurak
Occasional Contributor

JDBC script assertion

Hi,

I have a jdbc request where the result is the following:

<Results>
   <ResultSet fetchSize="10">
      <Row rowNumber="1">
         <STATUS_ID/>
      </Row>
      <Row rowNumber="2">
         <STATUS_ID>20</STATUS_ID>
      </Row>
   </ResultSet>
</Results>

Can somebody help me to create an assertion where only value 20 and null is accepted all others are failed?

thanks

4 REPLIES 4
nmrao
Champion Level 3

Below script assertion should help you:

 

/**
* Script Assertion for the JDBC Request Test step
**/
assert context.response, 'Response is empty or null' def xml = new XmlSlurper().parseText(context.response) def validList = ['20', ''] def statusIds = xml.'**'.findAll {'STATUS_ID' == it.name() }*.text() assert statusIds.every{ it in validList}, 'Invalid values present in the response for Status Ids'


Regards,
Rao.
TanyaYatskovska
SmartBear Alumni (Retired)

Hi @martonjurak ,

 

Did Rao's reply help you?

---------
Tanya Yatskovskaya
SmartBear Community and Education Manager



Hi Rao,

 

Thank you for the answer.

Actually I changed my SQL query to get any results only when it is not 20 or null, so in that case I will assert the exists result.

I am sure I will need your assertion in the next weeks so I will try it.

 

Br

Marton

No worries. Keep in mind that people are spending time on the questions.


Regards,
Rao.
cancel
Showing results for 
Search instead for 
Did you mean: