SoapUI:使用Excel进行参数化
本章中学习如下内容:
1) 使用DataSource调用Excel中的数据给接口参数化;
2) 使用DataSource Loop使得测试用例根据Excel中的取值循环执行。
1.1 前提条件
这次我们使用“国内飞机航班时刻表 WEB 服务”接口来练手,因为接口中的方法“getDomesticAirlinesTime ”需要输入多个参数,正符合我们的要求。
下面我们看一下方法“getDomesticAirlinesTime ”的介绍:
|
获得航班时刻表 DataSet 输入参数:startCity = 出发城市(中文城市名称或缩写、空则默认:上海);lastCity = 抵达城市(中文城市名称或缩写、空则默认:北京);theDate = 出发日期(String 格式:yyyy-MM-dd,如:2007-07-02,空则默认当天);userID = 商业用户ID(免费用户不需要) 返回数据:DataSet,Table(0)结构为 Item(Company)航空公司、Item(AirlineCode)航班号、Item(StartDrome)出发机场、Item(ArriveDrome)到达机场、Item(StartTime)出发时间、Item(ArriveTime)到达时间、Item(Mode)机型、Item(AirlineStop)经停、Item(Week)飞行周期(星期) |
getDomesticAirlinesTime 的请求如下:

我们输入始发城市和终止城市得到如下响应:

最后我们把getDomesticAirlinesTime 加到测试用例中,如下图所示,准备工作就结束了。

1.2 准备Excel文件
根据getDomesticAirlinesTime 的请求,创建一个Excel文件,内容如下,时间和userID都不参数化,留空,采用默认值。

1.3 设置DataSource
注意:免费版的SoapUI是没有DataSource这个功能的。
1) 在测试用例中添加步骤DataSource,如下图

2) 配置DataSource数据来源,如下图选择数据来源为“Excel”并填写EXCEL数据的相关信息。

3) 在DataSource中添加参数,相对应EXCEL有几个就添加几个参数,一一对应,如下图所示:

4) 运行DataSource取得Excel中的参数值,如下图所示,取两2行数据。

当然,也可以设置取哪一行到哪一行的数据,如下图所示:

1.4 接口中参数化
配置好DataSource好,就可以在接口中进行参数化了,如下图所示,测试用例中打开“getDomesticAirlinesTime”选择要参数化的地方 > 右键选择“Get Data..” > 选择刚才配置的DataSource > 再选择对应的参数。

如下,已配置好参数(其实我们手写这个代码也可以):

1.5 运行测试用例
如下图,打开TestCase运行测试

在“TestCase Log”双击步骤“getDomesticAirlinesTime”,打开“Message Viewer”窗口,可以检查请求信息中的参数值,如下图所示,与Excel中的值一至。

1.6 使用DataSource Loop循环取值
1) 新建步骤DataSource Loop

2) 配置DataSource Loop,如下图

3) 配置好DataSource Loop后还需要调整一下步骤顺序,正确的步骤应当是“数据源---请求----数据源循环”。如下图是我调整好的步骤顺序:

4) 最后运行TestCase,如下图在日志中可以看到接口循环执行了。

5) 最后还要说一点,我们可以设置TestCase的属性,使得在当前循环不通过时,跳到下一个循环(循环执行的时候这个比较重要)。如下图,打开TestCase option窗口,去掉“Abort test if an error occurs”的构选。

SoapUI:使用Excel进行参数化的更多相关文章
- Selenium之利用Excel实现参数化
Selenium之利用Excel实现参数化 说明:我是通过Workbook方式来读取excel文件的,这次以登陆界面为例 备注:使用Workbook读取excel文件,前提是excel需要2003版本 ...
- xlrd的使用详细介绍以及基于Excel数据参数化实例详解
1.安装xlrd xlrd是python用于读取excel的第三方扩展包,所以在使用xlrd前,需要使用以下命令来安装xlrd.pip install xlrd 在使用这个命令之前先确定自己有没有安装 ...
- selenium利用Excel进行参数化(简单示例)
上篇搭建好环境后,正真开始我的自动化之旅了.... 开始之前特别说明一下testNG的版本,不能直接使用Eclipse直接线上下载的版本,线上版本太高,不能兼容,运行程序会报以下错误,需要自行下载低一 ...
- Selenium+excel实现参数化自动化测试
使用到的技术:POI对excel的解析.selenium自动化测试.junit 测试用例:登陆www.1905.com执行登陆-退出的操作 执行步骤: 1.首先创建一个excel,里面有用户名和密码列 ...
- [SoapUI] 设置Excel的第一行为自动过滤
import org.apache.poi.ss.util.* XSSFWorkbook workbook = new XSSFWorkbook() XSSFSheet sheet = workboo ...
- 接口自动化测试持续集成--Soapui接口功能测试参数化
按照自动化测试分层实现的原理,每一层的脚本实现都要进行参数化,自动化的目标就是要实现脚本代码与测试数据分离. 当测试数据进行调整的时候不会对脚本的实现带来震荡,从而提高脚本的稳定性与灵活度,降低脚本的 ...
- SoapUI+excel接口自动化测试简述
1.自动化测试工具介绍 由于系统前后端分离,所以接口测试势在必行,在接触了几天接口测试框架,包括postman.httpclient.loadrunner.soapUI等,下面具体讲讲最终决定使用so ...
- loadrunner参数化excel数据
LR参数化数据源Oracle,MSSQL,Excel参数化的方法: 重点介绍excel数据参数化的方法: 1.首先创建excel表格: 注意要写列明 2.创建excel表连接: 参数化完成后, ...
- 【QTP专题】05_参数化之Excel
QTP使用外部Excel实现参数化主要有以下两种方式 导入到DataTable中 Syntax:DataTable.ImportSheet(FileName, SheetSource, SheetDe ...
随机推荐
- Bluez SPP实现代码分析(转)
源:http://blog.csdn.net/walkingman321/article/details/7218705 本文分析蓝牙协议栈中蓝牙转串口(SPP)部分的实现. 1. 基本概念 Blu ...
- 采用多线程方式,解决由于查询等待造成winfrom假死问题
1.这里是触发一个比较耗时的操作,比如一次大数据量的查询: Thread thread = new Thread(new ThreadStart(DoWord)); thread.Start(); 2 ...
- BNU 51002 BQG's Complexity Analysis
模拟 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #incl ...
- svn switch 的用法
switch用于在同一个版本库内不同分支之间的切换relocate用于版本库访问地址变更时,重新定位版本库 比如,由于SVN服务器更换到另一台主机上,这是SVN服务器的地址改变了,那么各客户端就无法连 ...
- Cocos2dx 学习笔记整理----开发环境搭建
最近在学习cocos2dx,预备将学习过程整理成笔记. 需要的工具和环境整理一下: 使用的版本 cocos2dx目前已经出到了v3.1.1,学习和项目的话还是用2.2.3为宜,毕竟不大想做小白鼠,并且 ...
- Objective-c学习笔记3
objective-c代码块多并发 1.代码块对象是对C语言中函数的扩展,除了函数中的代码,代码块还包含有变量绑定,代码块有时也被称为闭包 2.代码块包含两种绑定类型,自动绑定使用的是栈空间,托管绑定 ...
- MYSQL最大连接数修改
MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两个 方法一:进入MYSQL安装目录 打开MYSQL配置文件 ...
- lua 函数
1.函数只有一个参数,且该参数为table 或 字符串时,调用函数可以省略() print"hello world" 同 print("hello world" ...
- C#常用网址
C# 编程指南 https://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx
- android——网络操作(一)连接网络
连接网络 一,包含许可 <uses-permissionandroid:name="android.permission.INTERNET"/> <uses-pe ...