空手道 - 如何将 XML 响应保存为 XML 以备后用?
Karate - How do I save XML response as XML to be used later?
我正在发送一个请求,希望 returns 在 XML 中得到响应。
当响应第一次返回时,我可以从 XML 中提取值,如下例所示。
* def balanceAmount = $response/Envelope/Body/balanceAmount/amount
And print balanceAmount
但是我随后发送了另一个请求,因此上面的响应被覆盖 - 所以我需要将其保存为 XML - 这样我可以在稍后的测试中调用这些值。
我已经尝试了很多方法,包括以下方法:
* def xmlResponse = $response
* def xmlResponse = response
* xml xmlResponse = $response
* xml xmlResponse = response
但我无法再像之前那样访问 XML 响应中的值。
我试过这些:
* def balanceAmount = xmlResponse/Envelope/Body/balanceAmount/amount
And print balanceAmount
* def balanceAmount = $xmlResponse/Envelope/Body/balanceAmount/amount
And print balanceAmount
None以上作品
那么我如何才能将 xml 响应保存为 xml 以便我可以在稍后发送不同请求后的测试中从中提取值?
它对我来说很好用,试试这个 stand-alone 功能:
Feature:
Scenario:
* url 'https://httpbin.org/xml'
* method get
* def firstResponse = response
* url 'https://httpbin.org/get'
* method get
* match firstResponse ==
"""
<slideshow
title="Sample Slide Show"
date="Date of publication"
author="Yours Truly">
<slide type="all">
<title>Wake up to WonderWidgets!</title>
</slide>
<slide type="all">
<title>Overview</title>
<item>Why <em>WonderWidgets</em> are great</item>
<item/>
<item>Who <em>buys</em> WonderWidgets</item>
</slide>
</slideshow>
"""
* def firstSlide = $firstResponse/slideshow/slide[1]
* match firstSlide == <slide type="all"><title>Wake up to WonderWidgets!</title></slide>
如果您仍然卡住,请按照以下过程操作:https://github.com/karatelabs/karate/wiki/How-to-Submit-an-Issue
我正在发送一个请求,希望 returns 在 XML 中得到响应。 当响应第一次返回时,我可以从 XML 中提取值,如下例所示。
* def balanceAmount = $response/Envelope/Body/balanceAmount/amount
And print balanceAmount
但是我随后发送了另一个请求,因此上面的响应被覆盖 - 所以我需要将其保存为 XML - 这样我可以在稍后的测试中调用这些值。
我已经尝试了很多方法,包括以下方法:
* def xmlResponse = $response
* def xmlResponse = response
* xml xmlResponse = $response
* xml xmlResponse = response
但我无法再像之前那样访问 XML 响应中的值。
我试过这些:
* def balanceAmount = xmlResponse/Envelope/Body/balanceAmount/amount
And print balanceAmount
* def balanceAmount = $xmlResponse/Envelope/Body/balanceAmount/amount
And print balanceAmount
None以上作品
那么我如何才能将 xml 响应保存为 xml 以便我可以在稍后发送不同请求后的测试中从中提取值?
它对我来说很好用,试试这个 stand-alone 功能:
Feature:
Scenario:
* url 'https://httpbin.org/xml'
* method get
* def firstResponse = response
* url 'https://httpbin.org/get'
* method get
* match firstResponse ==
"""
<slideshow
title="Sample Slide Show"
date="Date of publication"
author="Yours Truly">
<slide type="all">
<title>Wake up to WonderWidgets!</title>
</slide>
<slide type="all">
<title>Overview</title>
<item>Why <em>WonderWidgets</em> are great</item>
<item/>
<item>Who <em>buys</em> WonderWidgets</item>
</slide>
</slideshow>
"""
* def firstSlide = $firstResponse/slideshow/slide[1]
* match firstSlide == <slide type="all"><title>Wake up to WonderWidgets!</title></slide>
如果您仍然卡住,请按照以下过程操作:https://github.com/karatelabs/karate/wiki/How-to-Submit-an-Issue