测试webservice接口(soap类型接口)
一、webservice协议的本质
一个经过封装的post类型的HTTP请求
Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。
SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。
所以其实我们是可以通过一些方法来通过,jmeter中的http请求来测试webservice.
只需要借助http信息头管理器两个参数Content-Type和SOAPAction。
二、如何做webservice接口请求
(1)工具:jmeter、postman、soapui、python代码等
(2)怎么知道是webservice请求?
- 接口请求地址的后缀是wsdl
- 报文是xml文件
(3)怎么根据webservice协议的报文获取接口的地址
通过soapui工具获取,soapui能够帮助用户通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试
通过webservice报文中的operation name可以确定报文中有多少个接口
如何使用soapui
- soapUI的安装(1、下载破解版文件并解压,双击SoapUI-x64-5.4.0-EB.exe程序进行安装。2、拷贝破解包中的Protection-4.6.jar包到soapui安装的lib目录下替换原来的文件。3、运行程序binsoapui-pro.bat,导入scz.key。4、打开软件即破解完成)
- 在桌面双击运行soapUI工具
- 点击单行兰上的SOAP按钮
- 导入webservice的报文
- 每个文件中的request即是每个webservice接口请求的参数(导航栏中的地址即为接口请求的地址)
(4)jmeter中调试脚本
- 测试计划-Threads(users)-线程组
- sample-HTTP请求(接口地址:soapui中导航栏上的地址,请求方式:post,请求体:请求参数是XML类型,放到Body Data中)
-
http信息头管理器需要填入Content-Type(必填)或者SOAPAction,而SOAPAction不是必须填的信息。
这两个数据要从soapUI中进行获取。当蓝色划线显示不为"http://"开头的信息时,这个soapAction的信息就不是必填的。
-
在http信息头管理器中,我们需要填入Content-Type信息
- 查看结果树-运行,查看运行结果