一、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]的更多相关文章

  1. 使用soapui进行webservice接口测试

    一.web service(SOAP)与HTTP接口的区别   1.什么是web service WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远 ...

  2. SoapUI之webservice接口测试(一)

    1.新建soap project 添加后出现接口内容 2.为了方便后续的测试,以防某些参数删除错了,这边需要新建测试集 3.点开新建的测试集可以发现,里面的内容跟原始测试集内容是一样的 然后就可以在这 ...

  3. SoapUI之http接口测试

    SoapUI是一个开源测试工具,可以进行webservice/http协议的功能.负载.安全性测试.SoapUI pro是SoapUI的商业非开源版本,实现的功能会更多一点.一般的测试场景,用开源版本 ...

  4. jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包

    一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...

  5. Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试

    脚本开发- soap_request函数介绍及WebService接口测试 by:授客 QQ:1033553122 函数介绍 soap_request 函数执行一个SOAP请求 函数原型 int so ...

  6. 性能测试基础---jmeter webservice接口测试

    ·webservice接口测试实现.·SOA:面向服务的体系架构,主要为了应对大型系统的异构需求.典型的实现方式:webservice·微服务:为了对SOA这样的重服务架构进行解耦而存在的.一个or几 ...

  7. 基于soapUI构建WebService测试框架

    基于soapUI构建WebService测试框架 http://www.docin.com/p-775523285.html

  8. webservice接口测试wsdl,参数是xml格式。python,入参转化成str,返回值转化成dict调用

    1.用SoapUI测试webservice接口,传入参数是xml格式时.xml格式需要将xml的外围增加<![CDATA[xml]]> 2.但是用python去做webservice测试, ...

  9. webservice接口测试wsdl

    http和webservice接口测试有什么区别? webservice的基础组成是http+xml 三要素:soap传输协议,uddi,wsdl(webservice描述语言xml格式) 优点:跨平 ...

随机推荐

  1. PAT甲级专题|链表

    PAT链表专题 关于PAT甲级的链表问题,主要内容 就是"建立链表" 所以第一步学会模拟链表,pat又不卡时间,这里用vector + 结构体,更简洁 模拟链表的普遍代码 cons ...

  2. 复选框、单选框样式自定义(https://www.cnblogs.com/freedom-feng/p/11346396.html)

    复选框.单选框样式自定义(https://www.cnblogs.com/freedom-feng/p/11346396.html)复选框html内容如下:<input type="c ...

  3. pringBoot-MongoDB 索引冲突分析及解决【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  4. Git 如何优雅地回退代码

    前言 从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码.提交.合并等,更复杂的操作没有使用过, ...

  5. [TimLinux] JavaScript 引用类型——Date

    1. Date var now = new Date(); // 不传参数,获取当前日期.时间. now.getDay(); // 日期 now.getMonth(); // 月份 now.getFu ...

  6. 如何打造个人km知识管理系统

    经常有朋友会遇到这样一种情况,在网络中看到一篇很好的文章,但后来因为关键字想不起来,结果怎么都搜索不到.还有些朋友虽然平时也会做一些记录,把有用的资料进行保存,但他们往往将保存的资料分散在不同的地方, ...

  7. node-sass下载失败

    在angular项目中下载依赖npm install时提示node-sass安装失败,解决方法如下: 1.下载win32-x64-57_binding.node文件至指定目录 2.添加环境变量: 变量 ...

  8. poj 1679 The Unique MST (次小生成树模板题)

    Given a connected undirected graph, tell if its minimum spanning tree is unique. Definition 1 (Spann ...

  9. 图片验证码推导逻辑,Image.new,ImageDraw, ImageFont.truetype的用法

    #一, 创建图片并在图上添加文本 from PIL import Image,ImageDraw,ImageFont a = '我们不一样' # 定义文本 font = ImageFont.truet ...

  10. 区块链学习——HyperLedger-Fabric v1.0环境搭建详细教程

    相对与v0.6版本来说,1.0版本改变较大,此处不多说,只是将小白自己搭建1.0环境的过程分享给大家.希望对大家能有所帮助! 这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版 ...