SoapUI 之 webService 接口测试 [5]
一、webservice接口实例说明
学习的话,大家可以自行到网上找 一些免费的webservice接口来练手。本文中选择实例为:中国电视节目预告(电视节目表) WEB 服务。
Endpoint : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx
Disco : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?disco
WSDL : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl
浏览器输入:http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx 即可获取到这个接口的相关说明,以下简单罗列下这个接口的相关业务。
[第一步] getAreaDataSet: 获得支持的省市(地区)和分类电视列表 DataSet。
输入参数:无;返回数据:DataSet,结构为:Item(areaID)=省市和分类电视ID,Ietm(Area)=省市和分类电视名称,Item(Zone)=所属地区。
[第二步] getTVstationDataSet: 通过省市ID或分类电视ID获得电视台列表 DataSet
输入参数:theAreaID = 省市ID或分类电视ID(Integer);返回数据:DataSet,结构为:Item(tvStationID)=电视台ID,Ietm(tvStationName)=电视台名称。
[第三步] getTVchannelDataSet : 通过电视台ID获得该电视台频道列表 DataSet
输入参数:theTVstationID = 电视台ID(Integer);返回数据:DataSet,结构为:Item(tvChannelID)=频道ID,Ietm(tvChannel)=频道名称。
[第四步] getTVprogramDateSet : 通过频道ID获得该频道节目列表 DataSet
输入参数:theTVchannelID = 频道ID(Integer),theDate=日期(String 格式:yyyy-MM-dd,如:2007-07-02,空则默认当天),userID=商业用户ID(String 免费用户不需要);返回数据:DataSet,结构为:Item(playTime)=播出时间,Ietm(meridiem)=PM或AM,Ietm(tvProgram)=节目信息,Item(tvStationInfo)=电视台信息。
二、创建soap项目,运行单个接口,能否跑通
1、右键Projects -->New SOAP Project ,在弹框界面的“initial WSDL” 输入实例的WSDL地址,点击ok。

2、[第一步]getAreaDataSet请求。参数无,点击运行,获得支持的省市(地区)和分类电视列表。

3、[第二步] getTVstationDataSet请求。参数输入[第一步]获取到的areaID:18(想查看湖南地区的,所以输入18),点击运行,获得电视台列表。

4、[第三步] getTVchannelDataSet请求。参数输入[第二步]获取到的tvStationID:98,点击运行,获得该电视台频道列表。

5、[第四步] getTVprogramDateSet请求。theTVchannelID输入[第三步]获取到的tvChannelID:290、theDate输入2019-11-11、userID没有商业用户选择不输入。点击运行,获得该频道节目列表。

三、构建测试用例,进行脚本优化,执行测试用例
1、右键 ChinaTVprogramWebService 工程-->New TestSuite,右键TestSuite-->New TestCase。
将上面第一步到第四步的request请求,拖动添加到Test Steps中,按第一步~第四步调整request请求的顺序如下。

2、第二、三、四步参数输入都依赖到了上一步的返回结果,这里进行下Property Transfer设置。
1) [第二步]getTVchannelDataSet请求。需要传入上一个请求获取到的areaID,这里插入Property Transfer进行如下设置:

这里说明下Source跟Target的XPath表达式是怎么来的:
a、获取到getAreaDataSet的response进行分析如下:

b、获取到getTVstationDataSet的request进行分析如下:

2) [第三步]getTVstationDataSet请求。需要传入需要传入上一个请求获取到的tvStationID,这里Property Transfer进行如下设置:

3) [第四步]getTVstationDataSet请求。需要传入上一个请求获取到的tvChannelID,这里Property Transfer进行如下设置:

3、继续优化脚本,将最后一个getTVstationDataSet请求中传入的theDate参数进行变量设置,并且进行变量引用
a、右键Test Steps-->Add Step-->Properties,然后设置变量date及赋值

b、双击getTVstationDataSet请求,将theDate传值为${Properites#date}

4、双击执行TestCase,测试完成。可自行查看测试结果。

SoapUI 之 webService 接口测试 [5]的更多相关文章
- 使用soapui进行webservice接口测试
一.web service(SOAP)与HTTP接口的区别 1.什么是web service WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远 ...
- SoapUI之webservice接口测试(一)
1.新建soap project 添加后出现接口内容 2.为了方便后续的测试,以防某些参数删除错了,这边需要新建测试集 3.点开新建的测试集可以发现,里面的内容跟原始测试集内容是一样的 然后就可以在这 ...
- SoapUI之http接口测试
SoapUI是一个开源测试工具,可以进行webservice/http协议的功能.负载.安全性测试.SoapUI pro是SoapUI的商业非开源版本,实现的功能会更多一点.一般的测试场景,用开源版本 ...
- jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包
一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...
- Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试
脚本开发- soap_request函数介绍及WebService接口测试 by:授客 QQ:1033553122 函数介绍 soap_request 函数执行一个SOAP请求 函数原型 int so ...
- 性能测试基础---jmeter webservice接口测试
·webservice接口测试实现.·SOA:面向服务的体系架构,主要为了应对大型系统的异构需求.典型的实现方式:webservice·微服务:为了对SOA这样的重服务架构进行解耦而存在的.一个or几 ...
- 基于soapUI构建WebService测试框架
基于soapUI构建WebService测试框架 http://www.docin.com/p-775523285.html
- webservice接口测试wsdl,参数是xml格式。python,入参转化成str,返回值转化成dict调用
1.用SoapUI测试webservice接口,传入参数是xml格式时.xml格式需要将xml的外围增加<![CDATA[xml]]> 2.但是用python去做webservice测试, ...
- webservice接口测试wsdl
http和webservice接口测试有什么区别? webservice的基础组成是http+xml 三要素:soap传输协议,uddi,wsdl(webservice描述语言xml格式) 优点:跨平 ...
随机推荐
- NSAttributedString可以强制转换为NSMutableAttributedString类型吗?下面这代码有什么问题 为什么报错
-(void)insetEmotion:(EmotionModel*)emotionModel{ if(emotionModel.code){ /** 在TextView中插入图片首选要知道光标的位置 ...
- 如何解决jpa 要求column 名称单词必须用下划线
[转]:http://www.jeesns.cn/article/detail/6657 先引出轮子http://blog.csdn.net/54powerman/article/details/76 ...
- JS 输出指定范围内的随机数
/* 自定义函数 */ function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random(); return( ...
- Kubernetes 时代的安全软件供应链
点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 汤志敏 阿里云 ...
- java调用webservice,比较简单方便的方法。
首先,请同学们自行了解webservice的基础知识. 个人理解,webservice约等于使用http+xml技术进行跨平台的数据交互. http和xml我们都很熟悉了,把他们两个组合到一起就是we ...
- java多线程与线程池
1. 场景描述 以前多线程也常用,这次因需再页面上用到多线程,如下图,总结下,有需要的朋友可以参考下. 2. 解决方案 2.1 线程池概念 线程池官方定义不说了,通俗说下:池子的概念,事先(预定义)创 ...
- AIOps产品与架构浅析【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- oracle逻辑存储结构
oracle数据库管理系统有三个重要的概念:实例.数据库.数据库服务器.oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构.逻辑存储结构用于描绘Oracle内部组织和管理数据的方式,而物理 ...
- Table表格滑过当前项[当前行][当前列]对应高亮
效果演示图: JS 代码如下: function TableHover($table){ $table.mouseenter(function(event) { va ...
- ZooKeeper初步
ZooKeeper 简介: 顾名思义 zookeeper 就是动物园管理员,他是用来管 hadoop(大象).Hive(蜜蜂).pig(小猪)的管理员, Apache Hbase 和 Apache S ...