SoapUI 属性转移
SoapUI 属性传输
有时我们需要从响应消息中获取一些特定的内容或信息,然后将其添加到后续请求中。这些情况需要一些特定的机制来检索值并将其传输到 SoapUI 项目的其他元素。因此,我们需要使用SoapUI 属性转移 TestStep。
添加属性转移
用于在SoapUI,我们必须按照下面给出的步骤进行操作。
第 1 步: 点击Soap 图标以创建一个新的 Soap 项目,然后输入 Initial WSDL URL,如下图。
http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL
步骤 2: 一旦确定按钮单击后,它会处理 Soap 项目 及其相关服务,如下所示。
步骤 3: 右键单击 >'CountryInfoServiceSoapBinding 12'打开生成Test Suite,如下图。
第 4 步: 当点击 OK 按钮时,它会显示一个对话框来指定测试套件名称,如下所示。
步骤 5: 单击确定按钮后,它会显示测试套件内的默认测试用例, 如图 b
为资产转移创建克隆
第 6 步: 右键单击 CountryInforServiceSoapBinding TestSuite 以创建新的属性转移测试用例,如下所示。
在这里,我们将测试用例的名称指定为 Property Transfer TestCase 和然后点击 OK 按钮。
第 7 步: 之后,它在 CountryInforServiceSoapBinding TestSuite 内创建 Property Transfer TestCase 并显示 TestCase 窗口,如下图。
第八步: 现在,我们转移或克隆两个测试用例请求: CountryISOCode TestCase 请求和
CapitalCity TestCase 在 Property Transfer 测试用例的测试步骤中请求,如下所示。
克隆 CountryISOCode 测试用例: 点击 CountryISOCode 的(+)然后在TestCase上右键CountryISOCode请求,如下图。
点击克隆 TestStep 以打开 'Clone TestStep 窗口' 以定义目标测试用例。在这里,我们为财产转移测试用例指定了 Target 'CountryISOCode request',如下所示。
第 9 步: 点击 OK 按钮后,将 CountryISOCode 请求传输到 Property Transfer TestCase 并显示 XML 请求到右侧窗格,如下所示。
步骤10: 同理,我们将CapitalCity TestCase的请求转移到Property Transfer TestCase,如下图。
第 11 步: 现在,双击该属性转移测试用例查看可用的测试用例,如下图。
添加财产转让
第 12 步: 右键单击 CountryISOCode 请求TestStep然后选择Property Transfer服务,如下图。
第 13 步: 当我们点击财产转移时,它会显示一个弹出对话框,指定财产转移的新步骤的名称.
第14步: 一旦
确定按钮被点击,它会添加一个财产转让到一个财产转让测试案例,然后显示一个新的财产转让窗口添加属性,如下图。
第 15 步: 要添加属性,请单击"属性转移"窗口左上角的(+) 图标。之后,它会显示一个弹出对话框,指定在属性传输中传输值的名称。输入名称 CountryISO 并单击 确定。
第 16 步: 之后,它会在 Property Transfer 窗口中显示 CountryISO 值,如下所示。
这里,CountryISO 值被添加到 CountryISOCode用于将值转移到 CapitalCity 的副本 请求中。之后,将CountryISOCode属性设置为Response,然后将Copy of CapitalCity属性设置为Request,如图所示
第 17 步: 现在,单击请求/响应按钮(3) 来声明源和目标表达式的命名空间,如下所示。
步骤 18: 双击 CountryISOCode 以显示 XML 请求文件,如图所示。
第 19 步: 指定国家名称为United State后,点击绿色运行按钮执行查询,如下图。
以下代码片段显示了请求 CountryISO XML 格式的代码。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.oorsprong.org/websamples.countryinfo">
<soapenv:Header/>
<soapenv:Body>
<web:CountryISOCode>
<web:sCountryName>United State</web:sCountryName>
</web:CountryISOCode>
</soapenv:Body>
</soapenv:Envelope>
以下代码片段显示了 XML 格式的响应 CountryISOCode。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<m:CountryISOCodeResponse xmlns:m="http://www.oorsprong.org/websamples.countryinfo">
<m:CountryISOCodeResult>US</m:CountryISOCodeResult>
</m:CountryISOCodeResponse>
</soap:Body>
</soap:Envelope>
第 20 步: 现在,我们必须从源的 CountryISOCode Response XML 中指定 //m:CountryISOCodeResult 以获得 ISO代码值。
第21步: 双击在CapitalCity请求的副本上,然后为目标CapitalCity的副本指定请求命名空间,如下所示。
这是CapitalCity 的请求副本 XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.oorsprong.org/websamples.countryinfo">
<soapenv:Header/>
<soapenv:Body>
<web:CapitalCity>
<web:sCountryISOCode>?</web:sCountryISOCode>
</web:CapitalCity>
</soapenv:Body>
</soapenv:Envelope>
第 22 步: 类似,我们必须在目标处从 CapitalCity Request XML 中指定 //web:sCountryISOCode 以获取 Capital指定国家/地区的名称。
第 23 步: 点击绿色运行按钮,执行属性转移,获取国家ISO代码,如下图。
第 24 步: 之后,我们必须双击 'Popery Transfer TestCase' 来执行所有可用的测试步骤,如图所示
当我们点击运行按钮时,所有的测试步骤都是在 Property Transfer TestCase 内执行。
第 25 步: 现在,从 property transfer 中选择 'Copy of CapitalCity' 请求,然后运行 XML 文件以生成请求和
以下代码片段显示了以 XML 格式请求 CapitalCity 的副本。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.oorsprong.org/websamples.countryinfo">
<soapenv:Header/>
<soapenv:Body>
<web:CapitalCity>
<web:sCountryISOCode>US</web:sCountryISOCode>
</web:CapitalCity>
</soapenv:Body>
</soapenv:Envelope>
以下代码片段以 XML 格式显示了CapitalCity 的响应副本。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<m:CapitalCityResponse xmlns:m="http://www.oorsprong.org/websamples.countryinfo">
<m:CapitalCityResult>Washington</m:CapitalCityResult>
</m:CapitalCityResponse>
</soap:Body>
</soap:Envelope>
这样,我们就在一个SoapUI项目中使用了属性转移服务。