SoapUI 的几种常用参数化方式

时间:2024-01-25 15:14:45

今天给大家来梳理下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的常用参数化方式就整理到这,希望大家学有所用