Hello,
I’m hitting another roadblock trying to assert some results for a SOAP call.
Please find the sample response below:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsi="" xmlns:ns="" xmlns:ns2="" xmlns:ns1="" xmlns:env="">
<env:Header>
<wsse:Security xmlns:wsse="">
<wsu:Timestamp wsu:Id="" xmlns:wsu="">
<wsu:Created>2021-09-15T19:23:13.688Z
</wsu:Created>
<wsu:Expires>2021-09-15T19:28:13.688Z
</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</env:Header>
<env:Body>
<ns:PreAuthorizeResponse>
<ns:Receipt>
<ns1:DataKey>1234
</ns1:DataKey>
<ns1:CustomerId>123456
</ns1:CustomerId>
<ns1:PaymentId>1234567
</ns1:PaymentId>
<ns1:TransactionResult>Approved
</ns1:TransactionResult>
<ns1:MaskedCreditCardNumber>hi
</ns1:MaskedCreditCardNumber>
<ns1:ExpirationDate>hey
</ns1:ExpirationDate>
<ns1:CardDataSource>right
</ns1:CardDataSource>
<ns1:AuthorizationCode>683295
</ns1:AuthorizationCode>
<ns1:TransactionTime>15:23:11
</ns1:TransactionTime>
<ns1:TransactionDate>2021-09-15
</ns1:TransactionDate>
<ns1:TransactionType>01
</ns1:TransactionType>
<ns1:TransactionAmount>24.00
</ns1:TransactionAmount>
<ns1:CreditCardType>M
</ns1:CreditCardType>
<ns1:TransactionId>47490-0_20
</ns1:TransactionId>
<ns1:CvdResultCode>M
</ns1:CvdResultCode>
<ns1:PaymentType>cc
</ns1:PaymentType>
<ns2:RiskInquiryResponse>
<ns2:TransactionId>D6TK02CBPQQQ
</ns2:TransactionId>
<ns2:Result>A
</ns2:Result>
<ns2:Score>34
</ns2:Score>
</ns2:RiskInquiryResponse>
</ns:Receipt>
</ns:PreAuthorizeResponse>
</env:Body>
</env:Envelope>
I’m trying to make an assertion for <ns1:TransactionResult>Approved</ns1:TransactionResult>
which I’m sending the following
WS.verifyElementText(response, 'PreAuthorizeResponse.Receipt.TransactionResult', 'Approved')
seems to be failing with the following verification error
2021-09-14 18:02:40.692 INFO c.k.k.core.main.WSVerificationExecutor - --------------------
2021-09-14 18:02:40.695 INFO c.k.k.core.main.WSVerificationExecutor - START Verification
2021-09-14 18:02:41.649 ERROR c.k.k.core.keyword.internal.KeywordMain - ? Expected text is 'Approved' but actual element text is:
2021-09-14 18:02:41.657 ERROR c.k.k.core.keyword.internal.KeywordMain - ? Unable to verify element text (Root cause: com.kms.katalon.core.exception.StepFailedException: Expected text is 'Approved' but actual element text is:
at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:50)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword$_verifyElementText_closure1.doCall(VerifyElementTextKeyword.groovy:52)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword$_verifyElementText_closure1.call(VerifyElementTextKeyword.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword.verifyElementText(VerifyElementTextKeyword.groovy:45)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword.execute(VerifyElementTextKeyword.groovy:40)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
at com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords.verifyElementText(WSBuiltInKeywords.groovy:253)
at com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords$verifyElementText.call(Unknown Source)
at WSVerification1631656960771.run(WSVerification1631656960771:15)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.WSVerificationExecutor.runScript(WSVerificationExecutor.java:178)
at com.kms.katalon.core.main.WSVerificationExecutor.doExecute(WSVerificationExecutor.java:172)
at com.kms.katalon.core.main.WSVerificationExecutor.processExecutionPhase(WSVerificationExecutor.java:155)
at com.kms.katalon.core.main.WSVerificationExecutor.accessMainPhase(WSVerificationExecutor.java:147)
at com.kms.katalon.core.main.WSVerificationExecutor.execute(WSVerificationExecutor.java:129)
at com.kms.katalon.core.main.TestCaseMain.runWSVerificationScript(TestCaseMain.java:155)
at com.kms.katalon.core.main.TestCaseMain$runWSVerificationScript$0.call(Unknown Source)
at TempTestCase1631656954390.run(TempTestCase1631656954390.groovy:25)
)
2021-09-14 18:02:41.661 ERROR c.k.k.core.main.WSVerificationExecutor - ? Verification FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Expected text is 'Approved' but actual element text is:
at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:50)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword$_verifyElementText_closure1.doCall(VerifyElementTextKeyword.groovy:52)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword$_verifyElementText_closure1.call(VerifyElementTextKeyword.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:74)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword.verifyElementText(VerifyElementTextKeyword.groovy:45)
at com.kms.katalon.core.webservice.keyword.builtin.VerifyElementTextKeyword.execute(VerifyElementTextKeyword.groovy:40)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
at com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords.verifyElementText(WSBuiltInKeywords.groovy:253)
at com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords$verifyElementText.call(Unknown Source)
at WSVerification1631656960771.run(WSVerification1631656960771:15)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.WSVerificationExecutor.runScript(WSVerificationExecutor.java:178)
at com.kms.katalon.core.main.WSVerificationExecutor.doExecute(WSVerificationExecutor.java:172)
at com.kms.katalon.core.main.WSVerificationExecutor.processExecutionPhase(WSVerificationExecutor.java:155)
at com.kms.katalon.core.main.WSVerificationExecutor.accessMainPhase(WSVerificationExecutor.java:147)
at com.kms.katalon.core.main.WSVerificationExecutor.execute(WSVerificationExecutor.java:129)
at com.kms.katalon.core.main.TestCaseMain.runWSVerificationScript(TestCaseMain.java:155)
at com.kms.katalon.core.main.TestCaseMain$runWSVerificationScript$0.call(Unknown Source)
at TempTestCase1631656954390.run(TempTestCase1631656954390.groovy:25)
2021-09-14 18:02:41.666 INFO c.k.k.core.main.WSVerificationExecutor - END Verification
Also when trying to use CTRL+K
for TransactionResult
it sends me the following which is the wrong path of the object
WS.verifyElementText(response, 'PreAuthorizeResponse.Receipt.PaymentId', 'Approved')
Please let me know if there is an alternative way for me to get this assertion working, maybe by parsing the xml to a string and validating it? any help would be appreciated.
Thanks,