SoapUI 之 webService 接口測試

1、webservice接口實例說明

學習的話,你們能夠自行到網上找 一些免費的webservice接口來練手。本文中選擇實例爲:中國電視節目預告(電視節目表) WEB 服務。web

Endpoint : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx瀏覽器

Disco : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?disco學習

WSDL : http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl測試

瀏覽器輸入:http://ws.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx 便可獲取到這個接口的相關說明,如下簡單羅列下這個接口的相關業務。優化

[第一步] getAreaDataSet: 得到支持的省市(地區)和分類電視列表 DataSet。ui

輸入參數:無;返回數據:DataSet,結構爲:Item(areaID)=省市和分類電視ID,Ietm(Area)=省市和分類電視名稱,Item(Zone)=所屬地區。spa

[第二步] getTVstationDataSet: 經過省市ID或分類電視ID得到電視臺列表 DataSet3d

輸入參數:theAreaID = 省市ID或分類電視ID(Integer);返回數據:DataSet,結構爲:Item(tvStationID)=電視臺ID,Ietm(tvStationName)=電視臺名稱。xml

[第三步] getTVchannelDataSet : 經過電視臺ID得到該電視臺頻道列表 DataSetblog

輸入參數:theTVstationID = 電視臺ID(Integer);返回數據:DataSet,結構爲:Item(tvChannelID)=頻道ID,Ietm(tvChannel)=頻道名稱。

[第四步] getTVprogramDateSet : 經過頻道ID得到該頻道節目列表 DataSet

輸入參數:theTVchannelID = 頻道ID(Integer),theDate=日期(String 格式:yyyy-MM-dd,如:2007-07-02,空則默認當天),userID=商業用戶ID(String 免費用戶不須要);返回數據:DataSet,結構爲:Item(playTime)=播出時間,Ietm(meridiem)=PM或AM,Ietm(tvProgram)=節目信息,Item(tvStationInfo)=電視臺信息。


2、建立soap項目,運行單個接口,可否跑通

一、右鍵Projects -->New SOAP Project ,在彈框界面的「initial WSDL」 輸入實例的WSDL地址,點擊ok。


二、[第一步]getAreaDataSet請求。參數無,點擊運行,得到支持的省市(地區)和分類電視列表。


三、[第二步] getTVstationDataSet請求。參數輸入[第一步]獲取到的areaID:18(想查看湖南地區的,因此輸入18),點擊運行,得到電視臺列表。


四、[第三步] getTVchannelDataSet請求。參數輸入[第二步]獲取到的tvStationID:98,點擊運行,得到該電視臺頻道列表。


五、[第四步] getTVprogramDateSet請求。theTVchannelID輸入[第三步]獲取到的tvChannelID:290、theDate輸入2019-11-十一、userID沒有商業用戶選擇不輸入。點擊運行,得到該頻道節目列表。


3、構建測試用例,進行腳本優化,執行測試用例

一、右鍵 ChinaTVprogramWebService 工程-->New TestSuite,右鍵TestSuite-->New TestCase。

將上面第一步到第四步的request請求,拖動添加到Test Steps中,按第一步~第四步調整request請求的順序以下。


二、第2、3、四步參數輸入都依賴到了上一步的返回結果,這裏進行下Property Transfer設置。

1) [第二步]getTVchannelDataSet請求。須要傳入上一個請求獲取到的areaID,這裏插入Property Transfer進行以下設置:

 

這裏說明下Source跟Target的XPath表達式是怎麼來的:

a、獲取到getAreaDataSet的response進行分析以下:

b、獲取到getTVstationDataSet的request進行分析以下:

2) [第三步]getTVstationDataSet請求。須要傳入須要傳入上一個請求獲取到的tvStationID,這裏Property Transfer進行以下設置:

3) [第四步]getTVstationDataSet請求。須要傳入上一個請求獲取到的tvChannelID,這裏Property Transfer進行以下設置:


三、繼續優化腳本,將最後一個getTVstationDataSet請求中傳入的theDate參數進行變量設置,而且進行變量引用

a、右鍵Test Steps-->Add Step-->Properties,而後設置變量date及賦值

b、雙擊getTVstationDataSet請求,將theDate傳值爲${Properites#date}

 

四、雙擊執行TestCase,測試完成。可自行查看測試結果。

相關文章
相關標籤/搜索