SoapUI 之 webService 接口測試 [5]


一、webservice接口實例說明

學習的話,大家可以自行到網上找 一些免費的webservice接口來練手。本文中選擇實例為:中國電視節目預告(電視節目表) 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。

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

[第二步] getTVstationDataSet: 通過省市ID或分類電視ID獲得電視台列表 DataSet

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

[第三步] getTVchannelDataSet : 通過電視台ID獲得該電視台頻道列表 DataSet

輸入參數: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)=電視台信息。


二、創建soap項目,運行單個接口,能否跑通

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


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


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


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


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


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

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

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


2、第二、三、四步參數輸入都依賴到了上一步的返回結果,這里進行下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進行如下設置:


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

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

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

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM