最近的項目中,一直要使用到WebService,為了測試自己編寫的WebService,就找了一個叫Storm的小工具。它幫了我很大的忙,所以我和大家分享一下。
是一款用於測試Web服務的免費並且開源的工具。是用F#編寫的,如果感興趣的話,你可以在codeplex上找到它的源碼。
Storm特性:
- 可以測試.NET、Java等多種編程語言所寫的Web服務;
- 動態調用Web服務方法,即使需要輸入和復雜數據類型;
- 節約開發時間和花費(僅僅為測試Web服務而開發throw-away測試客戶端太過浪費);
- 在一個UI中測試多個Web服務;
- 編輯、控制原始SOAP請求;
- 其它(自己探索,樂趣更多!)。
運行環境 : .NET 2.0及以上,F# 1.9.3.14 (可選)
Storm快速上手:
- 添加一個WebService(如下圖一所示):點擊添加,輸入wsdl的endpoint url,比如
- http://www.deeptraining.com/webservices/weather.asmx
- http://api.google.com/GoogleSearch.wsdl - 選擇一個Web方法:讓storm分析這個web方法,然后給出調用這個方法所需的參數。
- 選擇一個Web方法參數,並且輸入必要的值。
- 點擊GO(綠色箭頭按鈕):調用web方法。(結果如下圖二所示)
圖一: 添加WebServie
圖二 : 調用WebServe方法返回結果
Storm快捷操作:
- 加載WebService並且測試它的方法
-
- 在工具欄中點擊ADD
- 提供Wsdl的endpoint Url
- 點擊GO(綠色箭頭按鈕)
- 選擇一個Web方法或點擊右鍵,並在新標簽頁中打開它
- 點擊SEND
- 保存SOAP請求作為測試用例
-
- 打開WebService
- 在樹視圖中(閃電圖標),選擇一個Web方法
- 點擊SEND
- 在SOAP輸入框中,切換到“原始視圖”或“XML視圖”
- 編輯數據
- 點擊SAVE。選擇“Test Data”選項,填寫測試用例的標簽,附注等。點擊OK
- 現在,原始的SOAP請求消息將是該項目的一部分
- 同樣,你可以在SOAP響應輸出框中用步驟4-7保存SOAP響應作為預期響應。
- 保存當前會話為storm項目
-
- 假設你已經打開了一個帶或不帶測試用例的WebService
- 點擊工具欄中的SAVE按鈕
- 填寫項目名稱,單擊OK:將創建下列文件結構
{File} StormProject.stormproj
- {Folder} ServiceName
- {Folder} WebMethod
- {Folder} TestCaseName
- {File} TestInputLabel_testinput.xml
- {File} WebMethod_test.config
- {File} ServiceName_ws.config
- 載入已保存的Storm項目
-
- 創建一個storm項目
- 在工具欄中單擊OPEN,選擇已創建的storm項目文件
- 點擊OK:加載WebService和所有測試用例。
- 執行已保存的測試用例
-
- 打開一個storm項目
- 右擊一個測試用例節點。選擇Run/EDIT:這將打開一個新標簽頁
- 根據需要編輯測試輸入(點擊Edit圖標)
- 點擊RUN來調用Web方法
- 如果是綠色,就意味着實際響應和預期響應一樣
- 發送多個數組項
-
- 加載WebService
- 選擇一個接受數組為輸入參數的Web方法
- 點擊“樹視圖”,編輯
- 點擊RUN來調用Web方法
- 切換到“原始視圖”。根據需要編輯SOAP請求,只要你喜歡,你可以添加任意多的數組項。但是要確保,你編輯后,SOAP請求還是正確的XML格式。(可以使用XML視圖確認。)
- 發送多個成員數組項
-
- 加載WebService
- 選擇一個接受類作為輸入參數的Web方法(這個類含有數組成員)
- 點擊“樹視圖”(閃電圖標)
- 選擇類:彈出對象編輯框
- 在對象編輯框中,選擇數組成員
- 添加數組項