API測(cè)試(或WebService測(cè)試)在軟件測(cè)試中變得越來越重要描融。根據(jù)谷歌趨勢(shì)報(bào)告,過去五年來宗苍,行業(yè)內(nèi)對(duì)API測(cè)試的興趣一直在增加稼稿。這種趨勢(shì)在一定程度上表明API測(cè)試的需求變得更加普遍。測(cè)試API或WebService不再僅僅由原來的開發(fā)人員執(zhí)行讳窟,在獨(dú)立的測(cè)試團(tuán)隊(duì)中让歼,也是非常常見的一部分工作了。
本教程將演示如何快捷的使用Katalon Studio從頭開始創(chuàng)建一個(gè)API / WebService測(cè)試(以下簡(jiǎn)稱為API測(cè)試)丽啡。
在開始進(jìn)行API測(cè)試之前谋右,我們需要先了解一些關(guān)于Katalon Studio中關(guān)于API測(cè)試對(duì)象的基本術(shù)語。
Test Case:
這是Katalon Studio項(xiàng)目結(jié)構(gòu)中最重要的概念之一补箍,測(cè)試用例集合中列出了用戶存儲(chǔ)的所有測(cè)試用例改执。
Object Repository:
測(cè)試對(duì)象庫(kù)是用來存儲(chǔ)所有測(cè)試對(duì)象的。
????在UI測(cè)試中坑雅,測(cè)試對(duì)象是具有指定定位器的Web元素辈挂,Web Driver在測(cè)試執(zhí)行期間使用這些定位器來定位Web元素。
????在API 測(cè)試中裹粤,測(cè)試對(duì)象指的是具有URL(域名或IP地址)和一些必要信息(如methods, authorization, body, parameters等)的請(qǐng)求函數(shù)终蒂,測(cè)試執(zhí)行期間rest-client會(huì)使用這些信息去發(fā)送請(qǐng)求。
Request:
在API 測(cè)試時(shí)遥诉,Request指的是客戶端向服務(wù)端的一次請(qǐng)求拇泣。
在一個(gè)Request中,URL和method是必需的信息矮锈,而authorization, body和 parameters是可選的霉翔,并且取決于請(qǐng)求類型。
在Katalon Studio中苞笨,請(qǐng)求存儲(chǔ)在Object Repository中债朵,可以從任何測(cè)試用例的步驟中調(diào)用子眶。
Response:
一個(gè)響應(yīng),就是服務(wù)端對(duì)客戶端請(qǐng)求返回的數(shù)據(jù)葱弟。典型的響應(yīng)包含Headers壹店,Body以及Code(響應(yīng)代碼)等信息猜丹。
在Katalon Studio中芝加,響應(yīng)存儲(chǔ)在Object Repository(請(qǐng)求級(jí)別)或任何測(cè)試用例的步驟中。目前射窒,可以在每個(gè)單獨(dú)的測(cè)試用例中驗(yàn)證響應(yīng)藏杖。
使用Katalon Studio從頭開始創(chuàng)建API測(cè)試用例
第1步:創(chuàng)建一個(gè)Request
右鍵單擊Object Repository,在New子菜單下選擇Web Service Request脉顿,打開Web Service Request對(duì)話框蝌麸。
將信息輸入到新的“?Web Service Request”對(duì)話框中
Name:?請(qǐng)求名稱,用于指定請(qǐng)求的名稱艾疟。沒有特殊的命名規(guī)則来吩。但是強(qiáng)烈建議定義的名稱是可讀的,最好能夠表達(dá)出請(qǐng)求的目的蔽莱。
Request Type:?請(qǐng)求類型弟疆,在Katalon Studio中,Web服務(wù)請(qǐng)求可以是RESTful或SOAP盗冷。由于RESTful變得越來越流行怠苔,因此在對(duì)話框中默認(rèn)選擇它。
URL:?請(qǐng)求的具體地址
Description:?如果需要仪糖,可以填寫有關(guān)請(qǐng)求的更多備注信息柑司。
填寫完成所有信息后,將在單擊“OK”按鈕锅劝,就創(chuàng)建了一個(gè)Request攒驰。
第2步:設(shè)置Request
(1)第一步中創(chuàng)建的Request。
(2)請(qǐng)求的方法故爵,如果請(qǐng)求類型是RESTful玻粪,則可以選擇以下方法之一:GET,PUT稠集,POST奶段,DELETE。
(3)請(qǐng)求的URL剥纷,可以在創(chuàng)建請(qǐng)求后隨時(shí)更新痹籍。
(4)授權(quán)設(shè)置,用于配置連接服務(wù)端的授權(quán)晦鞋。Basic和OAuth 1.0是兩種最常見的授權(quán)方法蹲缠。
????Basic: 需要設(shè)置有效的用戶名和密碼
????OAuth 1.0: 需要設(shè)置表單中要求的所有配置
? ??注意:授權(quán)設(shè)置完成后棺克,需單擊“Update to HTTP Header”,使配置生效线定。
(5)?HTTP Header配置娜谊。
(6)組織用例集的文件夾結(jié)構(gòu)。
????被測(cè)應(yīng)用程序通常有數(shù)百種服務(wù)斤讥,因此擁有良好的組織非常重要纱皆。在Katalon Studio中,強(qiáng)烈建議使用文件夾結(jié)構(gòu)按路徑芭商、功能和方法對(duì)Web服務(wù)進(jìn)行分組派草。
第3步:Smoke(冒煙測(cè)試)
點(diǎn)擊發(fā)送按鈕,即可發(fā)送請(qǐng)求并快速驗(yàn)證響應(yīng)铛楣。
(1)發(fā)送按鈕近迁,單擊發(fā)送請(qǐng)求。
(2)Status: 請(qǐng)求的響應(yīng)代碼簸州。代碼反映了請(qǐng)求的狀態(tài)鉴竭,詳細(xì)了解響應(yīng)代碼。
(3)Elapsed: 從請(qǐng)求到獲取響應(yīng)所需的時(shí)間岸浑。
(4)Size: 響應(yīng)數(shù)據(jù)的大小搏存。
(5)Body / Header: 響應(yīng)數(shù)據(jù)的Body和Header信息。
(6)顯示格式助琐,Katalon Studio將自動(dòng)選擇漂亮模式以正確格式顯示數(shù)據(jù)祭埂。目前,它支持JSON兵钮,XML蛆橡,HTML,JavaScript數(shù)據(jù)類型掘譬。
步驟4:創(chuàng)建測(cè)試用例
前3個(gè)步驟演示了如何在Object Repository創(chuàng)建Request并進(jìn)行冒煙測(cè)試泰演,此步驟將帶你創(chuàng)建一個(gè)測(cè)試用例。
(1)創(chuàng)建一個(gè)具有可讀名稱的測(cè)試用例葱轩。強(qiáng)烈建議測(cè)試用例名稱簡(jiǎn)要描述測(cè)試場(chǎng)景(測(cè)試目的)睦焕。
(2)從測(cè)試用例編輯器中,選擇“Add - > Web Service Keyword”靴拱,添加新步驟垃喊。
(1)在項(xiàng)目下拉列表中,選擇“Send Request”關(guān)鍵字
(2)單擊同一行中的Object cell打開“Test Object Input”對(duì)話框
(3)從“Object Type”列表中選擇“Test Object”
(4)選擇我們前面創(chuàng)建的Request
第5步:添加驗(yàn)證步驟
此步驟將指導(dǎo)你如何將驗(yàn)證添加到測(cè)試用例中袜炕。
(1)?上一步中已經(jīng)添加的Request本谜。
(2)為了驗(yàn)證請(qǐng)求返回的內(nèi)容,我們需要指定請(qǐng)求的輸出偎窘。只需在Output中輸入稍后使用的變量名稱即可乌助,例如response溜在。
(3)測(cè)試用例的步驟2和步驟3用于驗(yàn)證。與“Send Request”類似的方式添加他托。步驟2驗(yàn)證響應(yīng)代碼(如果請(qǐng)求成功發(fā)送掖肋,則為200)。
(4)驗(yàn)證響應(yīng)代碼是否為200赏参。
(5)使用jsonpath和期望值驗(yàn)證響應(yīng)內(nèi)容志笼。
第6步:執(zhí)行測(cè)試用例
執(zhí)行API測(cè)試用例與執(zhí)行UI功能測(cè)試用例完全相同。但是登刺,在API測(cè)試中籽腕,不會(huì)使用到瀏覽器。
恭喜纸俭!通過以上6個(gè)簡(jiǎn)單的步驟,現(xiàn)在已經(jīng)成功地從零開始創(chuàng)建了一個(gè)簡(jiǎn)單的API測(cè)試南窗。
即刻開始你的Katalon之旅吧揍很。
Notes:
Source code:https://github.com/katalon-studio-samples/jira-api-tests
Project: Jira API
詳情查閱官方原文,搬運(yùn)過程中若詞句有不當(dāng)之處万伤,還望見諒窒悔。