Postman 測試swagger類接口技巧

測試情景:

公司的項目接口愈來愈多,因爲開發週期短,時間緊,缺少接口文檔,直接使用swagger記錄全部接口信息。那麼:python

1. 咱們如何更快的測試動輒300+數量的接口,如何分組管理和維護這些接口?json

2. 接口中須要隨機函數,傳參,爲了安全須要token, cookie,Authorization等認證,如何解決?api

 

解決方案:

一、下載Postman 工具,自行百度。安全

一、在登錄接口訪問後設置Postman的環境變量(Environment),例如設置環境變量名:token,值爲登錄接口訪問成功後,在responseBody中的token值,如何設置請看下面具體描述。
二、訪問其餘接口時token值直接讀取變量便可。Postman裏面獲取變量的語法爲:{{變量名}}
 

具體步驟:

一、登錄接口介紹

 

如圖所示,login接口返回值JSON格式大致爲:
1 {
2     "code": 200,
3     "data": "eyJhbGciOiJIUzUxMiJ9.eyJhdXRoZW50aWNhdGlvbiI6Y2hlbm1lbmdxaSIsImV4cCI6MTUzNTY1oqCA",
4     "message": "SUCCESS"
5 }

 

 
返回值中有token值, 這個值怎麼在訪問login接口後自動設置爲Postman環境變量呢?
 
二、在訪問login接口後自動設置爲Postman環境變量
在Postman軟件的Tests中寫如下代碼,設置環境變量
 
1 pm.test("Status code is 200", function () {
2     pm.response.to.have.status(200);
3 });
4  
5 // 把responseBody轉爲json字符串
6 var resp= JSON.parse(responseBody);
7 // 設置環境變量token,供後面的接口引用
8 pm.environment.set("token", resp.data);

 

以下圖所示:cookie

 

點擊右上角的眼睛按鈕,能夠本身添加環境,運行了上面接口以後就會發現:dom

 

 

三、訪問其餘接口,環境變量token

 

 

 

如圖紅色標註的所示
一、Url填另外一個接口
二、TYPE中選擇token的類型,我這裏用到的是 Bearer Token
三、右邊紅色標註的部分設置token值,格式爲:{{token}},獲取前面login接口訪問時動態設置的token,
那麼這個接口就能夠用了
 
點擊Send會訪問成功。

 

問題解決二: 一鍵導入swagger

打開postman ,而後點擊左上角的import,在Import from link中填入公司的swagger地址 (使用f12,選擇下圖的value,複製下來)編輯器

 

 

 

 

 這樣你就能在collections 裏面看見整個項目的接口了。函數

 

擴展: postman自帶的函數

PostMan 除了提供環境變量和全局變量外,還提供了三種隨機數。
{{$guid}}
:添加一個V4風格GUID工具

{{$timestamp}}
:將當前的時間戳,精確到秒post

{{$randomInt}}
:添加0和1000之間的隨機整數

 

 

postman能夠批量執行,不過從swagger導出來的api是沒有參數的,須要自行爲每個接口填入合適的參數並點save保存,後續能夠使用。

 

自動生成腳本: 腳本能夠放在python編輯器而後正常輸出

 

 驗證接口:(postman提供了不少的驗證方法,點擊便可使用,要驗證的值代替藍色的參數值)

 

 

缺點:Postman 做爲工具在自定義函數(函數有限),參數傳遞(不是任意地方均可以調用)方面仍是有限制。測試報告也不算好看。文件夾導出以後只有一個json文件,不方便二次操做。

 

因此接口自動化我在這邊選擇了python腳本,下次再介紹。

關於postman函數的高級用法可參考: https://blog.csdn.net/sd7o95o/article/details/78141023

相關文章
相關標籤/搜索