SoapUI之接口数据传递(TestCase、TestSuite传递)

SoapUI之接口数据传递(step传递)

SoapUI+Groovy做接口自动化测试

SoapUI中使用Conditional Goto TestStep

摘要: How to use Conditional Goto TestStep instead of Groovy Script

Background: 在SoapUI的TestStep中,Groovy Script可以实现大多数种类的测试场景,但是一个Project中Script太多会拖慢运行速度和效率,所以SoapUI自带了其他种类的TestStep,例如“Conditional Goto” :

1.Right click one TestStep->Right click->Add Step->Conditional Goto.

2.在弹出的界面做下图所示4步操作:

  • 添加一个Condition变量,名字不限,见名知义即可;
  • 点击视图选择器,选择作为条件的变量:点击后SoapUI就会自动弹出上一个Request Method Test Step的Response Json View,双击选择需要作为跳转标志的字段,那对应的XPath Expression就会填充到上方的空白处;
  • 为选择的变量添加跳转条件:上图的意思是“选择的status字段是IN_CALCULATION的时候跳转到指定的Target step”;
  • 在下拉列表中选择跳转条件满足时需要跳转到的Target Step:上图中需要循环执行“GetTableData_PAAPI”,所以条件是这个Step的某个字段,条件满足时继续执行该Step。

注意:

  • Conditional Goto步骤在实际运用中的意思是:当上一个REST Test Step的满足某一个条件时,就跳转到该Test Case中的某个Target Step。
  • 用Conditional Goto步骤实现轮询时,因为该Step有自己设定的间隔时间(应该是几十毫秒),可能跟界面上轮询时间不同,所以为了模拟真实界面错做,就需要在改步骤前面加上Sleep Test Step(默认休眠时间是1000ms)。
  • 若需要跳转的条件跟上一个REST Test Step返回结果无关,此时该TestStep无效。这种情况下可以添加一个Groovy Script,在Script中判断条件是否为true,若为true,则goto某TestStep:

if(context.expand('${DataSource#bmkId}') == ""){
                testRunner.gotoStepByName("GetOwnershipData_PAAPI VS DataAPI")
            }

所以在用工具的时候,要根据自己的业务需求灵活选择Test Step。

 

转载:SoapUI之接口数据传递的更多相关文章

  1. WSDL接口数据传递以及外网发布需要注意的地方

    A系统传递数据给B系统 1.A创建asmx推送接口如下 using System; using System.Collection.Generic; using System.Data; using ...

  2. (转载)Javascript操作表单之间的数据传递

    (转载)http://www.aspxhome.com/javascript/skills/200710/214825.htm 今天有朋友问我关于用JAVASCRIPT来进行页面各表单之间的数据传递的 ...

  3. android Activity之间数据传递 Parcelable和Serializable接口的使用

    Activity之间传数据时,为了避免麻烦,往往会将一些值封装成对象,然后将整个对象传递过去.传对象的时候有两种情况,一种是实现Parcelable接口,一种是实现Serializable接口.0.解 ...

  4. postman(五):在不同接口之间传递数据

    为了更灵活地构造请求以及处理响应数据,postman提供了Pre-request-Script和Tests,在这两个标签中可以编写js代码辅助测试.之前学习了在发送请求的Tests标签如何添加断言以及 ...

  5. Android图像数据传递到C++的一些坑

    最近在做一个Android图象识别的app, 通过相机预览或者是拍照功能获取图像数据,然后将图像数据传递到本地C++的图像识别so库.在这个过程中花的时间最多的就是数据传输问题.谨以此坑,警示未来!  ...

  6. OpenGL/GLSL数据传递小记(3.x)(转)

    OpenGL/GLSL规范在不断演进着,我们渐渐走进可编程管道的时代的同时,崭新的功能接口也让我们有点缭乱的感觉.本文再次从OpenGL和GLSL之间数据的传递这一点,记录和介绍基于OpenGL3.x ...

  7. Android零基础入门第83节:Activity间数据传递方法汇总

    在Activity间传递的数据一般比较简单,但是有时候实际开发中也会传一些比较复杂的数据,本节一起来学习更多Activity间数据的传递. 一.常用数据类型 在前面几节我们只学习了一些常用类型的数据传 ...

  8. Activity系列讲解---数据传递

    在Android中,不同的Activity实例可能运行在一个进程中,也可能运行在不同的进程中.因此需要一种特别的机制帮助我们在Activity之间传递消息.Android中通过Intent对象来表示一 ...

  9. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...

随机推荐

  1. Python 集合 day3

    集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,集合用{},里面是一个一个元素,不同于key-value形式的字典: 注意:创建一个空集合必须用 s ...

  2. 关于js开发中保留小数位计算函数(以向上取整或向下取整的方式保留小数)

    前端工作中经常遇到数字计算保留小数问题,由于不是四舍五入的方式不能使用toFixed函数,本文采用正则表达式匹配字符串的方式,解决对数字的向上或向下保留小数问题: 1.向上保留小数(只要目标小数位后有 ...

  3. 2019-04-12 SQL 主键约束

    create table dbo.AssetPool( ID bigint not null, poolname nvarchar(50)not null, constraint pk_AssetPo ...

  4. html绑定点击事件传值

    1.方法1function radioSelect(event){ var valueRadio=event.value; if(valueRadio =='目的口岸'){ return '目的口岸' ...

  5. Oleg and Little Ponies

    Oleg and Little Ponies Time limit: 0.9 secondMemory limit: 64 MB Little boy Oleg loves the cartoon M ...

  6. c++0x11新特性:delete删除函数

    c_plus_plus_0x11.cpp: // c_plus_plus_0x11.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #inc ...

  7. 关于bitnami redmine 的一些问题

    http://blog.csdn.net/yanyaming920817/article/details/50059523

  8. nodejs-n-nvm版本管理工具

    第一种版本管理工具: n n是Node的一个模块,作者是TJ Holowaychuk(鼎鼎大名的Express框架作者),就像它的名字一样,它的理念就是简单: "no subshells, ...

  9. oracle BBED 直接改动数据库block块

    1.BBED配置 1)将相应文件放到$ORACLE_HOME/rdbms/mesg和$ORACLE_HOME/rdbms/lib中:     --将lib中bbedus.msb和bbedus.msg ...

  10. (hdu step 7.2.2)GCD Again(欧拉函数的简单应用——求[1,n)中与n不互质的元素的个数)

    题目: GCD Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...