【问题标题】:getXmlHolder and context.expand - What does the arguments description meangetXmlHolder 和 context.expand - 参数描述是什么意思
【发布时间】:2012-04-30 16:48:55
【问题描述】:

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

我浏览了近 100 个讨论如何获取请求/响应价值的网站。 但没有人解释以下内容:

  1. getXmlHolder(“DeliverStatus#Request”) “deliveryStatus”和“Request”是什么意思,它包含什么。它是xml文件的哪一部分。这意味着什么
  2. context.expand

对于我所有的尝试,我都遇到了 Null 异常。 但是我已经能够在“响应部分的脚本选项卡”中使用 groovy 成功编写脚本。但是在使用testsuite Groovy Script 时无法做到。

请帮忙..提前谢谢大家

问候

【问题讨论】:

    标签: groovy soapui


    【解决方案1】:

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

    Request 表示你查看的是SoapUI 将发送的 XML 请求。

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

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

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

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

    【讨论】:

    • 您好,非常感谢您的回复。如果不使用soapui 函数,我仍然无法将数据插入到请求中。
    • @amit - 你能试着澄清一下你需要什么吗 - 我不确定我是否理解你想要达到的目标。
    • 我试图从任何测试套件中调用任何测试用例。我已经能够成功地完成它。只是根据你的回复。 非常感谢@Ronk
    • 很高兴听到这个消息 :) 随意标记答案有帮助 :)
    • 虽然答案已经有些陈旧了,但它为我节省了一天,我要感谢你。事先我尝试在一个测试用例中提取数据,将其放入一个临时变量中,以便从另一个测试用例中读取数据。使用您的解决方案,现在运行非常顺利。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2022-11-24
    • 2016-12-24
    • 1970-01-01
    • 2023-02-14
    • 2022-06-25
    相关资源
    最近更新 更多