SOAPUI测试步骤(六)---PropertyTransfer

转载地址:http://www.cnblogs.com/zerotest/p/4677653.html


财产转移TestSteps用于转移属性。 在许多情况下他们是非常有用的,特别是当涉及包含XML属性,例如当您需要

  1. 从XML消息获取一个值,例如一个SOAP响应的sessionID
  2. 一个值写入XML消息,例如保存sessionID或身份验证数据
  3. 传输属性之间复杂的XML内容

1、属性转换窗口

创建或双击现有属性转换TestStep打开如下窗口:

Property Transfer window

左侧列表显示你在这TestStep配置的转移,添加和管理。 在选择转移(如“TransferUser”在上面的截图),右边的区域允许您根据需要配置它;

  • 顶部的源区指定源转移属性和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 ——这意味着如果来源是空的或失踪的匹配值将被忽略和目标值都完好如初
  • 使用XQuery ——SoapUI将假定源是XQuery而不是默认的XPath时试图提取源值
  • Transfer child nodes ——SoapUI不会尝试任何文本提取匹配的源节点,而是选择匹配的子节点,因此保留子树的XML结构

2。 转换执行

当PropertyTransfer TestStep TestCase运行期间执行,每次 Property Transfer的转移是通过选择由转移源步骤,属性和可选的XPath表达式指定的属性被执行和复制他们的值使用一个可选的XPath表达式指定的属性到目标步骤。 如果指定了XPath表达式,如果他们是同一类型的soapUI将试图将目标节点取代源节点。

源和目标XPath表达式必须都指向现有节点各自的属性,源显然需要节点,所以可以选择,目标属性要求节点可以发现和覆盖。

如果由于缺少比赛的任何XPath表达式任何转移失败,打印错误,要么失败,要么继续,根据“错误失败”选项。

3。 一个例子:传输响应后请求的会话ID

这是一个很常见的场景,让我们做一个详细的介绍。 让说我们有登录服务返回一个我们后来想使用sessionID进行身份验证;将sessionID提取属性转换是完美的,它写入属性可以被所有所需TestSteps使用。 我们开始吧:

Property Transfer login response

Add Property Transfer

Property Transfer source setup

  1. 和执行登录请求添加到一个空的TestCase所以你有一个有效的应对工作; 


     
  2. 创建属性转换后TestStep请求并添加一个属性转换; 


     
  3. 配置登录请求的响应的源属性,然后选择右边的“向导”按钮在源属性工具栏。 这将打开一个方便的向导选择所需的源节点的转移(在标准soapUI你需要手动创建生成的XPath语句)。 


     
  4. 选择节点和按下OK;soapUI为您生成相应的XPath语句;

Configured source property

现在源都设置和你的下一个步骤是配置属性转换的目标,即在它应该在的地方。 我们有两个选择;

  1. 写一个临时属性可以被所有后续TestSteps需要使用sessionID。 这是最好的解决方案,如果我们想使用sessionID在几个地方或TestSteps
  2. 它直接传输到目标TestStep(s)的值被使用。 这是更容易,如果你只是想在一个地方使用值

让我们看一看这两种

3.1。 写入一个临时的属性

让财产保存到TestCase属性,我们定义了名称“SessionID”;

Transfer property to temp

现在执行时,将SessionID转移到指定的TestCase属性,以后可以用在任何请求通过标准property-expansion(或另一个属性转换),例如在一个我们可以注销请求

<logout>
<sessionID>${#TestCase#SessionID}</sessionID>
</logout>

当请求被发送这将取代扩展保存的SessionID。

3.2。 直接写TestStep所需的目标

这是更直接,设置目标再注销请求,并使用XPath向导(或XPath技能)来创建目标XPath语句;

Property Transfer target setup

导致

Configured target property

现在,当执行这个源目标价值会直接从响应中提取和写入请求消息。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
本课程是接口测试的基础+进阶+高阶的实战精品课程。 老师从多角度、多方位基于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)等。擅长框架/平台设计开发、团队管理、团队技能提升培训,技术瓶颈突破等。
本课程是接口测试的敏捷入门实战课程。老师从多角度、多方位基于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)等。擅长框架/平台设计开发、团队管理、团队技能提升培训,技术瓶颈突破等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值