本文做了什么南捂。
本文主要是講述單接口測試携狭,旨在讓沒有接觸過接口測試的測試人員快速開始測試。如果有問題可以留言诗充,如果該篇不滿足你的胃口苍蔬。等待我的下次更新,下次更新會(huì)開始講解http原理和依賴接口需要的操作蝴蜓。
什么是接口測試碟绑?
??接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換蜈敢,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等汽抚。
??它還是功能測試抓狭,但是又不是一般的功能測試。接口測試抽離了 UI 和交互的限制造烁,直接面對了我們的服務(wù)器否过。但是接口測試有可能破壞功能的完整。有的地方僅僅在界面限制了用戶無法操作惭蟋,但是接口并沒有對特殊情況作出處理(這其實(shí)十分常見苗桂,為了避免重復(fù)編碼和減輕服務(wù)器壓力,同時(shí)對安全性要求不高的情況下的處理方式)告组。一個(gè)嚴(yán)謹(jǐn)?shù)慕涌跁?huì)完全實(shí)現(xiàn)校驗(yàn)煤伟,但是沒有的情況也不要覺得意外,結(jié)合項(xiàng)目添加需要的限制即可木缝。
如何寫接口的測試用例
0便锨、環(huán)境搭建
我手?jǐn)]的一個(gè)小服務(wù)器https://github.com/JoeEmp/performanc_testing_field(這個(gè)是小服務(wù)器的接口文檔規(guī)范)
1、根據(jù)接口接口文檔寫用例
1-1我碟、接口文檔
接口文檔包含以下要素
請求路徑放案、請求方式、請求參數(shù)矫俺、正常返回吱殉,異常返回(異常返回如果包含在通用規(guī)范的情況下則不寫)
1-2、需求文檔
以上面的接口為例厘托,需求是用戶名和密碼均為必填項(xiàng)友雳,用戶填寫用戶名和密碼(前端加密),如果用戶名和密碼一致則登錄成功催烘,如果任意一項(xiàng)沒填則提示用戶填寫沥阱,如果密碼錯(cuò)誤或用戶不存在則提示對應(yīng)錯(cuò)誤。
1-3伊群、測試用例
這里和我們的功能測試一樣考杉,我們可以使用場景、等價(jià)類舰始、邊界值等方法去寫用例,這里要注意從接口文檔看出 Content-Type 為 multipart/form-data,所以我們不用檢測參數(shù)類型是否正確(關(guān)于Content-Type和二進(jìn)制類型崇棠,后面會(huì)講解,此處略過丸卷。)
用例 id | 用例名稱 | 請求路徑 | 請求方式 | 請求參數(shù) | 預(yù)期響應(yīng) | 實(shí)際響應(yīng) |
---|---|---|---|---|---|---|
login_1 | 錯(cuò)誤請求方式請求枕稀,httpcode405 | /jmeter/login | GET | {"username":"123","password":"123"} | httpcode405 | |
login_2 | 正常用戶登錄,返回 token | /jmeter/login | POST | {"username":"nliu@yahoo.com","passsword":"f18581cea866c3ddaaa3c39277e5d87d"} | {"code":0,"token":"xxx"} | |
login_3 | 系統(tǒng)不存在用戶,返回用戶不存在 | /jmeter/login | POST | {"username":"123","passsword":"f18581cea866c3ddaaa3c39277e5d87d"} | {"code":-1,"msg":"用戶不存在"} | |
login_4 | 傳入未加密密碼萎坷,返回密碼錯(cuò)誤 | /jmeter/login | POST | {"username":"nliu@yahoo.com","passsword":"V&48Pl6tyl"} | {"code":-1,"msg":"密碼錯(cuò)誤"} | |
login_5 | 不傳用戶名凹联,返回 username 不能為空 | /jmeter/login | POST | {"passowrd":"123"} | {"code":1,"msg":"username 不能為空"} | |
login_6 | 不傳密碼,返回 password 不能為空 | /jmeter/login | POST | {"username":"132"} | {"code":1,"msg":"password 不能為空"} |
1-4哆档、使用postman執(zhí)行用例
有如下配置
- 請求方式 POST
- url蔽挠,這里我設(shè)置了環(huán)境變量,后面將講到)瓜浸,我們先使用本地去代替
http://localhost:10086/jmeter/login - 請求參數(shù)選擇 from-data澳淑,填上username、password和對應(yīng)的值插佛。
- 斷言 正常入?yún)⒌那闆r下吏饿,會(huì)不會(huì)返回token
配置好用例后歼郭,我們發(fā)送請求即可含滴。
1-5虽另、批量執(zhí)行
- 本章全部的接口測試用例集(https://www.getpostman.com/collections/8b84fc03bd743f7eb848),導(dǎo)入的方法在文末锨侯。
復(fù)制用例 : 直接選擇一個(gè)用例然后兄一,ctrl+c, ctrl+v 然后修改成我們的需要的樣子
當(dāng)我們要執(zhí)行多個(gè)用例時(shí),一個(gè)一個(gè)會(huì)瘋掉识腿。我們這時(shí)需要批量執(zhí)行出革。選擇我們的接口集,點(diǎn)擊run
然后執(zhí)行即可
執(zhí)行結(jié)果
- 關(guān)于測試報(bào)告
postman 只提供執(zhí)行結(jié)果的json數(shù)據(jù)
有個(gè)快捷的方法生成測試報(bào)告 http://www.reibang.com/p/7474c79abcfc
不過你也可以使用簡單的腳本解析json數(shù)據(jù)渡讼,轉(zhuǎn)成頁面骂束。(看看哪天去補(bǔ)一下這個(gè)坑)
1-6 導(dǎo)入
1、選擇導(dǎo)入
2成箫、選擇link展箱,貼上鏈接
3、一路操作下來就直接導(dǎo)入了