`

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 文件获取服务接口,创建请求。如图23 :该服务提供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-1ID :“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 ResponseTarget 中我们选择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/

分享到:
评论

相关推荐

    SoapUI接口测试基础

    SoapUI是一款强大的接口测试工具,广泛应用于Web Service接口测试领域。本文将从Webservice的基本概念出发,深入探讨SoapUI工具的功能及其在接口测试中的应用。 #### 二、Webservice介绍 - **定义**:Webservice是...

    cxf+spring webService实例

    8. **测试和调试**:使用JUnit或其他测试工具对服务进行单元测试,确保其正确工作。还可以使用CXF的CXFProxy工具或soapUI这样的工具进行交互式测试。 在这个实例中,"webService"可能是包含源代码、配置文件或其他...

    官方JAVA web srevices教程

    - 对Web服务的测试包括单元测试和集成测试,可以使用工具如Apache CXF的WS-TestSuite或JUnit。 - 调试工具如SOAPUI可以帮助测试和调试SOAP和REST服务。 9. **部署与运行** - Web服务通常部署在应用服务器上,如...

    基于Axis2的WebService的实例demo(包含jar包)

    一旦服务部署完成,你可以通过WSDL(Web Service Description Language)文件来测试服务。 Axis2会自动生成WSDL,它描述了服务的接口、消息格式和地址。可以使用SOAP客户端如 SoapUI 或者 Axis2自带的TestClient...

    cxf框架实现webservice调用demo

    部署后,可以通过工具如SoapUI测试Web服务接口,或者在客户端代码中进行单元测试。 6. **其他功能**: CXF还提供了丰富的功能,如WS-Security(Web服务安全)、MTOM(Message Transmission Optimization Mechanism...

    java调用webservice(20211103125800).rar

    使用JUnit或其他测试框架编写单元测试,验证调用WebService的逻辑是否正确。同时,可以利用WireMock、SoapUI等工具模拟WebService,便于测试和调试。 综上所述,Java调用WebService涉及多个方面,包括选择合适的...

    WSDL结构分析详解汇总

    - 自动化工具如SOAPUI可以基于WSDL进行测试,验证服务的正确性和可用性。 6. **WSDL解析和生成** - 开发者可以手动编写WSDL,但更常见的是使用IDE(如Eclipse、IntelliJ IDEA)或工具(如Apache CXF、Microsoft ...

Global site tag (gtag.js) - Google Analytics