原文  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的更多相关文章

  1. 【转】Web Service单元测试工具实例介绍之SoapUI

    转自:http://blog.csdn.net/oracle_microsoft/article/details/5689585 SoapUI 是当前比较简单实用的开源Web Service 测试工具 ...

  2. Web Service测试工具小汇

    1..NET WebService Studio 这款工具出自微软内部,最大的优点是可视化很好,不用去看那些XML文件,WebService的基础内容就有XML,但是测试中Case过多,每次测试结果都 ...

  3. Web Service 性能测试工具比较

    背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒).以微信服务器为例,每个用户用独立的登录token,做各种操作, ...

  4. 性能测试工具 Web Service 性能测试工具比较

    [转自]https://testerhome.com/topics/3003 背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力 ...

  5. web service接口测试工具选型

    1  简介 1.1   范围 1.2   目的 本文档用于指导测试部进行接口测试. 2013-03-11磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com ...

  6. 在SharePoint中无代码开发InfoPath应用: 一个测试Web Service的工具

    这是这个系列的第一篇,介绍一个小工具,主要是用在Web Service测试的. 因为为了用一点高级的东西,就免不了和web service打交道. 你可以使用按照KB819267来修改web.conf ...

  7. JAVA开发Web Service几种框架介绍

    郑重声明:此文为转载来的,出处已不知了,侵告删. 在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS( ...

  8. 通过ksoap2-android来调用Web Service操作的实例

    import java.io.IOException; import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObjec ...

  9. 使用cxf写web service的简单实例

    增加CXF依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>apache-cx ...

随机推荐

  1. secureCRT使用退格键(backspace)出现^H解决的方法

    刚新装了python-3.4.1,使用secureCRT连接上去,可是我在进入后,输入回格键时,屏幕显示的是^H,这个让人受不了.最终在网上找到了解决的方法,仅仅要改动一下secureCRT的配置就可 ...

  2. 有意练习--Rails RESTful(一)

    书要反复提及<哪里有天才>在说,大多数所谓的天才是通过反复刻意练习获得. 当你的练习时间达到10000几个小时后,.你将成为该领域的专家. 近期在学习rails怎样实现RESTful We ...

  3. Visual Studio Team Services使用教程--默认团队checkin权限修改

  4. uva 10825 - Anagram and Multiplication(暴力)

    题目链接:uva 10825 - Anagram and Multiplication 题目大意:给出m和n,要求找一个m位的n进制数,要求说该数乘以2~m中的随意一个数的结果是原先数各个位上数值的一 ...

  5. 如何生成可变表头的excel(转)

    1.实现功能: 传入一个表头和数据,将数据导入到excel中. 为了便于项目的扩展,数据传入通过泛型集合传入,获取数据时,通过反射的方式获取,这样无论你的表头是多少项,我都能很方便的生成.另外为了便于 ...

  6. MySQL SQL分析(SQL profile)

    分析SQL优化运营开销SQL的重要手段.在MySQL数据库.可配置profiling参数启用SQL分析.此参数可以在全局和session水平集.级别则作用于整个MySQL实例,而session级别紧影 ...

  7. 在线maven仓库

    findmaven.net是一个查找Jar和查找Maven的Maven仓库搜索引擎,它能够依据Java开发人员提供的Class名或者Jar名找到包括它的Jar,同一时候提供Jar的Maven仓库链接, ...

  8. SpringMVC上传下载

    springmvc上传和下载功能 写在一个简单的示例在线基准码 1.导入的必要性jar包:ant.jar.commons-fileupload.jar.connom-io.jar. 当然spring ...

  9. Mencached使用

    Mencached使用小记 该文章简单记录一下在Windows平台下安装与配置Memcached的方法,Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. ...

  10. Android 使用DexClassLoader要执行其他apk方法

    Android在apk文件dex文件是java编译出来.class次打包,当然在打包之前会利用自己的协议做一些数据处理,比如优化函数表和变量表.在java程序中是使用classloader来载入这些编 ...