溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SOAP WebService接口功能自動化測試

發(fā)布時間:2020-06-30 20:20:17 來源:網(wǎng)絡(luò) 閱讀:3966 作者:小強(qiáng)測試 欄目:軟件技術(shù)

此處我們以qqCheckOnline的WebService接口為例進(jìn)行講解,接口的具體信息如下:

l 接口描述:獲得騰訊QQ在線狀態(tài)

l 入?yún)ⅲ簈qCode,String類型,默認(rèn)QQ號碼:8698053

l 出參:qqCheckOnlineResult,String類型

返回數(shù)據(jù)代表的含義為:Y = 在線;N = 離線;E = QQ號碼錯誤;A = 商業(yè)用戶驗證失??;V = 免費(fèi)用戶超過數(shù)量

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>

了解了接口信息之后我們來看看如何完成接口用例腳本的設(shè)計,大致步驟如圖5.1所示

SOAP WebService接口功能自動化測試

圖5.1 接口用例腳本設(shè)計步驟

5.2.1 單接口的測試方法

按照圖5.1所示的步驟完成初步設(shè)置后,腳本結(jié)構(gòu)如圖5.2所示,這個是最簡單的腳本狀態(tài),還有很多地方需要我們優(yōu)化改進(jìn),下面我們就把常見的優(yōu)化方法分別講解下。注意:后續(xù)的操作都在TestSuite中完成。

SOAP WebService接口功能自動化測試

圖5.2 腳本結(jié)構(gòu)

根據(jù)接口的信息我們在設(shè)計測試用例的時候,可能需要考慮多種情況,包括但不限于正確的QQ號碼、錯誤的QQ號碼、處于在線狀態(tài)的QQ號碼和處于離線狀態(tài)的QQ號碼等來驗證各種情況下的接口的正確性,具體的用例需要根據(jù)具體的接口信息來設(shè)計。此處我們只以正確且處于在線狀態(tài)的QQ號碼為例進(jìn)行講解。

1. 參數(shù)化

打開我們TestSteps下的qqCheckOnline接口,如圖5.3所示,你會發(fā)現(xiàn)其中的qqCode是寫死的,顯然這個不是我們希望的,我們希望這里是“活”的。

SOAP WebService接口功能自動化測試

圖5.3 qqCode

那如何能使該參數(shù)變“活”呢,這時候就要利用DataSource這個強(qiáng)大的功能了。在DataSource中可以通過多種外部介質(zhì)來實(shí)現(xiàn)參數(shù)化,比如:

l File:文本文件的形式。

l Excel:最好使用2003格式的Excel。

l Grid:表格形式。

l JDBC:JDBC數(shù)據(jù)源,就是從數(shù)據(jù)庫中獲取。

l XML:XML格式。

l Groovy:Groovy腳本形式。

這里我們使用File類型的文本文件形式進(jìn)行參數(shù)化,大致實(shí)現(xiàn)步驟如下:

1) 在本地電腦上新建一個文本文件:qq.txt,并在文件中輸入如圖5.4所示的內(nèi)容。

SOAP WebService接口功能自動化測試

圖5.4 qq.txt

2) 新建一個DataSource,填入相關(guān)的數(shù)據(jù)信息,注意它的順序要位于接口之前。如圖4.5所示。

SOAP WebService接口功能自動化測試

圖5.5 DataSource

部分字段的解釋如下:

l DataSource:選擇外部的存儲介質(zhì)。

l File:選擇文件的路徑。

l Properties:把從外部存儲介質(zhì)中獲取的結(jié)果保存到這里。

l 其余的字段可以保持默認(rèn)。

3) 切換到qqCheckOnline接口,把之前寫死的qqCode變“活”。只需在qqCode參數(shù)處右鍵鼠標(biāo)選擇“Get Data”下對應(yīng)步驟中的Properties即可。如圖5.6所示。

SOAP WebService接口功能自動化測試

圖5.6 Get Data

4) 增加DataSource Loop,完成參數(shù)化的遍歷,如果不添加這個則永遠(yuǎn)取出來的是第一個QQ號碼,最終的腳本結(jié)構(gòu)如圖5.7所示。其中DataSource Step是選擇的源數(shù)據(jù),Target Step是選擇目標(biāo)步驟。這里需要特別注意DataSource、接口、DataSource Loop的順序。

SOAP WebService接口功能自動化測試

圖5.7 DataSource Loop

2. 斷言(檢查點(diǎn))

既然我們是做接口的功能自動化,那一定會對返回的響應(yīng)數(shù)據(jù)(出參)進(jìn)行檢查,只有符合我們預(yù)期結(jié)果才能認(rèn)為該接口通過測試,要完成這件事情就需要用到斷言,也就是大家常說的檢查點(diǎn),大致實(shí)現(xiàn)步驟如下:

1) 雙擊TestSteps中的接口并運(yùn)行,在響應(yīng)區(qū)域?qū)δ阆霗z查的內(nèi)容添加斷言,右鍵選擇Add Assertion->for Cotent,如圖5.8所示。

SOAP WebService接口功能自動化測試

圖5.8 選擇斷言

2) 在彈出的“XPath Expression”對話框中我們可以看到已經(jīng)識別出來了要檢查的內(nèi)容就是qqCheckOnlineResult對應(yīng)的值Y,直接點(diǎn)擊“save”按鈕即可,如圖5.9所示。

SOAP WebService接口功能自動化測試

圖5.9 確認(rèn)斷言

3) 最終完成后的效果如圖5.10所示,其中Assertions表示的就是斷言。

SOAP WebService接口功能自動化測試

圖5.10 斷言效果圖

在SoapUI中有多種形式的斷言,可謂功能十分強(qiáng)大,可以通過單擊“Add Assertion”來查看,具體內(nèi)容見書籍中的第五章。

3. 運(yùn)行與報告

完成上述步驟之后,你就可以運(yùn)行本用例腳本了,雙擊本TestCase,在彈出的“qqCheckOnline TestCase”對話框中點(diǎn)擊“綠色小箭頭”即可,如圖5.13所示。如果想看SoapUI生成的測試報告,點(diǎn)擊“文檔”形狀的圖標(biāo)即可,測試報告樣式如圖5.14所示。

SOAP WebService接口功能自動化測試

所有類似這樣單接口的測試大概都是這個過程,大家需要根據(jù)具體的接口信息做一定的調(diào)整,但整體的思路和方法是大同小異的,也希望大家在不斷學(xué)習(xí)的過程中可以悟到“一通百通”的道理,這樣即使你只有2年的工作經(jīng)驗也可能會超過有5年工作經(jīng)驗的朋友。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI