soapUI-property Transfer

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语句;
在这里插入图片描述
现在执行此操作时,源目标值将从响应中直接提取并写入请求消息。

本课程是接口测试的基础+进阶+高阶的实战精品课程。 老师从多角度、多方位基于Demo进行讲解,力求做到认真细致讲好课程的每一要点。 全方位助力学员掌握接口测试的技术要领,快速跃升为接口测试方面的高手。 Demo具备很好的通用性及移植性,可以快速运用于实际接口测试中。 主讲老师为资深高级技术专家。毕业于电子科技大学。先后工作于多家知名外企,知名通信民企,知名IT公司。◇ 具备区块链领域高级测试解决方案设计、专家级测试开发、团队管理培训经验。◇ 具备专家级自动化测试解决方案、自动化测试平台框架设计开发、自动化测试团队管理培训经验。◇ 具备专家级的功能专项测试、性能专项测试经验及丰富的渗透测试经验。◇ 具备丰富的持续集成/持续交付(CI/CD)开发、实施及运维经验。◇ 具备丰富的C#/Java/Delphi/VB/C++/Python/Tcl/Groovy/Shell等开发及脚本开发经验◇ 具备20年的IT互联网工作经验。先后担任过项目经理,测试技术经理,测试总监以及专家级技术顾问等职务。独立开发完成有如下自动化测试框架及平台◇ GUI自动化测试框架(TSL)◇ ATF自动化测试框架(Tcl/Tk)◇ ATP自动化测试平台(C#/Java)◇ SoapUI接口自动化测试框架(Groovy/华为)◇ 持续集成自动化打包框架(Java/华为)◇ 区块链性能测试框架(Python)等。擅长框架/平台设计开发、团队管理、团队技能提升培训,技术瓶颈突破等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值