soapUI提供了完整的WebService相關測試功能以及介面,讓開發與測試WebService變得更容易
包括了呼叫WebService,建立測試案例, LoadTest ,建立Mock Service讓程式呼叫等等
在使用SOAPUI之前,須先對WebService的一些基本架構有些了解 :
WebService透過了WSDL (Web Service Definition Language)定義服務提供的介面,並經由架構在Http上的SOAP(Simple Object Access Protocal),來傳輸資料,所以在使用WebService之前,須先從url獲得服務定義的wsdl檔,再以SOAP呼叫服務,獲得回傳結果。
0.安裝soapUI
從http://www.soapui.org/下載安裝檔(這裡是使用 soapui-x32-3_5_1.exe , win32 installer)
1.建立Web Service Project
File => New soapUI Project選擇專案名稱以及WebService之wsdl定義檔,建立project。
2.呼叫WebService
匯入wsdl後,專案底下會顯示所有可以呼叫的operation開啟sample request或按右鍵新增Request,進入Request editor
於問號處填入要傳入WebService的參數,並按左上角的箭頭執行呼叫,並取得回傳訊息,這樣就完成WebService的呼叫了。
3.建立測試
建立TestCase:
於Request處按右鍵,選擇Add to Testcase或於專案建立新的TestSuite
設定用來測試的參數
設定Assertion:
定義在什麼樣的情況下測試算是成功:
點選Request Editor的Assertion
選擇加入Assertion,設定Assertion的種類,這裡選擇Contains,會偵測回傳結果中是否包含指定的字串
測試:
按左上角執行測試,可以點選整個TestSuite,執行所有的TestCase並取得結果
建立連續的測試案例
在有些情況下,會需要測試一連串的WebService步驟,並利用之前取得的結果作為下一個參數,在這裏我們可以利用TestCase的Property Transfer來移轉結果作為下一個Request的參數。
1.於TestCase Options勾選Maintain HTTP session
2.於TestCase加入Property Transfer步驟
3.可以用Xpath的方式取得結果內的參數,將其移轉到下一個Request
(如果回傳值為xml字串的話,可以先將結果設為property,再用Xpath把需要的參數轉移到其他Request)4.Run Testcase
參考資料:
如何建立一個Test Project以及測試SOAPUI入門
No comments:
Post a Comment