Postman在軟件測試的面試中,可以說是必考題了弄匕,既然是高頻考題香缺,當然得為粉絲寶寶們整理一波題庫嘍~
一蒙幻、Postman在工作中使用流程是什么樣的?
新建集合管理
根據(jù)接口所屬的模塊将鸵,在集合中不同模塊下編寫接口測試用例
處理接口之間的數(shù)據(jù)關(guān)聯(lián)操作
添加環(huán)境變量
在tests tab下中增加斷言
調(diào)試接口,確保接口能被正常調(diào)用
批量運行用例或者導出通過Newman去運行生成html報告
二、你使用過Postman的哪些功能譬挚?
自動化測試
Mock Server
請求調(diào)試
代理抓包
環(huán)境變量設置
用例導入與導出
生成在線API文檔
三、Postman如何管理測試環(huán)境酪呻?
可以創(chuàng)建和切換postman里面的environment解決减宣。
1、創(chuàng)建environment
例如創(chuàng)建兩個環(huán)境environment玩荠,測試環(huán)境和預發(fā)布環(huán)境漆腌,填好對應的變量名稱,初始值initial value和現(xiàn)在的值current value
2阶冈、設置environment
根據(jù)需要闷尿,可在測試環(huán)境和預發(fā)布環(huán)境之間自由切換
ps:environment還可以設置全局變量,作用于Postman所有的文件夾女坑,當“環(huán)境變量”和“全局變量”設置同一個變量時悠砚,優(yōu)先走“環(huán)境變量”的設置,當環(huán)境變量沒有設置該變量時堂飞,才走全局變量的設置
四灌旧、Postman如何實現(xiàn)接口關(guān)聯(lián)?
通過正則表達式提取的方式或json取值的方式绰筛,提取需要的參數(shù)
將參數(shù)設置為全局變量
在后面接口中枢泰,使用{{全局變量}}代替要替換的參數(shù)值
五、Postman參數(shù)化有哪幾種方式铝噩?
環(huán)境變量
全局變量
內(nèi)置函數(shù)
pre-scripts編寫js腳本
Collection 變量
批量執(zhí)行時使用的CSV衡蚂、txt文本或者Json文件
六、Postman中全局/環(huán)境/集合變量的優(yōu)先級是怎樣的骏庸?
當變量重名時, 優(yōu)先級為:環(huán)境變量>Collection集合變量>全局變量(Globals)
七毛甲、Postman中常見的接口測試斷言方法有哪些?
1具被、斷言響應碼(最常用)在tests框內(nèi)輸入如下命令 玻募,驗證響應碼是否為200
pm.test("Status code is 200", function () { pm.response.to.have.status(200);});
2、斷言響應是否包含某個字符串
pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search");});
3一姿、斷言響應為json體時的某個key對應的值
pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100);});
4七咧、斷言響應時間(響應時間小于200ms)
pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200);});
八跃惫、Postman 自定義變量如何做?
在Pre-request Script中通過JS定義變量艾栋,配置成全局變量爆存,所有接口都能使用
九、Postman 你使用過哪些內(nèi)置變量蝗砾?
randomUUID 隨機的36個字符的UUID
guid 一個uuid-v4風格GUID
randomPrice 100.00至999.00之間的隨機價格
randomLoremText 隨機數(shù)量的文本
十先较、Postman 如何做持續(xù)集成?
導出Postman腳本悼粮、環(huán)境變量闲勺、全局變量等到指定的文件夾
安裝Newman,并執(zhí)行對應的命令newman run 用例文件路徑 -e 環(huán)境變量 -g 全局變量 -r生成報告
創(chuàng)建Jenkins任務矮锈,并配置Newman執(zhí)行命令