日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Postman高级使用——Tests 断言校验返回结果

發布時間:2023/12/31 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 Postman高级使用——Tests 断言校验返回结果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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=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自動化、接口、框架搭建學習資料!技術大牛解惑答疑,同行一起交流。

總結

以上是生活随笔為你收集整理的Postman高级使用——Tests 断言校验返回结果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。