一、簡介
1、JMeter3.2前的版本,可以使用SOAP/XML-RPC Request插件直接進行webservice接口,而3.2后的版本則已經取消了這個接口,需要另外的方法才能進行測試。
2、Web service一般就是用SOAP協議通過HTTP來調用它,其實他就是一個WSDL文檔,客戶都可以閱讀WSDL文檔來用這個Web service。
SOAP簡單的理解,就是這樣的一個開放協議SOAP=RPC+HTTP+XML:采用HTTP作為底層通訊協議;RPC作為一致性的調用途徑,XML作為數據傳送的格式,允許服務提供者和服務客戶經過防火牆在INTERNET進行通訊交互。
所以其實我們是可以通過一些方法來通過,jmeter中的http請求來測試webservice.
二、使用jmeter里的http請求測試
這里使用天氣預報接口來測試:
測試的URL:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
測試接口:getSupportCityString
獲取城市的編碼:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionDataset
目前WebService的協議有soap1.1和soap1.2版本。
這里使用soap1.1做個演示。
這里輸入參數:theRegionCode = 省市、國家ID或名稱,返回數據:一維字符串數組。
1、以下是 HTTP GET 請求和響應示例。
jmeter接口調用示例如下,參數為河北:
注意:http信息頭管理器需要填入Content-Type(必填)或者SOAPAction,而SOAPAction不是必須填的信息。
2、以下是 HTTP POST 請求和響應示例。
jmeter接口調用示例如下,參數為河北:
注意:這里的Content-Type和get的不一樣,別忘了修改。
查看結果樹,兩種請求方式的返回結果都如下圖: