SoapUI - 属性传输

有时需要从响应消息中提取一些值并将其包含在后续请求中。在这种情况下,我们需要有一种机制来检索指定的值并将其传输到项目的其他元素。SoapUI 通过属性传输测试步骤支持此类功能。

添加属性传输

步骤 1 − 选择测试用例或测试步骤,右键单击 → 添加步骤 → 属性传输。

添加属性

步骤 2 −输入 TestStep 名称并单击 OK。

Rate Transfer

步骤 3 − RateTransfer 步骤已添加,并将打开一个新向导。

New Wizard

步骤 4 − 单击属性转移窗口左上角的"添加新属性转移"图标 +。系统将提示输入转移的名称。输入 Rate 并单击 OK。

Rate

转移属性

创建转移后,SourceTarget 窗格 需要指定相关的 XPath 表达式来提取和替换属性值。在 Source 旁边的下拉框中,列出了可用作属性转移源的各个级别的 SoapUI 项目。默认情况下,将显示最近的 TestStep。

在本例中,它是 Request – INR to USD TestStep。 Property 旁边的下拉列表显示传输中使用的源属性,可以是请求、响应或服务端点。

传输属性

步骤 1 − 选择响应并转到路径语言。用户可以选择 XPath、Xquery 或 Jason 来定义属性。在本例中,选择 XPath。

路径语言

步骤 2 − 要获取源 xml 的声明,请单击 ns 并指定 XPath。

步骤 3 − 指定要将从上述 XPath 表达式中提取的值传输到的目标。目标窗格位于属性传输窗口的底部。

步骤 4 − 从 RequestINRtoUSD 步骤的响应中传输 ConversionRateResult 的提取值。

目标 − 属性

属性 − ConversionRate(添加的新属性,最初没有任何值)。

目标属性

步骤 5 −一旦测试用例成功运行,属性"ConversionRate"将根据响应进行更新。

以下是初始屏幕截图。

Conversion Rate

以下是成功运行后的屏幕截图。

Successful Run

同样,Target 可能是下一个请求 XML。如果 Target 是 SOAP 请求,我们需要提供 XPath 来识别目标属性。