Postman的test本質上是JavaScript代碼,經過咱們編寫測試代碼,每個tests返回True,或是False。
每個tests實際上就是一個測試用例html
Tests斷言:比較預期結果和實際結果
(編輯文本採用js語言,對於初學者來講能夠直接點擊右邊的系統自帶配置js)web
引用變量{{變量名稱}}面試
好比搜貓,那麼咱們就選擇Response body:Contains string正則表達式
pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); });
pm.test("檢查返回內容是否正確", function () { pm.expect(pm.response.text()).to.include("<titile>貓_百度搜索</titile>"); });
附百度搜貓抓過來的接口Urljson
http://www.baidu.com/s?wd=貓
附JSON在線視圖查看器微信
http://www.bejson.com/jsonviewernew/
//一、檢查返回值
pm.test("檢查返回內容是否正確", function () { pm.expect(pm.response.text()).to.include("<title>貓_百度搜索</title>"); }); //二、檢查狀態碼
pm.test("檢查狀態碼", function () { pm.response.to.have.status(200); }); //三、檢查響應時間
pm.test("檢查響應時間小於300ms", function () { pm.expect(pm.response.responseTime).to.be.below(300); });
顯示結果app
ps:檢查響應時間會因網速而發生變化,返回Fail有時是正常的框架
//一、檢查返回值
pm.test("檢查返回內容是否正確", function () { pm.expect(pm.response.text()).to.include("<title>貓_百度搜索</title>"); }); //二、檢查狀態碼
pm.test("檢查狀態碼", function () { pm.response.to.have.status(200); }); //三、檢查響應時間
pm.test("檢查響應時間小於300ms", function () { pm.expect(pm.response.responseTime).to.be.below(300); }); //四、獲取狀態碼
var code=responseCode.code; //五、設置全局變量
pm.globals.set("codename", code);
經過js腳本咱們獲取狀態碼後,存在一個全局變量codename裏面,而後咱們打開環境變量管理進行查看,以下:工具
//一、獲取jsonData數據包
var jsonData=JSON.parse(responseBody); //二、經過json包獲取對應字段名access_token
var token=jsonData.access_token; //設置token全局變量
pm.globals.set("myToken",token);
var token=responseBody.match(new RegExp('\access_token\":\"(.+?)\"'))[1]; pm.globals.set("weixin_token",token);
當咱們訪問百度時,能夠經過網址進行訪問,也能夠經過IP地址進行訪問,那麼咱們切換不一樣的環境時,如何讓它們都能用呢?學習
nslookup www.baidu.com
因而咱們能查看到以下內容(每一個電腦的顯示界面可能不同)
經過查看,咱們就能獲得百度的三種環境:生產環境、測試環境、預發佈環境
www.baidu.com 生產環境 IP地址: 183.232.231.172 測試環境 183.232.231.174 預發佈環境
開發環境:開發人員用來編碼調試
測試環境:測試人員找bug
預發佈環境:模擬的真實環境
生產環境:用戶真實使用的
PS:那麼咱們將主機設置爲全局變量,這樣咱們對於不一樣的環境都可以使用,此時咱們打開Postman,進入以前的環境變量管理,點擊Add而後添加這三個環境,注意咱們的環境變量名稱要統一
一、測試環境配置
二、生產環境配置
三、預發佈環境配置
以前各個環境配置好了以後,咱們發送send請求後,打開咱們的Fiddler工具查看咱們的請求頭,發如今User-Agent會直接顯示咱們的Postmanxxx,這樣的接口確定會出問題的,咱們應該如何進行隱藏封裝呢?
很簡單,就是咱們直接去訪問百度,去拿到百度的Headers的信息就行了,而後去修改咱們本身接口的key-value值
下面是我從百度拷下來的Headers,能夠直接使用
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
而後在接口那選擇Headers,採用文本方式直接複製過去便可
PS:咱們這裏是引用了全局變量baiduUrl,是以前配置的三個環境的變量名稱
那麼如今咱們的Headers請求頭就封裝好了,咱們再send一下,採用預發佈環境試試~
結果很顯然,修改爲了百度的請求頭了,說明隱藏成功!
但願本文對你有所幫助~~若是對軟件測試、接口測試、自動化測試、面試經驗交流感興趣能夠加入咱們。642830685,免費領取最新軟件測試大廠面試資料和Python自動化、接口、框架搭建學習資料!技術大牛解惑答疑,同行一塊兒交流。