SoapUI 的几种常用参数化方式

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

1、properties

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

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

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

image.png

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

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

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

  1. 右键Test Steps-->Add Step-->Properties
    image.png

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


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

image.png
image.png


4. 双击TestCase运行查看结果

image.png
image.png




### 2、DataSource

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

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

image.png


**数据源类型**

image.png

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



1)DataSource之Excel

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

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

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

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

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



2)DataSource之JDBC

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

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

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

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


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

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

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

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

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



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

image.png

运行后,只循环5次
image.png

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

3 操作
potato 在 2024-12-31 15:12:26 更新了该帖
potato 在 2024-12-31 15:10:51 更新了该帖
potato 在 2020-08-13 10:04:24 更新了该帖
回帖
请输入回帖内容 ...