postman Variables變數的詳解與應用

2022-07-09 12:48:10 字數 2999 閱讀 9625

全域性變數 < 集合變數 < 自定義環境變數 < 資料變數 < 本地變數

可以通過 } 的方式使用變數,如下圖所示:

postman在請求構造器的右上角提供了兩處比較便捷的方式設定全域性變數和自定義環境變數,分別是環境快速預覽按鈕和環境設定按鈕。如下圖所示:

環境快速預覽頁面

環境設定頁面

全域性變數儲存在postman的全域性環境中,全域性變數可以通過ui或指令碼進行設定。

編輯ui如下

全域性變數可以在 請求前指令碼和測試指令碼中進行設定和獲取。

設定全域性變數指令碼如下:

pm.globals.set("variable_key", "variable_value");

語法 :pm.globals.set(「變數名」, 「變數的值」);

獲取全域性變數指令碼如下:

var globals_variable = pm.globals.get("variable_key");

語法 :pm.globals.get(「變數名」);

集合指的多個請求的集合,集合中可以有多個資料夾(資料夾中有請求)或請求。

開啟方式:集合 … 按鈕 》 edit 》 variables

如下圖所示:

集合變數可以在 請求前指令碼和測試指令碼中進行設定和獲取。

設定集合變數指令碼如下:

pm.collectionvariables.set("variable_key", "variable_value");

語法 :pm.collectionvariables.set(「變數名」, 「變數的值」);

獲取集合變數指令碼如下:

var collectionvariable = pm.collectionvariables.get("variable_key");

語法 :pm.collectionvariables.get(「變數名」);

自定義環境變數(下面稱之為 環境變數) 是postman中最常用的變數。首先,環境變數可以通過視覺化ui進行編輯,匯入,匯出等操作,資料視覺化效果好;然後,環境變數 可以設定多個環境,環境切換簡單;最後,環境變數可以通過指令碼進行修改。

設定環境變數指令碼

pm.environment.set("variable_key", "variable_value");

語法 :pm.environment.set(「變數名」, 「變數的值」);

獲取環境變數指令碼

var environmentvariable = pm.environment.get("variable_key");

語法 :pm.environment.get(「變數名」);

資料變數是指執行時指定的資料檔案,postman 目前支援csv和json格式的資料檔案。如果我們需要對乙個或者多個請求進行多資料的批量測試,那麼匯入預設的資料檔案絕對是乙個好的選擇。

匯入資料檔案

csv 和 json 資料格式如下:

開啟方式 : 選擇集合 》 runner(是個logo) 按鈕 》 選擇請求資料夾或請求 》 選擇檔案 (選擇後可以預覽資料)》 選擇請求 》run

執行結果如下:

可以看出有三條測試資料,這裡請求自動執行了三次。

在請求前置指令碼中可以操作 資料變數 data ,但是在tests指令碼中則無法操作 資料變數。

設定資料變數指令碼

pm.iterationdata.set("variable_key", "variable_value");

語法 :pm.iterationdata.set(「變數名」, 「變數的值」);

獲取資料變數指令碼

var iterationdata = pm.iterationdata.get("variable_key");

語法 :pm.iterationdata.get(「變數名」);

postman 變數根據不同的測試需求應該靈活運用,一下是個人一些見解:

在集合中特有的變數,可以設定在集合變數中。首先,集合匯出時回將集合變數一起匯出(匯入同理);其次可以減少環境變數的數量。

需要在集合間傳遞或共用的變數設定為環境變數。使用環境變數可以多個集合共用,並且匯入匯出簡單,可以根據情況設定多個環境。

批量測試,多組資料測試使用資料變數。可以預先設定測試資料,批量完成測試。

互斥鎖與條件變數詳解

互斥量 mutex 從本質上說是一把鎖,在訪問共享資源前對互斥量進行加鎖,在訪問完成後釋放互斥量上的鎖。在互斥量進行加鎖以後,任何其它試圖再次對互斥量加鎖的執行緒將會阻塞直到當前執行緒釋放該互斥鎖。如果釋放互斥鎖時有多個執行緒阻塞,所有在該互斥鎖上的阻塞執行緒都會變成可執行狀態,第乙個變為可執行狀態...

sequence與connect by的應用

1.users是使用者表,userid是從sequence得到的唯一序號,作為主鍵,下面的觸發器方便每次插入分配唯一的序列,其他表也可以參考於此.create or replace trigger users trig before insert on users for each row decl...

詳解python 區域性變數與全域性變數

本文將詳細分析python的全域性變數與區域性變數,學過php的人都知道,php裡面的全域性變數是無法在function裡面去使用的,只有超全域性變數才可以,那麼python會怎麼處理全域性變數與區域性變數呢?下面我們來看一下 其實python裡面的全域性變數,一般跟c語言裡面是一樣的12 3456...