今天给大家来梳理下soapui这款工具关于参数化的几种方式以及具体的应用场景

1、properties

官方文档:https://www.soapui.org/docs/functional-testing/teststep-reference/properties.html

比如工作中需要测试主流程功能即多个功能,比如这里注册register、登录login两个功能请求,包含的请求参数,我们分别来看下:

注册请求中参数分别是手机号码mobilephone、密码pwd、注册名regname

登录请求中参数分别是手机号码mobilephone、密码pwd

如果想多次运行TestCase,完成多次注册-登录,因为mobilephone、regname是唯一的,所以每运行一次,就必须修改一次这些参数值。实际工作中不可能只有注册、登录两个请求,包含的功能请求会更多,工作量就相当大。

所以这里解决办法就是进行参数化

1)右键Test Steps-->Add Step-->Properties

2)添加两个需要进行参数化的变量,变量名自定义分别为mobilephone、name;对应的value值填上需要注册的用户手机号码及名字信息

3)分别对register、login请求中参数进行变量引用。${Properties#mobilephone}变量引用的固定写法${变量名},Properties#mobilephone表示Properties中定义的mobilephone变量,${Properties#name}同理

4)双击TestCase运行查看结果

2、DataSource

官方文档:https://www.soapui.org/docs/data-driven-tests/reference/datasources.html

右键Test Steps-->Add Step-->DataSource

数据源类型

以上我们讲两种常用到的数据源类型

1)DataSource之Excel

a、例如我们需要批量注册多个用户,先准备包含多个注册用户信息的excel

b、DataSource中按照如下1、2、3步去添加并测试获取数据是否正确

c、右键Test Steps-->Add Step-->DataSource Loop, 添加在循环register请求之后。并且设置DataSource Loop的数据来源步骤、目标step是register

d、进行register请求中参数的变量引用

e、双击TestCase,运行查看结果循环4次

2)DataSource之JDBC

例如需要从数据库获取到用户账号信息完成登录,这里我们主要从数据库获取手机号码mobilephone

a、DataSource中数据源类型选择JDBC,并进行如下对应设置

设置完后测试下连接,成功。

测试不成功请注意:连接数据库需要用到驱动jar包,soapui本身不自带,需要自己下载后放到soapui安装目录的lib目录下。不同数据库驱动不一样。

b、在SQL Query中输入要查询的sql语句,select mobilephone from member order by id desc;

并且添加properties参数mobilephone,点击运行,能看到已经成功获取数据库的值

c、进行login请求中参数的变量引用

d、在login请求后右键Test Steps-->Add Step-->添加DataSource Loop,并设置Loop,目标step是login

e、双击TestCase,运行查看结果,循环36次获取到数据库的所有手机号并完成了登录

ps:若不想将获取到的所有数据完成循环,DataSource进行下数据读取设置

运行后,只循环5次

soapui的常用参数化方式就整理到这,希望大家学有所用

SoapUI 的几种常用参数化方式的更多相关文章

  1. jQuery中ajax的4种常用请求方式

    jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...

  2. 跨平台C++开源代码的两种常用编译方式

    作者:朱金灿 来源:http://blog.csdn.net/clever101 跨平台C++开源代码为适应各种编译器的编译,采用了两种方式方面来适配.一种是makefile方式.以著名的空间数据格式 ...

  3. Spring连接数据库的几种常用的方式

    本文简单的讲解使用Spring连接数据库的几种常用方法: 测试主类为: package myspring2; import java.sql.*; import javax.sql.DataSourc ...

  4. Map集合的四种常用遍历方式整理

    1.Map集合简介:map集合是一个key—value型的数据结构,存储的数据具有查询速度快速的特点,但由于是无序的,所以没有顺序可言.在遍历时没有办法像简单的list或数组一样. 2.代码: pac ...

  5. 总结:Jmeter常用参数化方式

    一.从CSV文件中读取 二.通过函数生成 三.用户自定义变量 四.用户参数 五.使用正则表达式提取 六.从数据库中读取

  6. Jmeter学习笔记(十五)——常用的4种参数化方式

    一.Jmeter参数化概念 当使用JMeter进行测试时,测试数据的准备是一项重要的工作.若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据. 参数化是自动化测试脚本的一 ...

  7. JMeter常用的4种参数化方式-操作解析

    目录结构 一.JMeter参数化简介 1.JMeter参数化的概念 2.JMeter参数化方式之使用场景对比 二.JMeter参数化的4种主要方式-操作演练 1.User Parameters(用户参 ...

  8. Windows校验文件哈希hash的两种常用方式

    大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像 ...

  9. Selenium Webdriver元素定位的八种常用方式

    楼主原创,欢迎学习和交流,码字不容易,转载请注明出处,谢谢. 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素 ...

随机推荐

  1. CodeForces 590C Three States BFS

    Three Statesy 题解: 以3个大陆为起点,都dfs一遍,求出该大陆到其他点的最小距离是多少, 然后枚举每个点作为3个大陆的路径交点. 代码: #include<bits/stdc++ ...

  2. JS-特效 ~ 02. 屏幕滚动事件、 DTD、scroll、顶部悬浮导航、两侧跟随广告、返回顶部小火煎

    ceil 向上取整 floor 向下取整 round 四舍五入 缓动动画 动画原理 = 盒子位置 + 步长 清除定时器 步长越来越小 盒子位置 = 盒子本身位置 + (目标位置-本身位置)/n(最好为 ...

  3. 宝塔Linux面板命令

    安装宝塔 Centos安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/inst ...

  4. FreeSql (十二)更新数据时指定列

    var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initia ...

  5. win7右下角声音图标不见了

    场景:开机后发生右下角的声音图标不见了,马上google,可能性有两种图标隐藏或者系统错误 隐藏处理方式:右下角下打开自定义--> 将它调为显示和通知(发生不好使,估计是系统错误) 系统错误处理 ...

  6. 3.1、双向循环链表(java实现)

    1.创建节点类 public class CNode<T> { public CNode prev; public CNode next; public T data; public CN ...

  7. jmeter 遍历数据库

  8. 02 (OC)* ViewController 的声明周期

    一. UIViewController 的 生命周期 代码 示例 #pragma mark --- life circle // 非storyBoard(xib或非xib)都走这个方法 - (inst ...

  9. 最近学习到的Lambda表达式

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 中秋去了躺上海,在外滩上打了个卡: 紧接着学了一下J ...

  10. 微信支付JSAPI支付

    1.介绍 JSAPI支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付.应用场景有:    ◆ 用户在微信公众账号内进入商家公众号,打开某 ...