今天给大家来梳理下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. 【Offer】[50-2] 【字符流中第一个只出现一次的字符】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次 ...

  2. Toad客户端连接Oracle数据库报错 ORA-12170:TNS:连接超时

    Oracle 客户端连接Oracle数据库报错   ORA-12170:TNS:连接超时  排错步骤: 1. 查看网络是否畅通:  打开cmd,ping数据库IP 2. 查看端口是否畅通: 打开cmd ...

  3. Java 中的array数组总结之一

    数组:是一个将同种类型的数据存储在存储单元中. 可以用三种方式声明数组: 1.数据类型 标识符[]; int mothDays[]; 2.数据类型 标识符[] = new 数据类型[大小]; int ...

  4. Android 开发系列教程之(一)Android基础知识

    什么是Android Android一词最早是出现在法国作家维里耶德利尔·亚当1986年发表的<未来夏娃>这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android,这就是And ...

  5. CAS ABA问题

    java.util.concurrent包的最底层基础CAS技术,原理很简单. CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B.当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什 ...

  6. guava multimap介绍

    引用一篇别人的博客,理解理解 http://vipcowrie.iteye.com/blog/1517338

  7. java读取Excel —— XSSFWorkbook 找不到该类

  8. Android入门学习教程PDF免费下载

    场景 CSDN: https://blog.csdn.net/badao_liumang_qizhi 博客园: https://www.cnblogs.com/badaoliumangqizhi/ 哔 ...

  9. hbase 修复 hbase hbck

    hbase hbck 新版本的 hbck 可以修复各种错误,修复选项是: (1)-fix,向下兼容用,被-fixAssignments替代 (2)-fixAssignments,用于修复region ...

  10. 学生管理系统——ArrayList集合

    此学生管理系统利用了集合ArrayList实现了对学生的增删改查:利用数组中的方法实现分数排序:运用String类的equals实现登录功能的字符串比较. 管理员类: package data; pu ...