柚子快報激活碼778899分享:PostMan的學(xué)習(xí)
柚子快報激活碼778899分享:PostMan的學(xué)習(xí)
PostMan的學(xué)習(xí)
目錄
環(huán)境變量和全局變量接口關(guān)聯(lián)內(nèi)置動態(tài)參數(shù)以及自定義動態(tài)參數(shù)實現(xiàn)業(yè)務(wù)閉環(huán)Postman斷言批量運行collection數(shù)據(jù)驅(qū)動之CSV文件和JSON文件測試必須帶請求頭的接口Mock Serviers 服務(wù)器Cookie鑒權(quán)NewmanPostMan+NewMan+jenkins實現(xiàn)接口測試持續(xù)集成
參考資料:
Postman接口測試使用教程和接口自動化測試項目實戰(zhàn)你要的都有_嗶哩嗶哩_bilibili
環(huán)境變量和全局變量
Environment的設(shè)置 環(huán)境變量和全局變量 獲取環(huán)境變量和全局變量的方式: {{變量名}}
接口關(guān)聯(lián)
使用json提取器提取access_token (登錄接口后可以自動執(zhí)行test腳本) // 返回的字符串格式轉(zhuǎn)換成對象的形式
var result=JSON.parse(responseBody);
// 把access_token 設(shè)置為全局對象
pm.globals.set("access_token", "result.access_token");
// 第二個接口獲取
{{access_token}}
使用正則表達(dá)式提取器實現(xiàn)接口關(guān)聯(lián) // 返回的字符串格式轉(zhuǎn)換成對象的形式
var result=responseBody.match(new RegExp('"access_token":"(.*?)"'))
pm.globals.set("access_token", result[1]);
// 第二個接口獲取
{{access_token}}
內(nèi)置動態(tài)參數(shù)以及自定義動態(tài)參數(shù)
postman 內(nèi)置動態(tài)參數(shù) {{$timestamp}} 生成當(dāng)前時間的時間戳 {{$randomInt}} 生成0~1000的隨機數(shù) {{$guid}} 生成速記GUID字符串 自定義動態(tài)參數(shù) 方法請求前編寫腳本(pre-request-script) // 手動獲取時間戳
var time=Date.now()
// 設(shè)置全局變量
pm.globals.set("times", time);
使用時使用:{{time}}
實現(xiàn)業(yè)務(wù)閉環(huán)
增刪改查的接口,添加完把id設(shè)置成全局變量 // 獲取創(chuàng)建的id
var tag_id=responseBody.match(new RegExp('"id":(*.?).'));
// 把id設(shè)置為全局變量
pm.globals.set("tag_id", tag_id[1]);
Postman斷言
Status code: Code is 200 檢查返回的狀態(tài)碼是否為200
Response body:Contains String 檢查響應(yīng)中包括指定字符串
Response body:JSON value check 檢查響應(yīng)中其中json的值
Response body:is equal to a string 檢查響應(yīng)等于一個字符串
Response Header: Content type 檢查是否包含響應(yīng)頭 Content-Type
Response time is less than 200ms: 檢查請求耗時小于200ms
斷言判斷
狀態(tài)斷言 利用code ==200業(yè)務(wù)斷言 判斷response body 是否有業(yè)務(wù)的值
在斷言中獲取自定義動態(tài)參數(shù)(全局變量)的方式:
pm.globals.get(“time”)
globals[“time”]
globals.times
斷言加到全局上
批量運行collection
選一個集合把所有接口運行上傳文件要允許postman讀取路徑,拷貝到工作目錄
數(shù)據(jù)驅(qū)動之CSV文件和JSON文件
編寫csv文件/json文件 (多個用例)記得接口的參數(shù)全改成動態(tài)獲取,宏定義
測試必須帶請求頭的接口
常見的請求頭:
Host 請求的主機地址Connection 連接方式Accept 客戶端接收到的數(shù)據(jù)格式X-Requested-With 異步請求Referer 來源Cookie Cookie信息Content-Type: 請求內(nèi)容的格式
Mock Serviers 服務(wù)器
mock 模擬
后端接口還沒有開發(fā)完成,前端的業(yè)務(wù)需要調(diào)用后端的接口。
{
"error_code":0,
"msg":"返回成功",
"data":[]
}
https://4cc5686e-fea4-4315-b775-2d3dec990017.mock.pstmn.io
Cookie鑒權(quán)
什么是cookie
cookie是一小段文本,格式 key=value
cookie的鑒權(quán)原理
當(dāng)客戶端第一次訪問服務(wù)器的時候,那么服務(wù)器就會生成cookie信息,并且在響應(yīng)頭的set-cookie里面把生成的cookie信息發(fā)送給客戶端當(dāng)客戶端第 2 -N次訪問服務(wù)器的時候,那么客戶端就會在請求頭帶上cookie信息,從而實現(xiàn)鑒權(quán)
cookie的分類
會話cookie:保存在內(nèi)存,當(dāng)瀏覽器關(guān)閉之后就會自動化清楚cookie持久cookie:保存在硬盤,瀏覽器關(guān)閉后不會清楚,只有當(dāng)失效時間到了之后會自動清楚
postman自動觸發(fā)cookie保存
Newman
postman 是專為接口測試而生。newman(新男人)是專為postman而生的。
newman 可以讓我們postman的腳本通過非GUI方式運行
運行命令:newman run
常用參數(shù):
-e 引用環(huán)境變量
-g 引用全局變量
-d 引用數(shù)據(jù)文件
-n 指定測試用例迭代的次數(shù)
-r cli,html,json,junit —reporter-html-export 指定生成HTML的報告
安裝newman
postman導(dǎo)出測試用例postman導(dǎo)出全局jsonpostman導(dǎo)出環(huán)境json準(zhǔn)備數(shù)據(jù)json
執(zhí)行命令:
newman run testcase.json -e environment.json -g globals.json -d data.json -r cli,html,json,junit —reporter-html-export export.html
PostMan+NewMan+jenkins實現(xiàn)接口測試持續(xù)集成
新增一個項目設(shè)置自定義工作空間構(gòu)建執(zhí)行windows批處理命令執(zhí)行系統(tǒng)的Grovy腳本(保證樣式不丟失)生成的HTML集成到Jenkins
柚子快報激活碼778899分享:PostMan的學(xué)習(xí)
好文推薦
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。