有时需要从响应消息中提取一些值并将其包含在后续请求中.在这种情况下,我们需要一种机制来检索指定的值并将其传递给项目的其他元素. SoapUI通过Property Transfer TestStep支持此类功能.
添加物业转移
步骤1 : 选择TestCase或TestStep,右键单击 → 添加步骤 → 物业转移.
第2步 : 输入TestStep名称,然后单击"确定".
第3步 : 添加RateTransfer步骤并打开一个新向导.
第4步 : 单击属性传输窗口左上角的添加新属性传输图标+.系统将提示您输入转移名称.输入Rate并单击OK.
转移物业
创建传输后,源和目标窗格需要指定相关的XPath表达式来提取和替换属性值.在Source旁边的下拉框中,列出了可用作属性传输源的各种级别的SoapUI项目.默认情况下,将显示最接近的TestStep.
在这种情况下,它是请求 - INR到USD TestStep. Property旁边的下拉列表显示了传输中使用的source属性,可以是请求,响应或服务端点.
第1步 : 选择Response并转到Path语言.用户可以选择XPath,Xquery或Jason来定义属性.在这种情况下,选择XPath.
第2步 : 要获取source xml的声明,请单击ns并指定XPath.
步骤3 : 指定要从上面的XPath表达式中提取值的目标.目标窗格用于属性传输窗口的底部.
步骤4 : 从RequestINRtoUSD步骤的响应中转移ConversionRateResult的提取值.
目标 : 属性
属性 : ConversionRate(添加了一个新属性,它最初没有任何值).
第5步 : 测试用例成功运行后,属性"ConversionRate"会根据响应进行更新.
以下是最初的屏幕截图.
以下是成功运行后的屏幕截图.
同样,Target可能是下一个请求XML.如果Target是SOAP请求,我们需要提供XPath来识别目标属性.