SoapUI簡介和入門實例解析

分類:IT技術 時間:2017-09-26

SoapUI簡介

SoapUI是一個開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/符合性測試。該工具既可作為一個單獨的測試軟件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。

SoapUI是一個自由和開放源碼的跨平臺功能測試解決方案。通過一個易於使用的圖形界面和企業級功能,SoapUI讓您輕松, 快速創建和執行自動化功能、回歸、合規和負載測試。在一個測試環境,SoapUI提供完整的測試覆蓋,並支持所有的標準協議和技術。

SoapUI 基於Java 開發,支持多個平臺,安裝非常簡單。

SoapUI下載地址:https://www.soapui.org/,下載開源版SoapUI,SoapUI ProSoapUI的商業非開源版本

入門實例解析

使用的接口實例是中國電視節目表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.打開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或分類電視ID18,點擊運行按鈕,就會出現右側面板中的結果,獲得電視臺列表,如下圖所示:

3.選擇getTVchannelDataSet 下的Request1,雙擊,把中間面板中的?替換成電視臺ID98,點擊運行按鈕,就會出現右側面板中的結果,獲得頻道列表,如下圖所示:

4.選擇getTVprogramDataSet 下的Request1,雙擊,把中間面板中的?替換成頻道ID292,點擊運行按鈕,就會出現右側面板中的結果,獲得該頻道節目列表

 

構建測試用例

1.創建測試套件:選擇項目“CTV”右鍵點擊“New TestSuite”,可輸入測試名,如下圖所示

2.創建測試用例Test case,選擇測試套件“TestSuite 1”右鍵點擊“New TestCase”,如下圖所示:

 

創建好之後,新建的TestCase中包含三個部分:

測試步驟:Test Steos 負載測試:Load Tests 安全測試:Security Tests

3.把請求添加到測試用例中:選擇一個請求,然後右鍵點擊“Add to TestCase”,然後在彈出窗口中選擇我們剛才新建的"TestSuite 1"即可,如下圖所示:

執行操作後,就已經創建好了一條測試用例,如下圖所示:

4.運行測試:打開TestCase窗口,點擊綠色運行按鈕即可,綠色表示運行成功,運行結果在右面板下方,如下圖所示:

5.增加檢查點

①在測試步驟中打開服務求請求,如下圖所示:

②點擊+號,添加檢查點,選擇Recently used>Contains>Add,如下圖所示:

③輸入檢查的內容,如下圖所示:

④然後運行服務請求,在“Assertions”窗口中可以看到“Contains - VALID”說明檢查點是有效的,如下圖所示:

 

接口之間傳遞參數,組織測試步驟

getAreaDataSet:獲得支持的省市(地區) 和分類電視列表
getTVstationDataSet:通過省市ID 或分類電視ID 獲得電視臺列表
getTVchannelDataSet :通過電視臺ID 獲得該電視臺頻道列表
getTVprogramDataSet : 通過頻道ID 獲得該頻道節目列表

依次加入到TestCase 1 的測試步驟中去,然後組織測試步驟獲取“湖南金鷹卡通”的節目列表

具體的測試步驟為:

①獲得“中央電視”的分類ID “18 ”

②獲取“中央電視”類別中 的“中央電視臺”ID :“98 ”

③獲取“中央電視臺”的頻 道“湖南金鷹卡通 ”ID :“292 ”

④獲取“湖南金鷹卡通”頻道的節目列表

1.先將請求依次添加到用例中,如下圖所示:

2.添加入參操作,用於兩個服務請求間的交互,如下圖所示:

將服務請求getAreaDataSet 結果中的“湖南省”ID“18 ”作為服務請求getTVstationDataSet 入參

創建好之後,雙擊,彈出如下圖所示界面,輸入參數值:

右側面板上部分中輸入如下代碼,//並不是註釋,只是表相對路徑,(getAreaDataSet 結果)

declare namespace diffgr="urn:schemas-Microsoft-com:xml-diffgram-v1";
//diffgr:diffgram/Area/AreaList[22]/areaID[1]

右側面板下部分中輸入如下代碼(getTVstationDataSet 入參)

declare namespace web="http://WebXml.com.cn/";
//web:getTVstationDataSet/web:theAreaID[1]

點擊運行,即可看到是否成功,成功如下圖所示:

 

獲取上述代碼的方法:

上半部分getAreaDataSet 結果獲取:

下半部分getTVstationDataSet 入參獲取:

其它兩個交互方法一樣,稍微更改即可

將服務請求getTVstationDataSet結果中的“湖南電視臺”ID“98 ”作為服務請求getTVchannelDataSet入參

右側面板上部分中輸入如下代碼(getTVstationDataSet 結果)

declare namespace diffgr="urn:schemas-microsoft-com:xml-diffgram-v1";
//diffgr:diffgram/Station/TvStation[5]/tvStationID[1]

右側面板下部分中輸入如下代碼(getTVchannelDataSet 入參)

declare namespace web="http://WebXml.com.cn/";
//web:getTVchannelDataSet/web:theTVstationID[1]

獲取上述代碼的方法:

上半部分getTVstationDataSet結果獲取:

下半部分getTVchannelDataSet入參獲取:

 

將服務請求getTVchannelDataSet 結果中的“湖南金鷹卡通”ID“292 ”作為服務請求getTVprogramDataSet 入參

右側面板上部分中輸入如下代碼(getTVchannelDataSet結果)

declare namespace diffgr="urn:schemas-microsoft-com:xml-diffgram-v1";
//diffgr:diffgram/Channe/TvChanne[4]/tvChannelID[1]

右側面板下部分中輸入如下代碼(getTVprogramDataSet入參)

declare namespace web="http://WebXml.com.cn/";
//web:getTVprogramDateSet/web:theTVchannelID[1]

獲取上述代碼的方法:

上半部分getTVchannelDataSet結果獲取:

下半部分getTVprogramDataSet入參獲取:

 

運行測試

1.整個測試步驟設置好之後,打開“TestCase 1”運行測試,全部綠色表示測試通過,如下圖所示:

2.在TestCase Log中還可以看到接口之間傳遞的參數值,如下圖所示:

3.運行結束後,再打開接口請求,可以看到請求顯示的就是所傳遞的值,如下圖所示:

4.還可以在請求中設置檢查點,來檢查是否通過,檢查點的設置方法已在構建測試用例中介紹

 


Tags: SoapUI 測試 一個 地址 ChinaTVprogramWebService 開源

文章來源:


ads
ads

相關文章
ads

相關文章

ad