gpt4 book ai didi

soapui - 从对新请求的响应中提取详细信息 SoapUI

转载 作者:行者123 更新时间:2023-12-04 05:54:53 25 4
gpt4 key购买 nike

我正在使用 SoapUI 3.6.1。
我需要从响应中提取详细信息并将它们插入到下一个请求中。
我尝试通过“属性(property)转让”来做到这一点。
在第一个请求中,我得到了一些详细信息,在响应中我可以看到“部分”。
这个“部分”可以包含许多“控件”,每个“控件”都有一些值。
我得到的回应是:

                ...
<a:Section>
<a:Controls>
<a:Control>
<a:Code>11</a:Code>
<a:Id>11</a:Id>
<a:Label>bkBranded</a:Label>
<a:Mandatory>true</a:Mandatory>
<a:SortOrder>223</a:SortOrder>
<a:Type>RadioButton</a:Type>
<a:Values>
<a:Value>
<a:Code>bkBrandedWindow</a:Code>
<a:SortOrder>1</a:SortOrder>
<a:Value>Yes</a:Value>
</a:Value>
<a:Value>
<a:Code>bkBrandedWindow</a:Code>
<a:SortOrder>2</a:SortOrder>
<a:Value>No</a:Value>
</a:Value>
</a:Values>
</a:Control>
...

主要条件是仅获得强制性(真)的“控件”和可用的“值”之一。
我需要在下一个请求中获取的详细信息如下:
  ... 
<Values>
<Value>
<ControlCode>8003</ControlCode>
<Id>8003</Id>
<Value>123</Value>
<ValueCode>bkBranded</ValueCode>
</Value>
<Value>
<ControlCode>455</ControlCode>
<Id>455</Id>
<Value>1/2</Value>
<ValueCode>bkOther</ValueCode>
</Value>
....

这意味着我需要响应中的 'Code' 、 'Id' 、 'Value' 、 'Value code' 。
也许有可能使用 'If..Else' 语句或 smth else。
提前致谢。

最佳答案

  • 在您的测试用例中创建一个名为 ValuesXML
  • 的新属性
  • 用你的原始请求添加一个步骤,源数据
  • 创建属性转移步骤
  • 添加新转账
  • 从您的响应中选择源作为 xml
  • 选中“使用 XQuery”复选框
  • 选择目标作为属性 ValuesXML
  • 将下面的代码添加到源窗口
  • 使用目标请求添加一个步骤,您希望在其中修改数据
  • 在 XML 请求中,子句应该在的位置,放置 ${#TestCase#ValuesXML}
  • 走!

  • 代码,应该放在属性(property)转让的“来源”中
    <Values>
    {
    for $z in //Control
    where $z/Mandatory eq "true"
    return
    <Value>
    <ControlCode>{data($z/Code/text())}</ControlCode>
    <Id>{data($z/Id/text())}</Id>
    <Value>
    {
    let $values :=
    for $x in //Value
    order by $x/SortOrder
    return $x/Value

    return $values[1]
    }
    </Value>
    <ValueCode>{data($z/Label/text())}</ValueCode>
    </Value>
    }
    </Values>

    注意:您可能必须在 XQuery 表达式中的标记名称前添加“a:”,才能正确读取源数据。这还需要您声明“a”命名空间,这可以通过“声明”按钮轻松完成。

    关于soapui - 从对新请求的响应中提取详细信息 SoapUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637167/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com