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/
分享到:
相关推荐
SoapUI是一款强大的接口测试工具,广泛应用于Web Service接口测试领域。本文将从Webservice的基本概念出发,深入探讨SoapUI工具的功能及其在接口测试中的应用。 #### 二、Webservice介绍 - **定义**:Webservice是...
8. **测试和调试**:使用JUnit或其他测试工具对服务进行单元测试,确保其正确工作。还可以使用CXF的CXFProxy工具或soapUI这样的工具进行交互式测试。 在这个实例中,"webService"可能是包含源代码、配置文件或其他...
- 对Web服务的测试包括单元测试和集成测试,可以使用工具如Apache CXF的WS-TestSuite或JUnit。 - 调试工具如SOAPUI可以帮助测试和调试SOAP和REST服务。 9. **部署与运行** - Web服务通常部署在应用服务器上,如...
一旦服务部署完成,你可以通过WSDL(Web Service Description Language)文件来测试服务。 Axis2会自动生成WSDL,它描述了服务的接口、消息格式和地址。可以使用SOAP客户端如 SoapUI 或者 Axis2自带的TestClient...
部署后,可以通过工具如SoapUI测试Web服务接口,或者在客户端代码中进行单元测试。 6. **其他功能**: CXF还提供了丰富的功能,如WS-Security(Web服务安全)、MTOM(Message Transmission Optimization Mechanism...
使用JUnit或其他测试框架编写单元测试,验证调用WebService的逻辑是否正确。同时,可以利用WireMock、SoapUI等工具模拟WebService,便于测试和调试。 综上所述,Java调用WebService涉及多个方面,包括选择合适的...
- 自动化工具如SOAPUI可以基于WSDL进行测试,验证服务的正确性和可用性。 6. **WSDL解析和生成** - 开发者可以手动编写WSDL,但更常见的是使用IDE(如Eclipse、IntelliJ IDEA)或工具(如Apache CXF、Microsoft ...