1. 程式人生 > >soapUI工具使用方法、簡介、介面測試

soapUI工具使用方法、簡介、介面測試

一、soapUI簡介

SOAP:

      WebService通過Http協議傳送請求和接收結果時,傳送的請求內容和結果內容都採用XML格式封裝,並增加了一些特定的HTTP訊息頭,以說明HTTP訊息頭的內容格式,這些特定的HTTP訊息頭和XML內容格式就是SOAP協議。SOAP提供了標準的RPC方法來呼叫WebService。

  SOAP協議 = HTTP協議 + XML資料格式

  SOAP協議定義了SOAP訊息的格式,SOAP協議是基於HTTP協議的,SOAP也是基於XML和XSD的,XML是SOAP的資料編碼方式。打個比喻:HTTP就是普通公路,XML就是中間的綠色隔離帶和兩邊的防護欄,SOAP就是普通公路經過加隔離帶和防護欄改造過的高速公路。

WSDL:

        好比我們去商店買東西,首先要知道商店裡有什麼東西可買,然後再來購買,商家的做法就是張貼廣告海報。 WebService也一樣,WebService客戶端要呼叫一個WebService服務,首先要有知道這個服務的地址在哪,以及這個服務裡有什麼方法可以呼叫,所以,WebService務器端首先要通過一個WSDL檔案來說明自己家裡有啥服務可以對外呼叫,服務是什麼(服務中有哪些方法,方法接受的引數是什麼,返回值是什麼),服務的網路地址用哪個url地址表示,服務通過什麼方式來呼叫。

       WSDL(Web Services Description Language)就是這樣一個基於XML的語言,用於描述Web Service及其函式、引數和返回值。它是WebService客戶端和伺服器端都能理解的標準格式。因為是基於XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的,這將是一個很大的好處。一些最新的開發工具既能根據你的Web service生成WSDL文件,又能匯入WSDL文件,生成呼叫相應WebService的代理類程式碼。

       WSDL檔案儲存在Web伺服器上,通過一個url地址就可以訪問到它。客戶端要呼叫一個WebService服務之前,要知道該服務的WSDL檔案的地址。WebService服務提供商可以通過兩種方式來暴露它的WSDL檔案地址:1.註冊到UDDI伺服器,以便被人查詢;2.直接告訴給客戶端呼叫者。

  WebService的工作呼叫原理:對客戶端而言,我們給這各類WebService客戶端API傳遞wsdl檔案的url地址,這些API就會創建出底層的代理類,我呼叫這些代理,就可以訪問到webservice服務。代理類把客戶端的方法呼叫變成soap格式的請求資料再通過HTTP協議發出去,並把接收到的soap資料變成返回值返回。對服務端而言,各類WebService框架的本質就是一個大大的Servlet,當遠端呼叫客戶端給它通過http協議傳送過來soap格式的請求資料時,它分析這個資料,就知道要呼叫哪個java類的哪個方法,於是去查詢或建立這個物件,並呼叫其方法,再把方法返回的結果包裝成soap格式的資料,通過http響應訊息回給客戶端。

   SoapUI是專門針對webservice介面的測試工具,在對同一個webservice介面進行測試時,SoaqUI表現出來的效能更優越、更真實、更接近地反映介面的效能指標,對於SoapUI來說,提供的結果資料分析不如LR那麼詳細與全面。

二、安裝

在bin下執行

如果沒有成功,就用超級管理員許可權。

 Demo

首先新建一個SoapUI Project,在Initial WSDL/WADL中輸入wsdl的地址

Project建立好後,SoapUI會根據WSDL的格式生成左邊的列表樹,包括CUX_0_WS_SERVER_PRG_Binding為WSDL Binding,INVOKEFMSWS為Binding中的Operation。雙擊Request1就能看到Soap請求報文的內容。

在請求報文中填寫必要的請求資訊,並在左下角的Request Properies中輸入使用者名稱,密碼及WSS-Pasword Type,再點選綠色的執行按鈕,就能在右側生成Soap響應報文。

只是對SoapUI 做了簡單的介紹,主要用其來檢視web service提供的介面,以及返回的結果,SoapUI的功能遠不止這些,其可以對web service進行功能上和效能上的測試。


SoapUI的引數說明:http://www.soapui.org/Working-with-soapUI/preferences.html

進一步瞭解可以閱讀:http://www.51testing.com/ddimg/uploadsoft/20100204/SoapUI.pdf

另外分享幾個公開的Webservice站點,你可以隨便招幾個服務來測試

http://www.webservicex.net/WS/wscatlist.aspx

http://www.service-repository.com/

http://www.webxml.com.cn/zh_cn/index.aspx

 

根據此工具,檢視http log,抓取報文,模擬http請求搞定