【问题标题】:SOAP services testing - special characters in xml responseSOAP 服务测试 - xml 响应中的特殊字符
【发布时间】:2018-07-16 15:04:25
【问题描述】:

我正在尝试使用空手道测试 SOAP 服务。通过参考 git 上的文档,我能够设置我的项目并制作一些肥皂功能。我在断言期间遇到了一个问题,因为响应具有特殊字符。详情如下:

SOAP XML 响应:

<Reason Number="1">
    <ReasonText>T12345</ReasonText>
</Reason>

SOAP 原始响应:

&lt;ReasonText&gt;T844&lt;/ReasonText&gt;

我能够在空手道功能中使用以下功能成功断言:

* def actualResponse = response
* match actualResponse contains '&lt;ReasonText&gt;T12345&lt;/ReasonText&gt;'

在下面使用时无法断言:

* def actualResponse = response
* match actualResponse contains '<ReasonText>T12345</ReasonText>'

感谢任何帮助。

【问题讨论】:

    标签: soap karate


    【解决方案1】:

    某处有些地方很不对劲。而且我不知道您所说的“SOAP 原始响应”是什么意思。如果服务器确实在返回您所说的内容,那么这是服务器的问题,而不是空手道问题。

    由于没有其他人报告此问题,我 99.9% 确定您的环境存在问题。如有必要,请向服务器端团队寻求帮助。

    编辑:对于那些将来登陆这里的人,请参阅这些其他答案以获取想法:

    https://stackoverflow.com/a/60043998/143475

    https://stackoverflow.com/a/60122951/143475

    【讨论】:

    • 感谢您快速回复彼得。 SOAP 原始响应是指我们可以在 SOAP UI 工具中查看的原始响应。你认为分享我的 karate-config.js 有帮助吗?如果我传递的标题等任何其他信息有帮助,请告诉我。
    • @Uday “原始响应”甚至不是有效的 XML。我不知道 SOPA UI,请不要把它带入讨论。由于您没有提供任何有用的信息,我留下的唯一建议是:github.com/intuit/karate/wiki/How-to-Submit-an-Issue
    • 我将致力于提交问题。当我在上面的时候,你能在下面检查一下吗? karate-config.js: karate.configure('connectTimeout', 40000); karate.configure('readTimeout', 40000); karate.configure('logPrettyRequest', true); karate.configure('logPrettyResponse', true); karate.configure('ssl',true);我传递的标头: * def req_headers = {Authorization: '#(token)', Content-Type: 'text/xml;charset=UTF-8',SOAPAction: '""' } 在我的想法终端上列出的部分响应执行测试后:<ReasonText>T12345</ReasonText>
    • 无论如何我可以将来自 web 服务的响应写入/保存到文件中,以便我可以彻底包含/检查响应?如果您能指出一个例子,请不胜感激。
    猜你喜欢
    • 2015-01-14
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多