【转】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 :

其中WSDL 可 以是URL 也可以是wsdl 的静态文件。

l 单个服务请求的运行

SoapUI 工具会解析WSDL 文件获取服务接口,创建请求。如图2 、3 :该服务提供8 个接口,并根据Soap 的版本不同提供两种。

展开接口“getTVstationDataSet ”的Soap 请 求“Request 1 ”:

双击查看请求的SOAP 消 息:如图4

我们看到的是服务请求Soap 消 息,其中的“? ”问号代表的是入参,将其修改为请求入参值“-1” (本实例中,-1 代表中央电视),然后点击图标 按 钮运行,获得请求结果:如图5

我们看到返回的Soap 消 息及其中的数据。

l 构建测试用例

选择项目“ChinaTV ” 并右键,选择New TestSuite ,构建一个测试套件如图6

然后,在TestSuite 中 右键,选择New TestCase ,新建TestCase 并将服务请求加入到TestCase中: 如图7

这样,我们拥有了第一个测试用例:如图8

因为上述过程中已经设置了服务请求入参,所以这里我们双击TestCase 1 点击 可 以直接运行:如图9

我们看到了“绿条” , 这表示运行通过。

l 增加检查点

如图,打开服务请求getTVstationDataSet – Request 1 ,点击 , 添加检查点:如图10

检查点有多种类型,这里我们选择包含“Contains ”并输入检查内容“中央电视台”:如图11

我们运行服务请求getTVstationDataSet – Request 1 :如图12

可以看到检查点是有效的: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

我们需要将服务请求getAreaDataSet 结果中的“中央电视”ID “-1 ”作为服务请求getTVstationDataSet 入 参,右键点击getAreaDataSet-Request 1 , 选择Insert Step èProperty Transfer ,如图14 :

这个Property Transfer 用于两个服务请求间的交互,我们将其命名为:“AreaTransferStation ” 如图15

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

同样的操作步骤,我们组织好其他几个服务请求间的交互,就组织 完成了一个完整的测试步骤,最后我们运行TestCase ,看到全部的运行结果:(绿色表示运行通 过)如图17

注:soapui 官 方网站http://www.soapui.org/

时间: 2024-07-29 15:59:47

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

Web Service单元测试工具实例介绍之SoapUI

原文  Web Service单元测试工具实例介绍之SoapUI SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式.能够快速构建项目和组织测试用例是该工具的一大特性,下面将通过实例介绍如果使用SoapUI进行Web Service单元测试. l        构建项目 SoapUI工具中的项目(Project)是由一个或多个Web Service组成的,这里我们以“中国电视节目预告 Web 服务: http://www.webxml

Web Service测试工具小汇

最近一直在做WebService的测试,考虑到手工测试的困难,所以特意去寻找好的测试工具,现在做一个整理. 1..NET WebService Studio 这款工具出自微软内部,最大的优点是可视化很好,不用去看那些XML文件,WebService的基础内容就有XML,但是测试中Case过多,每次测试结果都去看XML文件,看一轮下来对个人的视力是个很大的损害. 从上图可以看到,操作上也很方便,只需要把Service部署到IIS后,在WSDL EndPoint中输入这个要测的Service的URL

Web Service 性能测试工具比较

背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒).以微信服务器为例,每个用户用独立的登录token,做各种操作,比如刷消息.发消息.看朋友圈等. 希望该性能测试工具符合如下要求: 1. 测试脚本能力,最好是Python/Ruby等最常用的2. 每个并发实例能使用不同参数3. CLI启动测试,这对自动化测试很重要4. Session支持,也就是第一个请求的响应,能用于后续请求的参数.6. 单个结点的并发数量高.

Web Service测试工具SOAPSonar免费下载及使用教程

原文来自龙博方案网http://www.fanganwang.com/product/1403 SOAPSonar是领先的服务测试和诊断解决方案,世界上有超过40,000份部署应用.SOAPSonar为基于HTTP,HTTPs, MQ 和 JMS协议的SOAP, XML, 和REST服务提供简单.直观和综合的测试.SOAPSonar测试框架容易部署,并提供功能.性能.一致性和安全性测试. 自始自终,Crosscheck Networks 都将SOAPSonar设计为综合的测试解决方案,在服务开发

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

[转自]https://testerhome.com/topics/3003 背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒).以微信服务器为例,每个用户用独立的登录token,做各种操作,比如刷消息.发消息.看朋友圈等. 希望该性能测试工具符合如下要求: 测试脚本能力,最好是Python/Ruby等最常用的 每个并发实例能使用不同参数 CLI启动测试,这对自动化测试很重要 Session支持,也就是第一个请

JAVA开发Web Service几种框架介绍

在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所提供的对Web Service服务的一种实现.)前面几项都为开源项目,而其中又以axis2与cxf所最为常用,Axis与XFire已随着技术不断的更替慢慢落幕,而目前也只有axis2和cxf官方有更新,Axis与XFire都已不再更新. 下面就分别介绍下这几个框架之间的区别,以便大家进行更好的选择:

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

import java.io.IOException; import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObject;import org.ksoap2.serialization.SoapSerializationEnvelope;import org.ksoap2.transport.HttpTransportSE;import org.xmlpull.v1.XmlPullParserException;

Web压力测试工具Siege介绍

Siege是我所用过的一款不错的网站压力测试工具,它可以非常容易地定制并发访问人数以及并发时间,安装.使用也非常方便,当然它是在Linux环境下使用的,下面来对它作一个介绍. 官方网址:http://www.joedog.org/ 下载网址:ftp://ftp.joedog.org/pub/,进入到ftp://ftp.joedog.org/pub/siege/下载最新版: siege-2.70.tar.gz . 安装解压:tar zxvf siege-2.70.tar.gz,进入到解压后的目录:

使用cxf写web service的简单实例

增加CXF依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>apache-cxf</artifactId> <version>${cxf.version}</version> <type>pom</type> </dependency> 创建服务接口 import javax.jws.WebService; @We