Печать SOAP ответа в карате DSL - PullRequest
1 голос
/ 17 марта 2020

У меня есть этот файл функций, и я правильно получаю ответ. Я хочу напечатать полученное значение из ответа, но каким-то образом я не могу этого сделать. Пытался исследовать некоторые вещи, но я не мог с собой поделать.

Может кто-нибудь помочь, пожалуйста? Заранее спасибо

Feature: 
    test of soap

Background:
* url 'http://www.dataaccess.com/webservicesserver/numberconversion.wso'

Scenario: soap 1.1
Given request
"""
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.dataaccess.com/webservicesserver/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:NumberToDollars>
         <web:dNum>10</web:dNum>
      </web:NumberToDollars>
   </soapenv:Body>
</soapenv:Envelope>
"""
When soap action 'Conversion'
Then status 200

* print '\n', response

#working
* match response /Envelope/Body/NumberToDollarsResponse/NumberToDollarsResult == 'ten dollars'

#not working
* print response.Envelope.Body.NumberToDollarsResponse.NumberToDollarsResult

#not working
* print response /Envelope/Body/NumberToDollarsResponse/NumberToDollarsResult

#not working
* def x = response /Envelope/Body/NumberToDollarsResponse/NumberToDollarsResult
* print x

1 Ответ

1 голос
/ 17 марта 2020

Если вы читаете документы, print обрабатывает только JS с правой стороны, а не XPath.

Для того, что вы хотите, выполните 2 действия:

 * def temp = /Envelope/Body/NumberToDollarsResponse/NumberToDollarsResult
 * print temp
...