WebService单元测试工具实例介绍之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:Web Service单元测试工具实例介绍之SoapUI

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

l       单个服务请求的运行

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

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

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

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

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

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

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

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

l       构建测试用例

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

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

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

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

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

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

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

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

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

l       增加检查点

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

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

检查点有多种类型,这里我们选择包含“Contains”并输入检查内容“中央电视台”:如图11Web Service单元测试工具实例介绍之SoapUI

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

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

可以看到检查点是有效的:Contains-VALID

l       组织测试步骤

将getAreaDataSet(获得支持的省市(地区)和分类电视列表)、(通过省市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

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

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

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

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

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

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

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

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

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

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:WebService单元测试工具实例介绍之SoapUI-创新互联
网页地址:http://ybzwz.com/article/djiigs.html