您好,登錄后才能下訂單哦!
此處我們以qqCheckOnline的WebService接口為例進行講解,接口的具體信息如下:
l 接口描述:獲得騰訊QQ在線狀態
l 入參:qqCode,String類型,默認QQ號碼:8698053
l 出參:qqCheckOnlineResult,String類型
返回數據代表的含義為:Y = 在線;N = 離線;E = QQ號碼錯誤;A = 商業用戶驗證失敗;V = 免費用戶超過數量
l 返回格式:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<qqCheckOnlineResponse xmlns="http://WebXml.com.cn/">
<qqCheckOnlineResult>string</qqCheckOnlineResult>
</qqCheckOnlineResponse>
</soap:Body>
</soap:Envelope>
了解了接口信息之后我們來看看如何完成接口用例腳本的設計,大致步驟如圖5.1所示
圖5.1 接口用例腳本設計步驟
5.2.1 單接口的測試方法
按照圖5.1所示的步驟完成初步設置后,腳本結構如圖5.2所示,這個是最簡單的腳本狀態,還有很多地方需要我們優化改進,下面我們就把常見的優化方法分別講解下。注意:后續的操作都在TestSuite中完成。
圖5.2 腳本結構
根據接口的信息我們在設計測試用例的時候,可能需要考慮多種情況,包括但不限于正確的QQ號碼、錯誤的QQ號碼、處于在線狀態的QQ號碼和處于離線狀態的QQ號碼等來驗證各種情況下的接口的正確性,具體的用例需要根據具體的接口信息來設計。此處我們只以正確且處于在線狀態的QQ號碼為例進行講解。
1. 參數化
打開我們TestSteps下的qqCheckOnline接口,如圖5.3所示,你會發現其中的qqCode是寫死的,顯然這個不是我們希望的,我們希望這里是“活”的。
圖5.3 qqCode
那如何能使該參數變“活”呢,這時候就要利用DataSource這個強大的功能了。在DataSource中可以通過多種外部介質來實現參數化,比如:
l File:文本文件的形式。
l Excel:最好使用2003格式的Excel。
l Grid:表格形式。
l JDBC:JDBC數據源,就是從數據庫中獲取。
l XML:XML格式。
l Groovy:Groovy腳本形式。
這里我們使用File類型的文本文件形式進行參數化,大致實現步驟如下:
1) 在本地電腦上新建一個文本文件:qq.txt,并在文件中輸入如圖5.4所示的內容。
圖5.4 qq.txt
2) 新建一個DataSource,填入相關的數據信息,注意它的順序要位于接口之前。如圖4.5所示。
圖5.5 DataSource
部分字段的解釋如下:
l DataSource:選擇外部的存儲介質。
l File:選擇文件的路徑。
l Properties:把從外部存儲介質中獲取的結果保存到這里。
l 其余的字段可以保持默認。
3) 切換到qqCheckOnline接口,把之前寫死的qqCode變“活”。只需在qqCode參數處右鍵鼠標選擇“Get Data”下對應步驟中的Properties即可。如圖5.6所示。
圖5.6 Get Data
4) 增加DataSource Loop,完成參數化的遍歷,如果不添加這個則永遠取出來的是第一個QQ號碼,最終的腳本結構如圖5.7所示。其中DataSource Step是選擇的源數據,Target Step是選擇目標步驟。這里需要特別注意DataSource、接口、DataSource Loop的順序。
圖5.7 DataSource Loop
2. 斷言(檢查點)
既然我們是做接口的功能自動化,那一定會對返回的響應數據(出參)進行檢查,只有符合我們預期結果才能認為該接口通過測試,要完成這件事情就需要用到斷言,也就是大家常說的檢查點,大致實現步驟如下:
1) 雙擊TestSteps中的接口并運行,在響應區域對你想檢查的內容添加斷言,右鍵選擇Add Assertion->for Cotent,如圖5.8所示。
圖5.8 選擇斷言
2) 在彈出的“XPath Expression”對話框中我們可以看到已經識別出來了要檢查的內容就是qqCheckOnlineResult對應的值Y,直接點擊“save”按鈕即可,如圖5.9所示。
圖5.9 確認斷言
3) 最終完成后的效果如圖5.10所示,其中Assertions表示的就是斷言。
圖5.10 斷言效果圖
在SoapUI中有多種形式的斷言,可謂功能十分強大,可以通過單擊“Add Assertion”來查看,具體內容見書籍中的第五章。
3. 運行與報告
完成上述步驟之后,你就可以運行本用例腳本了,雙擊本TestCase,在彈出的“qqCheckOnline TestCase”對話框中點擊“綠色小箭頭”即可,如圖5.13所示。如果想看SoapUI生成的測試報告,點擊“文檔”形狀的圖標即可,測試報告樣式如圖5.14所示。
所有類似這樣單接口的測試大概都是這個過程,大家需要根據具體的接口信息做一定的調整,但整體的思路和方法是大同小異的,也希望大家在不斷學習的過程中可以悟到“一通百通”的道理,這樣即使你只有2年的工作經驗也可能會超過有5年工作經驗的朋友。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。