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对JSON的操作 day3

    下面将为大家介绍如何使用python语言来编码和解码json对象: json串就是一个字符串,json串必须用双引号,不能使用单引号 使用json函数需要导入json库,import json 1.j ...

  2. appium分层自动化的封装

    1.创建一个case包,start_app的python文件 #coding=utf-8from appium import webdriverfrom util.read_init import R ...

  3. Firefox配置Fiddler

    Fiddler: Toos->Telerik Fiddler Options->HTTPS->Capture HTTPS CONNECTs Toos->Telerik Fidd ...

  4. (9)使用JdbcTemplate【从零开始学Spring Boot】

    整体步骤: (1)   在pom.xml加入jdbcTemplate的依赖: (2)   编写DemoDao类,声明为:@Repository,引入JdbcTemplate (3)   编写DemoS ...

  5. MySQL出现no mycat database selected的问题分析

    1.先抛开mycat来处理 2.在查询表时,要指定是哪个数据库,然后再查询. ①.如果再MySQL Workbench中,先使用use tablename;,然后在执行操作语句:或者在语句上指定要查询 ...

  6. 使用nginx+lua脚本读写redis缓存

    配置 新建spring boot项目增加redis配置 <dependency> <groupId>org.springframework.boot</groupId&g ...

  7. Light oj 1251 - Forming the Council 【2-sat】【推断是否存在可行解 + 反向拓扑输出可行解】

    1251 - Forming the Council problem=1251" style="color:rgb(79,107,114)"> PDF (Engli ...

  8. 图论-BFS解无权有向图最短路径距离

    概述 本篇博客主要内容: 对广度优先搜索算法(Breadth-First-Search)进行介绍: 介绍用邻接表的存储结构实现一个图(附C++实现源代码): 介绍用BFS算法求解无权有向图(附C++实 ...

  9. oc14--匿名对象

    // // main.m // 匿名对象 #import <Foundation/Foundation.h> #import "Person.h" #import &q ...

  10. python spark 求解最大 最小 平均 中位数

    rating_data_raw = sc.textFile("%s/ml-100k/u.data" % PATH) print rating_data_raw.first() nu ...