W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在前后端分離開(kāi)發(fā)時(shí),后端工作人員完成系統(tǒng)接口開(kāi)發(fā)后,需要與前端人員對(duì)接,測(cè)試調(diào)試接口,驗(yàn)證接口的正確性可用性。而市場(chǎng)上有很多優(yōu)秀的接口測(cè)試工具,比如SoapUI、Postman、JMeter、yapi等,能夠高效地幫助后端開(kāi)發(fā)人員獨(dú)立進(jìn)行接口測(cè)試。這里主要介紹如何使用Postman進(jìn)行接口測(cè)試。
Postman是一個(gè)接口測(cè)試工具,相當(dāng)于一個(gè)客戶端,它可以模擬用戶發(fā)起的各類HTTP請(qǐng)求,將請(qǐng)求數(shù)據(jù)發(fā)送至服務(wù)端,獲取對(duì)應(yīng)的響應(yīng)結(jié)果,從而驗(yàn)證響應(yīng)中的結(jié)果數(shù)據(jù)是否和預(yù)期值相匹配。Postman與瀏覽器的區(qū)別在于,它更直觀地展示接口返回的結(jié)果,特別是JSON格式的數(shù)據(jù)。
在開(kāi)始一個(gè)項(xiàng)目時(shí),為了便于組織和管理,可以將同屬該項(xiàng)目的多個(gè)API放在一組里。首先需要新建一個(gè)Collection:New -> Collection。
在Postman中,你可以通過(guò)點(diǎn)擊左上角的“Send”按鈕或使用快捷鍵(默認(rèn)為Ctrl+Enter)發(fā)送請(qǐng)求。在彈出的窗口中,你可以填寫(xiě)請(qǐng)求的URL、請(qǐng)求方法(GET、POST等)、請(qǐng)求頭和請(qǐng)求體等信息。
POST請(qǐng)求是用來(lái)發(fā)送數(shù)據(jù)的。例如,產(chǎn)品經(jīng)理的PRD文檔要求分配加工廠接口里新增加工廠ID字段,整數(shù)類型,非必填。測(cè)試人員需要打開(kāi)Postman,填寫(xiě)接口信息,結(jié)合測(cè)試用例,組合變換參數(shù)信息后,查看返回的JSON數(shù)據(jù)與PRD是否一致。
以注冊(cè)用戶為例,測(cè)試人員可以在Postman中設(shè)置如下請(qǐng)求:
{
"name": "小小",
"password": "123456"
}
發(fā)送請(qǐng)求后,可以通過(guò)響應(yīng)結(jié)果驗(yàn)證接口是否正確處理了注冊(cè)信息。
GET請(qǐng)求是用來(lái)獲取數(shù)據(jù)的。例如,XX系統(tǒng)獲取出庫(kù)賬單接口,測(cè)試人員需要打開(kāi)Postman,填寫(xiě)接口信息,結(jié)合測(cè)試用例,組合變換參數(shù)信息后,查看返回的JSON數(shù)據(jù)與PRD是否一致。
以獲取出庫(kù)賬單為例,測(cè)試人員可以在Postman中設(shè)置如下請(qǐng)求:
Postman支持對(duì)響應(yīng)結(jié)果進(jìn)行斷言和測(cè)試。斷言可以幫助你檢查響應(yīng)結(jié)果中的特定內(nèi)容或值,如檢查JSON數(shù)據(jù)中的某個(gè)字段是否符合預(yù)期。測(cè)試則可以對(duì)整個(gè)響應(yīng)結(jié)果進(jìn)行驗(yàn)證,如檢查響應(yīng)狀態(tài)碼是否為200。
在測(cè)試過(guò)程中,可以使用Postman的斷言功能來(lái)驗(yàn)證響應(yīng)結(jié)果。例如:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("access_token");
});
```[^11^]。
在Postman中,你可以將多個(gè)請(qǐng)求組織到一個(gè)集合中,方便管理和復(fù)用。此外,你還可以為集合設(shè)置不同的環(huán)境變量,以便在不同的環(huán)境下發(fā)送請(qǐng)求時(shí)使用不同的參數(shù)值。
在測(cè)試不同環(huán)境的API時(shí),可以使用環(huán)境變量來(lái)管理不同環(huán)境的配置。例如:
postman.setEnvironmentVariable("url", "http://192.168.1.21/oa/index.jsp");
https://{{url}}/api/user/reg/
```[^11^]。
在Postman中,你可以使用參數(shù)化測(cè)試來(lái)復(fù)用測(cè)試用例,并通過(guò)數(shù)據(jù)驅(qū)動(dòng)的方式傳遞不同的參數(shù)值。這樣可以使你的測(cè)試用例更加靈活和健壯。
Postman還支持Mock服務(wù)器和擋板測(cè)試功能。你可以使用Mock服務(wù)器模擬接口響應(yīng),以便在沒(méi)有后端服務(wù)的情況下進(jìn)行前端開(kāi)發(fā)或測(cè)試。同時(shí),擋板測(cè)試可以幫助你在開(kāi)發(fā)過(guò)程中模擬接口請(qǐng)求和響應(yīng),以便更好地進(jìn)行集成測(cè)試和調(diào)試。
相信你已經(jīng)對(duì)Postman工具有了基本的了解和使用方法。在實(shí)際工作中,建議根據(jù)項(xiàng)目的需求和場(chǎng)景選擇合適的接口測(cè)試方法和工具,以提高接口測(cè)試的效率和準(zhǔn)確性。下面V 哥跟業(yè)務(wù)場(chǎng)景分講解幾個(gè)案例的使用。
場(chǎng)景描述
測(cè)試用戶是否可以成功注冊(cè)到系統(tǒng)中。
步驟
https://api.example.com/register
。Content-Type: application/json
。 {
"username": "newuser",
"password": "password123",
"email": "newuser@example.com"
}
場(chǎng)景描述
測(cè)試用戶是否可以使用正確的憑證登錄系統(tǒng)。
步驟
https://api.example.com/login
。username
和password
。場(chǎng)景描述
測(cè)試系統(tǒng)是否能夠返回正確的商品列表。
步驟
https://api.example.com/products
。category=books
或price=100
。場(chǎng)景描述
測(cè)試用戶是否可以將商品添加到購(gòu)物車。
步驟
https://api.example.com/cart/items
。Authorization: Bearer <token>
。場(chǎng)景描述
測(cè)試用戶是否可以上傳文件到系統(tǒng)。
步驟
https://api.example.com/upload
。Content-Type: multipart/form-data
。file
,值為選擇文件按鈕。場(chǎng)景描述
測(cè)試用戶是否可以成功下單購(gòu)買(mǎi)商品。
步驟
https://api.example.com/orders
。Authorization: Bearer <token>
。場(chǎng)景描述
測(cè)試用戶是否可以更新自己的個(gè)人信息。
步驟
https://api.example.com/user/profile
。Authorization: Bearer <token>
和Content-Type: application/json
。場(chǎng)景描述
測(cè)試用戶是否可以查詢到自己訂單的當(dāng)前狀態(tài)。
步驟
https://api.example.com/orders/{orderId}
。Authorization: Bearer <token>
。{orderId}
為實(shí)際的訂單ID。在執(zhí)行這些測(cè)試案例時(shí),請(qǐng)確保遵循實(shí)際的API規(guī)范,并根據(jù)API的特定要求調(diào)整步驟和參數(shù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: