1、引言
Postman的test本質上是JavaScript代碼,通過我們撰寫測驗代碼,每一個tests回傳True,或是False,
每一個tests實際上就是一個測驗用例
2、對介面進行Tests測驗
Tests斷言:比較預期結果和實際結果
(編輯文本采用js語言,對于初學者來說可以直接點擊右邊的系統自帶配置js)
參考變數{{變數名稱}}

比如搜貓,那么我們就選擇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>");
});
附百度搜貓抓過來的介面Url
http://www.baidu.com/s?wd=貓
附JSON在線視圖查看器
http://www.bejson.com/jsonviewernew/
3、簡單實體測驗(檢查百度搜貓回傳請求情況)
//1、檢查回傳值
pm.test("檢查回傳內容是否正確", function () {
pm.expect(pm.response.text()).to.include("<title>貓_百度搜索</title>");
});
//2、檢查狀態碼
pm.test("檢查狀態碼", function () {
pm.response.to.have.status(200);
});
//3、檢查回應時間
pm.test("檢查回應時間小于300ms", function () {
pm.expect(pm.response.responseTime).to.be.below(300);
});
顯示結果

ps:檢查回應時間會因網速而發生變化,回傳Fail有時是正常的
4、環境變數管理使用
//1、檢查回傳值
pm.test("檢查回傳內容是否正確", function () {
pm.expect(pm.response.text()).to.include("<title>貓_百度搜索</title>");
});
//2、檢查狀態碼
pm.test("檢查狀態碼", function () {
pm.response.to.have.status(200);
});
//3、檢查回應時間
pm.test("檢查回應時間小于300ms", function () {
pm.expect(pm.response.responseTime).to.be.below(300);
});
//4、獲取狀態碼
var code=responseCode.code;
//5、設定全域變數
pm.globals.set("codename", code);
通過js腳本我們獲取狀態碼后,存在一個全域變數codename里面,然后我們打開環境變數管理進行查看,如下:


實體二:將微信獲取token的回傳值提取token出來,在后面的介面中進行參考
- 在Tests中進行腳本測驗
//1、獲取jsonData資料包
var jsonData=https://www.cnblogs.com/www642830685/p/JSON.parse(responseBody);
//2、通過json包獲取對應欄位名access_token
var token=jsonData.access_token;
//設定token全域變數
pm.globals.set("myToken",token);
- 查看環境變數管理內容如下:

6、正則運算式使用(以獲取微信的token為例)
- 上面那個獲取腳本的方式其實是有一個缺點的,那種方式只能獲取一個JSON格式的值,而當我們切換型別后就沒辦法獲取了,所以我們可以采用更好一點的方法,正則運算式
var token=responseBody.match(new RegExp('\access_token\":\"(.+?)\"'))[1];
pm.globals.set("weixin_token",token);
7、提出問題①(關于百度在不同環境訪問問題):
當我們訪問百度時,可以通過網址進行訪問,也可以通過IP地址進行訪問,那么我們切換不同的環境時,如何讓它們都能用呢?
- 如何查看百度的IP地址呢?
首先WIN+R 進入cmd
然后輸出以下命令:
nslookup www.baidu.com
于是我們能查看到如下內容(每個電腦的顯示界面可能不一樣)

通過查看,我們就能得到百度的三種環境:生產環境、測驗環境、預發布環境
www.baidu.com 生產環境
IP地址:
183.232.231.172 測驗環境
183.232.231.174 預發布環境
- 公司的環境有哪些?
開發環境:開發人員用來編碼除錯
測驗環境:測驗人員找bug
預發布環境:模擬的真實環境
生產環境:用戶真實使用的
PS:那么我們將主機設定為全域變數,這樣我們對于不同的環境都能夠使用,此時我們打開Postman,進入之前的環境變數管理,點擊Add然后添加這三個環境,注意我們的環境變數名稱要統一
1、測驗環境配置

2、生產環境配置

3、預發布環境配置

8、提出問題②(關于請求頭封裝隱藏問題)
- ①提取回傳值(正則運算式、json)
- ②環境變數的設定
- ③修改請求頭
- ④引數化回圈取值
之前各個環境配置好了之后,我們發送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自動化、介面、框架搭建學習資料!技術大牛解惑答疑,同行一起交流,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/228451.html
標籤:其他
上一篇:API管理平臺的價值
