(三)Postman測試實操
簡述整體思路:
- 我們需要創(chuàng)建5個請求弟头,鑒權(quán)吩抓、注冊、登陸赴恨、查詢疹娶、注銷。
- 創(chuàng)建一個Collection測試集管理以上請求伦连。
- 創(chuàng)建一個環(huán)境變量雨饺,對該項目的公共變量進(jìn)行管理。
- 先調(diào)用鑒權(quán)接口除师,把獲得的token存儲環(huán)境變量中沛膳,方便后續(xù)接口使用扔枫。
- 每個請求都需要編寫斷言汛聚。
1、準(zhǔn)備工作
(1)創(chuàng)建一個Collection測試集
因為是新的項目短荐,我們需要為該項目創(chuàng)建一個新的測試集倚舀,方便請求的管理。
例如:叫“綜合練習(xí)”忍宋。
(2)創(chuàng)建一個環(huán)境變量
創(chuàng)建一個環(huán)境變量痕貌,方便對該項目的公共變量進(jìn)行管理。
一般與Collection測試集同名糠排。
2舵稠、 創(chuàng)建請求
(1)創(chuàng)建auth鑒權(quán)請求
通過前面接口文檔可以分析得出:
auth鑒權(quán)接口如果不傳遞token參數(shù),就重新分配一個token并返回入宦。
如果傳遞有效的token參數(shù)哺徊,此時不再重新分配token;
所以我們就創(chuàng)建一個不帶參數(shù)的auth鑒權(quán)請求即可乾闰。
(只填寫請求方式和請求參數(shù)即可)
如下圖:
然后我們編寫請求后置腳本Tests
:
步驟1:編寫斷言
// 斷言鑒權(quán)操作成功
// 返回值中msg是否等于success
pm.test("鑒權(quán)接口請求成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.msg).to.eql("success");
});
步驟2:把返回值中的token數(shù)據(jù)保存到環(huán)境變量中落追,提后后續(xù)接口使用。
// 把鑒權(quán)接口返回數(shù)據(jù)中的token信息涯肩,保存到環(huán)境變量中
pm.environment.set("authToken", pm.response.json().token);
編寫完成后轿钠,我們再Send
驗證一次:
可以看到Tests
中的腳本是沒有問題巢钓,我們再來看看“綜合練習(xí)”環(huán)境變量中的內(nèi)容。
如下圖:
看到以上信息疗垛,說明auth鑒權(quán)請求實現(xiàn)完成症汹。
(2)用戶注冊接口實現(xiàn)
先填寫請求方式和請求地址,并填寫請求數(shù)據(jù)贷腕,如下圖:
然后在請求頭中填寫token信息烈菌。
最后在編寫后置腳本Tests
斷言
// 斷言用戶注冊操作是否成功
pm.test("注冊操作成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.msg).to.include("注冊成功");
});
發(fā)送請求并查看結(jié)果,如下圖:
以上就完成了用戶注冊接口的實現(xiàn)花履。
(3)用戶登陸接口實現(xiàn)
先填寫請求方式和請求地址芽世,并填寫請求數(shù)據(jù),如下圖:
然后在請求頭中填寫token信息诡壁。
最后在編寫后置腳本Tests
斷言和數(shù)據(jù)處理
斷言:
// 斷言用戶登陸成功
pm.test("用戶登錄成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.msg).to.include("登錄成功");
});
數(shù)據(jù)處理:
// 把返回用戶的userid济瓢,添加到環(huán)境變量中。
// 方便后續(xù)的接口使用妹卿。
pm.environment.set("userid", pm.response.json().userid);
發(fā)送請求并查看結(jié)果旺矾,如下圖:
查看環(huán)境變量userid已被添加。
以上就完成了用戶登錄接口的實現(xiàn)夺克。
(4)查詢用戶信息接口實現(xiàn)
先填寫請求方式和請求地址箕宙,并填寫請求數(shù)據(jù),如下圖:
然后在請求頭中填寫token信息铺纽。
最后在編寫后置腳本Tests
斷言
// 斷言查詢用戶信息成功
pm.test("查詢用戶信息成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.msg).to.include("查詢成功");
});
發(fā)送請求并查看結(jié)果柬帕,如下圖:
以上就完成了查詢用戶信息接口的實現(xiàn)。
(5)用戶注銷接口實現(xiàn)
先填寫請求方式和請求地址狡门,而logout(注銷)接口并不需要傳遞參數(shù)陷寝,只需要傳請求頭中有效的token。
編寫后置腳本Tests
斷言
// 斷言用戶注銷成功
pm.test("用戶退出登錄成功", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.msg).to.include("退出登錄");
});
發(fā)送請求并查看結(jié)果其馏,如下圖:
以上就完成了用戶注銷接口的實現(xiàn)凤跑。
提示:如果再次調(diào)用登錄接口進(jìn)行用戶登錄,就會出現(xiàn)登錄失敗的現(xiàn)象。需要重新auth鑒權(quán),再進(jìn)行登錄先巴。
以上綜合項目中的接口我們都創(chuàng)建完成了。
(四)加入數(shù)據(jù)驅(qū)動
1咖耘、準(zhǔn)備數(shù)據(jù)文件
更具上面的5個接口,來編輯數(shù)據(jù)文件抖僵,如下:
usernane | password | registerMsg | loginUser | loginPwd | loginMsg | userMsg |
---|---|---|---|---|---|---|
xiaoming3 | 123456 | 注冊成功 | xiaoming3 | 123456 | 登錄成功 | 查詢成功 |
xiaoming3 | 123456 | 用戶已被注冊 | xiaoming3 | 12345666 | 用戶名密碼錯誤 | 您還未登陸 |
xiaoming3@ | 123456 | 參數(shù)錯誤 | xiaoming3@ | 123456 | 參數(shù)錯誤 | 您還未登陸 |
xiaoming3aaaaaaaaaaaaaa | 123456 | 參數(shù)錯誤 | xiaoming3aaaaaaaaaaaaaa | 123456 | 參數(shù)錯誤 | 您還未登陸 |
當(dāng)我們用到數(shù)據(jù)驅(qū)動的時候鲤看,首先要想清楚,測試的輸入數(shù)據(jù)是哪些耍群,還有預(yù)期的返回信息是什么义桂。
提示:
- 要把Excel文件另存為
.cvs
文件找筝。- 使用Notepad++打開數(shù)據(jù)文件,然后將數(shù)據(jù)文件
轉(zhuǎn)為UTF-8編碼
慷吊。
2袖裕、修改請求中的參數(shù)
我們以注冊接口為例,其他接口同理溉瓶。
修改請求參數(shù)如下:
修改請求后置腳本Tests
急鳄,如下:
3、使用測試驅(qū)動方式執(zhí)行測試集
點擊測試集堰酿,然后進(jìn)入Collection Runner
界面疾宏。
執(zhí)行如下操作:
提示:每次上傳完數(shù)據(jù)文件后,需要Preview一下触创,確保上傳的數(shù)據(jù)信息的準(zhǔn)確性坎藐。
如下圖:
最后點擊Run綜合練習(xí)DDT
執(zhí)行測試集。
4哼绑、分析測試結(jié)果
通過分析測試結(jié)果岩馍,可以判斷接口的是否正確,也可以對測試數(shù)據(jù)重新進(jìn)行補(bǔ)充或者修改抖韩。
最后得出接口測試的結(jié)果蛀恩。
以上就是在工作中我們使用Postman進(jìn)行接口測試的基礎(chǔ)流程。