關於soapui簡介與入門
SoapUI簡介
SoapUI是一個開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/符合性測試。該工具既可作為一個單獨的測試軟件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。
SoapUI是一個自由和開放源碼的跨平臺功能測試解決方案。通過一個易於使用的圖形界面和企業級功能,SoapUI讓您輕松, 快速創建和執行自動化功能、回歸、合規和負載測試。在一個測試環境,SoapUI提供完整的測試覆蓋,並支持所有的標準協議和技術。
SoapUI 基於Java 開發,支持多個平臺,安裝非常簡單。
SoapUI下載地址:https://www.soapui.org/,下載開源版SoapUI,SoapUI Pro是SoapUI的商業非開源版本
入門實例解析
使用的接口實例是中國電視節目表WEB服務
WSDL地址:http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl
Endpoint地址:http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx
通過案例講解,能夠掌握以下幾個方面的操作:
1.構建項目
2.運行單個請求
3.構建測試用例
4.接口之間傳遞參數
5.運行整個測試用例
1.構建項目
1.打開SoapUI軟件>File>New SOAP Project,新建工程
2.填入工程名和WSDL地址,WSDL地址為:http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl
構選上“Create Requests”項目會根據WSDL文件創建接口請求文件;構選上“Create TestSuite”就會給WSDL創建一個測試套件
3.點擊OK後就已經創建好一個工程了,自動添加WSDL裏面有的接口,根據Soap 的版本不同提供了兩種接口,如下圖所示:
接口業務:
getAreaDataSet:獲得支持的省市(地區) 和分類電視列表
getTVstationDataSet:通過省市ID 或分類電視ID 獲得電視臺列表
getTVchannelDataSet :通過電視臺ID 獲得該電視臺頻道列表
getTVprogramDataSet : 通過頻道ID 獲得該頻道節目列表
在此處需要註意的是:除getAreaDataSet接口不需要入參,最後三個接口是需要輸入參數的,接口getTVstationDataSet的請求中“?”表示要入參,如下圖所示:
若不入參,運行會出錯,會出現如下所示錯誤信息:
運行單個請求
1.選擇getAreaDataSet下的Request1,雙擊,點擊運行按鈕,就會出現右側面板中的結果,獲得到支持的省市(地區) 和分類電視列表,如下圖所示:
關於地區分布的具體信息顯示出來了
2.選擇getTVstationDataSet下的Request1,雙擊,把中間面板中的?替換成省市ID或分類電視ID -1,點擊運行按鈕,就會出現右側面板中的結果,獲得電視臺列表,如下圖所示:
3.選擇getTVchannelDataSet 下的Request1,雙擊,把中間面板中的?替換成電視臺ID98,點擊運行按鈕,就會出現右側面板中的結果,獲得頻道列表,如下圖所示:
4.選擇getTVprogramDataSet 下的Request1,雙擊,把中間面板中的?替換成頻道ID292,點擊運行按鈕,就會出現右側面板中的結果,獲得該頻道節目列表
構建測試用例
1.創建測試套件:選擇項目“CTV”右鍵點擊“New TestSuite”,可輸入測試名,如下圖所示
右擊項目
為你的測試項目創建一個名字
2.創建完成,接下來就只要把你寫好的測試用例添加到你的測試項目中去
創建好之後,新建的TestCase中包含三個部分:
測試步驟:Test Steos 負載測試:Load Tests 安全測試:Security Tests 3.把請求添加到測試用例中:選擇一個請求,然後右鍵點擊“Add to TestCase”,然後在彈出窗口中選擇我們剛才新建的"TestSuite 1"即可,如下圖所示:
添加完成
4.運行測試:打開TestCase窗口,點擊綠色運行按鈕即可,綠色表示運行成功,運行結果在右面板下方,如下圖所示:
如果充滿了原諒色 ,那麽恭喜你 成功了 如果是紅色 , 那麽就肯定有問題拉!!!
5.增加檢查點
①在測試步驟中打開服務求請求,如下圖所示:
點擊 add
接口之間傳遞參數,組織測試步驟
getAreaDataSet:獲得支持的省市(地區) 和分類電視列表
getTVstationDataSet:通過省市ID 或分類電視ID 獲得電視臺列表
getTVchannelDataSet :通過電視臺ID 獲得該電視臺頻道列表
getTVprogramDataSet : 通過頻道ID 獲得該頻道節目列表
依次加入到TestCase 1 的測試步驟中去,然後組織測試步驟獲取“CCTV-1”的節目列表
具體的測試步驟為:
1.獲得 “中央電視 ” 的分類ID “-1”
2.獲得“中央電視”雷別中的“中央電視臺”ID:“39”
3.獲得“中央電視臺”的頻道“CCTV-1”ID:“606”
4.獲得“CCTV-1”頻道的節目列表
1.先將請求依次添加到用例中,如下圖所示:
2.添加入參操作,用於兩個服務請求間的交互,如下圖所示:
將服務請求getAreaDataSet 結果中的“北京市”ID“-1 ”作為服務請求getTVstationDataSet 入參
獲取 北京的值 為 -1
右側面板上部分中輸入如下代碼,//並不是註釋,只是表相對路徑,(getAreaDataSet 結果)
1 declare namespace diffgr="urn:schemas-microsoft-com:xml-diffgram-v1";
2 //diffgr:diffgram/Area/AreaList[4]/areaID[1]
右側面板下部分中輸入如下代碼(getTVstationDataSet 入參)
1 declare namespace web="http://WebXml.com.cn/";
2 //web:getTVstationDataSet/web:theAreaID[1]
輸入之後點擊運行就可以出來了
獲取上述代碼的方法:
上半部分getAreaDataSet 結果獲取:
獲取地方節目的值 39
右側面板上部分中輸入如下代碼(getTVstationDataSet 結果)
1 declare namespace diffgr="urn:schemas-microsoft-com:xml-diffgram-v1";
2 //diffgr:diffgram/Station/TvStation[1]/tvStationID[1]
右側面板下部分中輸入如下代碼(getTVchannelDataSet 入參)
declare namespace web="http://WebXml.com.cn/";
//web:getTVchannelDataSet/web:theTVstationID[1]
結果
將服務請求getTVchannelDataSet 結果中的“cctv”ID“606 ”作為服務請求getTVprogramDataSet 入參
最後的到想要的值
接下來 把所有的用例都執行一遍
執行通過
也可以在用例上添加檢查點 這個就隨意了
檢查點是如何設置的話 上面有詳細的信息 可以去上面查看 ...
希望我的這一點小小的心得能給你們帶來幫助.
關於soapui簡介與入門