SoapUI模拟客户端和服务端

去年年底接手的一个模块测试任务中,涉及到了WebService。然而服务端提供的测试数据极其少,所以就利用SoapUI模拟服务端,来测试客户端的程序。

SoapUI的安装
  • SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。
    下载路径:https://www.soapui.org/
  • 因为实际的项目不适合拿出来分享,所以就在网上找了资源,在这里也分享给大家。使用的接口实例是中国电视节目表WEB服务WSDL地址:http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl
模拟客户端

1.打开SoapUI>File>New SOAP Project,新建Soap工程。
新增soap工程.png

2.填入工程的信息。
创建Soap工程界面.png

3.创建测试包。
创建TestTusite.png

点击OK之后会弹出创建TestSuite的界面。

  • One TestCase for each Operation:为每个接口的请求都创建一个测试用例。
  • Single TestCase with one Request for each Operation:讲所有的接口请求放在一个测试用例里。
  • Create new empty request:创建一个空的请求。
  • Operations:WSDL里的接口都会在这里显示,可以勾选选择要测试的接口方法。
  • Generate LoadTests:为每个创建好的测试用例生成一个默认的负载测试用例。

    4.至此SoapUI模拟客户端已经完成。项目结构如下:
    CTV工程.png
  • ChinaTVprogramWebServiceSoap和ChinaTVprogramWebServiceSoap12:是根据Soap的版本不同提供了两种接口。
  • 2 TestSuite:勾选了“Single TestCase with one Request for each Operation”生成的测试用例。
  • CTV TestSuite:勾选了“One TestCase for each Operation”生成的测试用例。
运行客户端请求

打开getTVchannelDateSet请求,请求编辑器分为三个部分:1.顶部的工具栏以及端口地址;2.左侧的请求区域;3.右侧的响应区域。
request.png

接口getTVchannelDataSet的请求中“?”表示要入参,若不入参,运行则会出错。
无入参出错.png
输入正确的参数之后,再运行就会得到返回值。
入参得到返回值.png
模拟服务端

1.在模拟的客户端基础上,右击ChinaTVprogramWebServiceSoap>Generate Soap Mock Service。
创建soap mock service.png

2.创建mock service。
mock service创建界面.png
  • Operations:接口都会在这里显示,可以勾选选择要生成mock service的接口方法。
  • path&port:端口地址。运行用例时的端口地址必须与这里一致。

    3.双击打开getTVchannelDateSet的服务端,左侧即是自动生成的服务端报文。
    mock service.png

    4.双击打开生成的服务端设置,点击工具栏的设置按钮(如下图所示),可以进行修改服务端的path&port等参数。
    修改mock service设置.png
客户端服务端联调测试

为了更好地体现效果,我们先把服务端接口方法getTVchannelDateSet的返回报文修改为“Test”。如下图所示:
修改服务端报文.png

1.发布服务端。点击下图所示的执行按钮:
执行服务端.png

2.修改客户端的端口地址,与服务端一致。并执行请求,得到客户端的返回值。
接收服务端返回值.png

到这里一个用SoapUI模拟的客户端和服务端就完成了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容