1.1.1  Property Transfer

创建或双击现有的Property-Transfer TestStep将打开以下窗口:

左侧的列表显示了此TestStep中配置的传输,添加和管理所需的数量。 选择传输时(如上图截图中的“result”),右侧的区域允许您根据需要进行配置;

  • 顶部的源区域指定源属性和可选的XPath用于传输
  • 目标区域指定目标属性和可选的XPath进行传输
  • 下面的区域将不同的配置选项设置在传输级别上。

底部的传输日志显示窗口打开时的最新执行传输及其实际传输的值。

可用的配置选项可以大大改变传输的内容,并将其各自的定义为:

  • Fail transfer on error -尝试执行转移时发生任何错误时,转移步骤将失败
  • Transfer text content -只会传送文字内容。 不会保留结构元素
  • Transfer to all -匹配的值将被转移到所有的目标位置,以防多个匹配
  • Entitize transferred values -这些值将具有某些字符,例如&符号(“&”)替换为相应的字符实体值(“&”)
  • Set null on missing source -如果源资源丢失,目标将设置为null。 这意味着如果目标已经有一个值,它将丢失
  • Ignore empty/missing values -这意味着如果源的匹配值为空或丢失,则它将被忽略,并且目标值保持不变
  • Use XQuery - SoapUI将假定源是XQuery而不是默认的XPath,当尝试提取源值时
  • Transfer child nodes - SoapUI不会尝试从匹配的源节点进行任何文本提取,而是选择匹配节点的子节点,从而保留子树XML结构

1.1.1.1 Transfer Execution

当在TestCase运行期间执行PropertyTransfer TestStep时,通过选择传输源步骤,属性和可选XPath/JSONPath表达式指定的属性来执行属性传输中的每次传输,并使用以下命令将其值复制到目标步骤指定的属性可选的XPath/JSONPath表达式。 如果指定了XPath/JSONPath表达式,soapUI将尝试用源节点替换目标节点,如果它们的类型相同。 如果没有(例如,将text()分配给@attribute),soapUI将尽可能复制该值。

源和目标XPath/JSONPath表达式都必须指向其各自属性中的现有节点,源属性显然需要节点,以便可以选择,目标属性需要节点才能被找到并覆盖。

如果由于任何XPath/JSONPath表达式的匹配丢失而导致任何传输失败,则打印错误,并且步骤将失败或继续,具体取决于该传输选择了“失败错误”选项。 如果TestCase的“Fail on error”选项已按照TestCase Options所述设置,TestCase的执行将被中止。

1.1.1.2 一个例子:将版本号从响应转移到以下请求

假设我们有一个查询服务,返回一个随后要用于删除的版本号; 属性转移非常适用于提取版本号并将其写入可以由所有所需TestStep引用的属性。 开始了:

  1. 将查询请求添加并执行到一个空的TestCase,以便您有一个有效的响应来处理;
  2. 请求后创建Property-Transfer TestStep,并向其中添加属性传输;
  3. 将源属性配置为“查询请求的响应”,然后在源属性工具栏右侧选择“向导”按钮。 这将打开一个方便的向导,用于选择要传输的所需源节点(在标准soapUI中,您将必须手动创建生成的JSONPath语句)。
  4. 选择节点并按OK; soapUI为您生成相应的JSONPath语句;

现在,所有的源都设置完成,下一步是配置属性转移的目标,即应写入的位置。 有两个选择;

  1. 将其写入可以由需要使用version_seq的所有后续测试步骤引用的临时属性。 如果我们要在几个地方使用version_seq或者TestSteps,这是最好的解决方案
  2. 将其直接传输到应该使用该值的目标TestStep。 如果只想在一个地方使用该值,这将更容易
1.1.1.2.1       写入临时属性

将属性保存到我们使用名称“version_seq”定义的测试用例属性;

现在当执行时,version_seq被转移到指定的TestCase属性,并且可以稍后在通过标准属性扩展(或另一个属性转移)的任何请求中使用。

1.1.1.2.2       直接写入所需的目标TestStep

这更直接; 将目标设置为注销请求,并再次使用JSONPath向导(或JSONPath技术)创建目标JSONPath语句;

现在执行此操作时,源目标值将从响应中直接提取并写入请求消息。

soapUI-property Transfer的更多相关文章

  1. SoapUI 关联之Property Transfer、JSONPath、Xpath

    进行接口功能测试过程中,经常会碰到,需要获取到上一个请求响应结果中数据,传递到下一个请求中来使用.在soapui中我们通过Property Transfer来实现. 1.Property Transf ...

  2. [SoapUI] Property Expansion in soapUI

    1. Property Expansion in soapUI SoapUI provides a common syntax to dynamically insert ("expand& ...

  3. SoapUI Property

    1. Test Suite(Case) Property 选择Test Suite(Case),switch to Custom properties 在request中的引用方式: ${[scope ...

  4. 【转】Web Service单元测试工具实例介绍之SoapUI

    转自:http://blog.csdn.net/oracle_microsoft/article/details/5689585 SoapUI 是当前比较简单实用的开源Web Service 测试工具 ...

  5. SoapUI之webservice接口测试(一)

    1.新建soap project 添加后出现接口内容 2.为了方便后续的测试,以防某些参数删除错了,这边需要新建测试集 3.点开新建的测试集可以发现,里面的内容跟原始测试集内容是一样的 然后就可以在这 ...

  6. soapui中文操作手册(八)----Web服务的功能测试案例

    现在,让我们来看看在一个TestCase的功能测试. 展开 Simple TestSuite并双击Simple Login and Logout w. Properties Steps. 正如你所看到 ...

  7. Web Service单元测试工具实例介绍之SoapUI

    原文  Web Service单元测试工具实例介绍之SoapUI SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式.能够快速构建项目和组 ...

  8. SoapUI:入门实例

    这一章中我们要掌握如下内容: 1)         构建项目: 2)         运行单个请求: 3)         构建测试用例: 4)         接口之间传递参数,组织测试步骤: 5) ...

  9. soapUI学习文档(转载)

    soapUI 学习文档不是前言的前言记得一个搞开发的同事突然跑来叫能不能做个WebService 性能测试,当时我就凌乱了,不淡定啊,因为我是做测试的,以前连WebService 是什么不知道,毕竟咱 ...

随机推荐

  1. 【Web前端开发最佳实践系列】前端代码推荐和建议

    一.常用的前端文件的组织结构: 1.js (放置JavaScript代码) lib(放置框架JavaScript文件) custom.js 2.css(放置CSS样式代码) lib(放置框架CSS文件 ...

  2. C# NameValueCollection集合 (转)

    1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCollectionBase 不同,该类在一个键下存储多个字符 ...

  3. Git 多人协作开发的过程

    Git可以完成两件事情: 1. 版本控制 2.多人协作开发 如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发. 如果有多个开发人员共同开发一个项目,如何进行协作的呢. Git提供了一个非 ...

  4. vue 项目要使用的库

    1.Stylus是一个CSS预处理器. npm install stylus --save-dev npm install stylus-loader --save-dev 使用 <style ...

  5. vue Element-UI组件

    一.UI组件 目的: 提高开发效率, 别人提供好一切, 拿过来直接用饿了么团队开源一个基于vue组件库 Element-UI ==> pc端 文档: http://element-cn.elem ...

  6. Unity3D protobuf-net使用方式

    1.下载protobuf-net 2.创建Unity工程,创建一个Plugins文件夹,将protobuf-net解压把里面得protobuf-net放到Plugins 3.创建一个名为mcs的文本文 ...

  7. Linux大文件已删除,使用df查看已使用的空间并未减少

    今天在一台Linux系统里,使用df命令查看磁盘使用情况,发现/根分区使用了100% 然后删除一大文件/var/lib/pgsql/9.1/pgstartup.log,再使用df查看使用情况,显示内容 ...

  8. locate命令的使用

    使用locate命令,遇到了这样的情况:当前目录下有一个文件,而使用这个命令时却查找不到这个文件,上网查了一下,找到了原因,就在下面. 1. find find是最常见和最强大的查找命令,你可以用它找 ...

  9. 神奇的thrust::device_vector与nvcc编译选项

    在C++的GPU库thrust中,有两种vector thrust::device_vector<int> D; //GPU使用的内存中的向量 thrust::host_vector< ...

  10. python---使用pycharm运行py文件

    在pycharm中新建一个.py的文件,那么如何使用pycharm来运行这个文件呢? 第一步:选择这个三角(即Edit configuration)进入设置 第二步:设置文件名和路径 第三步:设置完成 ...