getXmlHolder和context.expand - 参数描述的含义是什么

时间:2012-04-30 16:48:55

标签: groovy soapui

我正在尝试使用groovy脚本将值插入到请求并从soapui pro Testsuite / testcase / testStep捕获响应,而不使用soapui pro向导创建任何属性或断言。我正在尝试使用Soapui pro中的groovy脚本文件做的一切。但经过11天的自学过程,我不得不在论坛上问:

我通过几乎100个网站谈论如何捕获请求/响应值。 但没有人解释以下内容:

  1. getXmlHolder (“DeliverStatus#Request”) 什么是“deliveryStatus”& “请求”表示它包含的内容。它的哪个部分是xml文件。它意味着什么
  2. context.expand
  3. 对于我的所有尝试,我都有Null异常。 但是我已经能够在“响应部分”的“脚本”选项卡中使用groovy成功编写脚本。但无法使用testsuite Groovy Script。

    请帮助..提前感谢所有

    此致

    上午

1 个答案:

答案 0 :(得分:3)

DeliverStatus基本上没有意义 - 它是您的测试步骤的名称。

Request表示您查看将由SoapUI发送的XML请求。

您可以将Request替换为Response并获取API调用的结果。

context.expend可让您获取请求或响应的值以及其中的特定XPath。我不熟悉getXmlHolder方法 - 但它看起来像是一个XML字符串作为输入(可以是片段)并将其转换为可以使用的对象。

我的建议 - 如果您尚未使用它,请右键单击Groovy编辑区域,然后选择Get Data - > Test Suite - > Test Case - > Test Step - > Response - >并导航到您要访问的响应中的路径。 这会将该XML片段的值设置为您选择的字符串变量。

之后,您可以使用getXmlHolder将该字符串转换为对象。 我还建议使用XmlSlurper将XML字符串解析为对象。