版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計技術(shù)配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)專業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站建設(shè)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!SoapUI是當(dāng)前比較簡單實用的開源Web Service測試工具,提供桌面應(yīng)用程序和IDE插件程序兩種使用方式。能夠快速構(gòu)建項目和組織測試用例是該工具的一大特性,下面將通過實例介紹如果使用SoapUI進行Web Service單元測試。
l 構(gòu)建項目
SoapUI工具中的項目(Project)是由一個或多個Web Service組成的,這里我們以“中國電視節(jié)目預(yù)告 Web 服務(wù):
http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl”為例,新建WSDL項目。點擊FileèNew WSDL Project,輸入項目名稱“ChinaTV”,初始WSDL“
http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl”,如圖1:
其中WSDL可以是URL也可以是wsdl的靜態(tài)文件。
l 單個服務(wù)請求的運行
SoapUI工具會解析WSDL文件獲取服務(wù)接口,創(chuàng)建請求。如圖2、3:該服務(wù)提供8個接口,并根據(jù)Soap的版本不同提供兩種。
展開接口“getTVstationDataSet”的Soap請求“Request 1”:
雙擊查看請求的SOAP消息:如圖4
我們看到的是服務(wù)請求Soap消息,其中的“?”問號代表的是入?yún)?,將其修改為請求入?yún)⒅怠?1”(本實例中,-1代表中央電視),然后點擊圖標(biāo)按鈕運行,獲得請求結(jié)果:如圖5
我們看到返回的Soap消息及其中的數(shù)據(jù)。
l 構(gòu)建測試用例
選擇項目“ChinaTV”并右鍵,選擇New TestSuite,構(gòu)建一個測試套件如圖6
然后,在TestSuite中右鍵,選擇New TestCase,新建TestCase并將服務(wù)請求加入到TestCase中:如圖7
這樣,我們擁有了第一個測試用例:如圖8
因為上述過程中已經(jīng)設(shè)置了服務(wù)請求入?yún)?,所以這里我們雙擊TestCase 1點擊可以直接運行:如圖9
我們看到了“綠條”,這表示運行通過。
l 增加檢查點
如圖,打開服務(wù)請求getTVstationDataSet – Request 1,點擊,添加檢查點:如圖10
檢查點有多種類型,這里我們選擇包含“Contains”并輸入檢查內(nèi)容“中央電視臺”:如圖11
我們運行服務(wù)請求getTVstationDataSet – Request 1:如圖12
可以看到檢查點是有效的:Contains-VALID。
l 組織測試步驟
將getAreaDataSet(獲得支持的省市(地區(qū))和分類電視列表)、(通過省市ID或分類電視ID獲得電視臺列表)、getTVchannelDataSet(通過電視臺ID獲得該電視臺頻道列表)、getTVprogramDataSet(通過頻道ID獲得該頻道節(jié)目列表)依次加入到TestCase 1的測試步驟中去,然后組織測試步驟獲取“CCTV-1”的節(jié)目列表。
測試步驟:
1、獲得“中央電視”的分類ID“-1”
2、獲取“中央電視”類別中的“中央電視臺”ID:“39”
3、獲取“中央電視臺”的頻道“CCTV-1”ID:“606”
4、獲取“CCTV-1”頻道的節(jié)目列表 如圖13
我們需要將服務(wù)請求getAreaDataSet結(jié)果中的“中央電視”ID“-1”作為服務(wù)請求getTVstationDataSet入?yún)?,右鍵點擊getAreaDataSet-Request 1,選擇Insert StepèProperty Transfer,如圖14:
這個Property Transfer用于兩個服務(wù)請求間的交互,我們將其命名為:“AreaTransferStation”如圖15
Source中我們選擇getAreaDataSet-Request 1的Response,Target中我們選擇getTVstationDataSet-Request 1的Request,并通過腳本選擇服務(wù)請求getAreaDataSet返回結(jié)果Soap消息中節(jié)點(AreaList[4])中(areaID[1])的值傳遞給服務(wù)請求getTVstationDataSet作為入?yún)ⅲ╰heAreaID[1])的值。
其中:declare namespace diffgr=
"urn:schemas-microsoft-com:xml-diffgram-v1";用于聲明命名空間,與SOAP消息中的命名空間對應(yīng)。如圖16
同樣的操作步驟,我們組織好其他幾個服務(wù)請求間的交互,就組織完成了一個完整的測試步驟,最后我們運行TestCase,看到全部的運行結(jié)果:(綠色表示運行通過)如圖17
注:soapui官方網(wǎng)站http://www.soapui.org/
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。