測試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、運行程序bin\soapui-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信息
- 查看結果樹-運行,查看運行結果