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/

时间: 2024-08-31 20:47:22

Web Service单元测试工具实例介绍之SoapUI的相关文章

JQuery团队打造的javascript单元测试工具QUnit介绍_jquery

什么是单元测试? 单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.单元测试主要是用来检验程式的内部逻辑,也称为个体测试.结构测试或逻辑驱动测试.通常由撰写程式码的程式设计师负责进行. 通常来说,程式設計師每修改一次程式就會進行最少一次單元測試,在編寫程式的過程中前後很可能要進行多次單元測試,以證實程式達到軟件規格書(en:Specification)要求的工作目標,沒有臭蟲:雖然单元测试不是什么必须的,但也不坏,這牽涉到專案管理的政策決定. -- 维基百科

Web Service 运行原理详细介绍_java

     利用清明小假期,温习了一遍Web Service的相关内容,对其工作原理进行了简要总结.以供有需求的朋友和自己日后参考.文章若有不当之处,敬请朋友们提出宝贵建议,以求共勉.       Web服务中,我们应该首先了解相关的术语含义:WSDL.UDDI....相关术语方面的介绍在此不再赘述,重点放在原理上. 在Web服务中,存在三个角色:服务提供者.服务请求者和服务中介,三者之间的关系如图1-1所示     实现一个完整的Web服务包括以下步骤:    ◆ Web服务提供者设计实现Web

SSB(SQLservice Service Broker) 入门实例介绍_MsSql

step 1:perpar database & data 复制代码 代码如下: use mastergoCreate database Inventorygouse InventorygoCreate table inventory(    TitleId nvarchar(6) not null,    Quantity int not null,    primary key (TitleId,Quantity));go insert inventory values ('pc1001',

SSB(SQLservice Service Broker) 入门实例介绍

step 1:perpar database & data复制代码 代码如下:use mastergoCreate database Inventorygouse InventorygoCreate table inventory(    TitleId nvarchar(6) not null,    Quantity int not null,    primary key (TitleId,Quantity));go insert inventory values ('pc1001',10

Linux操作系统web压力测试工具使用介绍

Linux操作系统在实际使用过程中,需要对操作系统进行web压力测试,通过测试我们可以知道服务器所承载的最大数据量,从而为我们进一步优化或是部署服务器做数据参考,哪么我们应该采用什么工具呢?今天风信网带大家来了解一下在Linux中常用的三种Web压力测试的工具使用. 三种工具分别是: linux webbench apache abjakarta-jmeter 下面我们将逐一进行讲解与说明各工作的使用方法,让大家能更好的掌握该技术! 如果你也有需要分享的经验,可以点击风信网链接传送门:http:

web service简单应用实例(1/4)

1.安装eclips教程e          需要安装eclipse v3.3或者以上版本,而且满足javaee开发.如果没有去http://www.eclipse.org下载javaee开发版本的eclipse ide(比如:eclipse-jee-helios-sr1-win32.zip).解压到路径c:eclipse.然后在桌面创建快捷方式.并创建默认工作空间c:workspace.运行eclipse并转到javaee开发透视图下:            eclipse的bug提示:在ec

运用C#创建一个.Net下的Web Service

web|创建 微软在其.net战略中,对其主推的Web Service做了大肆的宣扬.现在,Web Service正如火如荼地发展着,相关的各项新技术层出不穷.Web Service的发展正构筑着互联网时代美好的明天.在本文中,我将向大家介绍Web Service的一些基本知识.如何用C#建立一个Web Service.通过文章,我们还将对WSDL.UDDI以及未来的Web Service有一个大致的了解. 为什么需要Web Service? 以前,分布式的应用程序逻辑需要使用分布式的对象模型,

典型的Web Service结构

web 典型的Web Service结构(可乐 2001年11月01日 18:35) 典型的Web Service结构. 不管你的Web service是用什么工具,什么语言写出来的,只要你用SOAP协议通过HTTP来调用它,总体结构都应如下图所示.通常,你用你自己喜欢的语言(如VB 6或者VB.NET)来构建你的Web service,然后用SOAP Toolkit或者.NET的内建支持来把它暴露给Web客户.于是,任何语言,任何平台上的客户都可以阅读其WSDL文档,以调用这个Web serv

Web Service学习总结

Web service到底是什么,在什么情况下你应该使用Web service:      研究一下当前的应用开发程序,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的客户端应用程序.这当然不是因为客户端能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本.发布桌面应用程序成本很高,一半是因为应用程序安装和配置的问题,另一半是因为客户端和服务器之间通信的问题.      传统的Windows客户应用程序使用DCOM来与服务器进行通信和调用远程对象.配置好DCOM使其在一个大型