Web Service单元测试工具实例介绍之SoapUI
原文 Web Service单元测试工具实例介绍之SoapUI
SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式。能够快速构建项目和组织测试用例是该工具的一大特性,下面将通过实例介绍如果使用SoapUI进行Web Service单元测试。
l 构建项目
SoapUI工具中的项目(Project)是由一个或多个Web Service组成的,这里我们以“中国电视节目预告 Web 服务:
http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl”为例,新建WSDL项目。点击FileèNew WSDL Project,输入项目名称“ChinaTV”,初始WSDL“
http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl”,如图1:690)this.width=690;" src="http://www.52testing.com/FUploadFile/0008.JPG">
其中WSDL可以是URL也可以是wsdl的静态文件。
l 单个服务请求的运行
SoapUI工具会解析WSDL文件获取服务接口,创建请求。如图2、3:该服务提供8个接口,并根据Soap的版本不同提供两种。
690)this.width=690;" src="http://www.52testing.com/FUploadFile/0009.JPG"> 690)this.width=690;" src="http://www.52testing.com/FUploadFile/00010.JPG">
展开接口“getTVstationDataSet”的Soap请求“Request 1”:
双击查看请求的SOAP消息:如图4
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00011.JPG">
我们看到的是服务请求Soap消息,其中的“?”问号代表的是入参,将其修改为请求入参值“-1”(本实例中,-1代表中央电视),然后点击图标 按钮运行,获得请求结果:如图5
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00012.JPG">
我们看到返回的Soap消息及其中的数据。
l 构建测试用例
选择项目“ChinaTV”并右键,选择New TestSuite,构建一个测试套件如图6
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00013.JPG">
然后,在TestSuite中右键,选择New TestCase,新建TestCase并将服务请求加入到TestCase中:如图7
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00014.JPG">
这样,我们拥有了第一个测试用例:如图8
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00015.JPG">
因为上述过程中已经设置了服务请求入参,所以这里我们双击TestCase 1点击 可以直接运行:如图9
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00016.JPG">
我们看到了“绿条”,这表示运行通过。
l 增加检查点
如图,打开服务请求getTVstationDataSet – Request 1,点击 ,添加检查点:如图10
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00017.JPG">
检查点有多种类型,这里我们选择包含“Contains”并输入检查内容“中央电视台”:如图11690)this.width=690;" src="http://www.52testing.com/FUploadFile/00018.JPG">
我们运行服务请求getTVstationDataSet – Request 1:如图12
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00019.JPG">
可以看到检查点是有效的:Contains-VALID。
l 组织测试步骤
将getAreaDataSet(获得支持的省市(地区)和分类电视列表)、getTVstationDataSet(通过省市ID或分类电视ID获得电视台列表)、 getTVchannelDataSet(通过电视台ID获得该电视台频道列表)、getTVprogramDataSet(通过频道ID获得该频道节目列表)依次加入到TestCase 1的测试步骤中去,然后组织测试步骤获取“CCTV-1”的节目列表。
测试步骤:
1、获得“中央电视”的分类ID“-1”
2、获取“中央电视”类别中的“中央电视台”ID:“39”
3、获取“中央电视台”的频道“CCTV-1”ID:“606”
4、获取“CCTV-1”频道的节目列表 如图13
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00020.JPG">
我们需要将服务请求getAreaDataSet结果中的“中央电视”ID“-1”作为服务请求getTVstationDataSet入参,右键点击getAreaDataSet-Request 1,选择Insert StepèProperty Transfer,如图14:
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00021.JPG">
这个Property Transfer用于两个服务请求间的交互,我们将其命名为:“AreaTransferStation”如图15
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00022.JPG">
Source中我们选择getAreaDataSet-Request 1的Response,Target中我们选择getTVstationDataSet-Request 1的Request,并通过脚本选择服务请求getAreaDataSet返回结果Soap消息中节点(AreaList[4])中(areaID[1])的值传递给服务请求getTVstationDataSet作为入参(theAreaID[1])的值。
其中:declare namespace diffgr=
"urn:schemas-microsoft-com:xml-diffgram-v1";用于声明命名空间,与SOAP消息中的命名空间对应。如图16
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00023.JPG">
同样的操作步骤,我们组织好其他几个服务请求间的交互,就组织完成了一个完整的测试步骤,最后我们运行TestCase,看到全部的运行结果:(绿色表示运行通过)如图17
690)this.width=690;" src="http://www.52testing.com/FUploadFile/00024.JPG">
注:soapui官方网站http://www.soapui.org/
Web Service单元测试工具实例介绍之SoapUI的更多相关文章
- 【转】Web Service单元测试工具实例介绍之SoapUI
转自:http://blog.csdn.net/oracle_microsoft/article/details/5689585 SoapUI 是当前比较简单实用的开源Web Service 测试工具 ...
- Web Service测试工具小汇
1..NET WebService Studio 这款工具出自微软内部,最大的优点是可视化很好,不用去看那些XML文件,WebService的基础内容就有XML,但是测试中Case过多,每次测试结果都 ...
- Web Service 性能测试工具比较
背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒).以微信服务器为例,每个用户用独立的登录token,做各种操作, ...
- 性能测试工具 Web Service 性能测试工具比较
[转自]https://testerhome.com/topics/3003 背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力 ...
- web service接口测试工具选型
1 简介 1.1 范围 1.2 目的 本文档用于指导测试部进行接口测试. 2013-03-11磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com ...
- 在SharePoint中无代码开发InfoPath应用: 一个测试Web Service的工具
这是这个系列的第一篇,介绍一个小工具,主要是用在Web Service测试的. 因为为了用一点高级的东西,就免不了和web service打交道. 你可以使用按照KB819267来修改web.conf ...
- JAVA开发Web Service几种框架介绍
郑重声明:此文为转载来的,出处已不知了,侵告删. 在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS( ...
- 通过ksoap2-android来调用Web Service操作的实例
import java.io.IOException; import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObjec ...
- 使用cxf写web service的简单实例
增加CXF依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>apache-cx ...
随机推荐
- freemarker定义自己的标签错误(八)
1.错误叙述性说明 freemarker.core.ParseException: Token manager error: freemarker.core.TokenMgrError: Unknow ...
- netfilter/iptables 结构要点
转载请注明:http://blog.csdn.net/yeasy/article/details/44311169 四张表,每一个表有若干链. filter INPUT(路由表决策后,到本机的进程) ...
- SVG图像技术摘要
该公司今天没有,研究了最近流行SVG技术,发现,随着css3不断流行,和浏览器技术的发展,SVG网站将取代大量的图片,成为主流站点图片展示. AI是我们经常使用的矢量图编辑器,如今AI能够直接另存SV ...
- 解决win10客户机本地账户登陆导致远程桌面没法访问问题
情景:客户机器如果是win10本地账户,我们远程桌面连接是可能会没法访问. 如果客户机器切换到win10 Microsoft账户登录,远程桌面就可以访问了(当然用户肯定不能给你说自己的Microsof ...
- Explicit keyword
说实话,从来没有感觉到这个keyword实用,直到今天. explicit的意思是明显的,和它相相应的一个词是implicit意思是隐藏的. 我參考了MSDN和<c++标准程序库>对这个k ...
- myeclipse解决JSP文件script调整背景颜色
1进口MyEclipse主题后,打开jsp要么html文件,jsvascript部分原因遭遇了一层白色的.闪避这个时候.症状,如下面: watermark/2/text/aHR0cDovL2Jsb2c ...
- 每天一个JavaScript实例-canvas绘图
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 设计模式Template Method模式(Template Method)摘录
23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例.怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化托付给还 ...
- Android之Http沟通——4.Android HTTP索取信息:HttpClient
本节介绍: 他谈到了部分HttpURLConnection.本节HttpClient该,Apache为我们提供HttpClient(简单的Http客户端),只是毕竟不是亲儿子.HttpClient在A ...
- .NET系统开发过程中积累的扩展方法
分享.NET系统开发过程中积累的扩展方法 .NET 3.5提供的扩展方法特性,可以在不修改原类型代码的情况下扩展它的功能.下面分享的这些扩展方法大部分来自于Code Project或是Stacko ...