Postman是一個流行的API開發和測試工具,支持快速創建和執行HTTP請求。它不僅可以用於測試API,還可以用於處理HTTP請求中的各種事件。其中,設置變量非常重要,本文將從多個方面詳細闡述Postman設置變量的方法和技巧。
一、設置全局變量
全局變量在整個Postman環境中可見,多個集合之間和請求之間都可以共享。它們非常適合需要存儲固定值的場景,如環境變量、身份驗證令牌等。
在Postman中,設置全局變量很簡單。只需在Variables選項卡中定義一個名稱和值即可。例如,我們要定義一個名稱為”apiUrl”的全局變量來存儲我們的API地址:
// 定義全局變量
pm.globals.set("apiUrl", "https://api.example.com");
在需要使用全局變量的地方,可以使用{{$variableName}}的方式調用。例如,我們要使用”apiUrl”全局變量中的值創建一個GET請求:
// 獲取全局變量中的值
const apiUrl = pm.globals.get("apiUrl");
// 發送GET請求
pm.sendRequest({
url: apiUrl + "/users",
method: 'GET',
header: {
'Content-Type': 'application/json'
}
}, function(res) {
console.log(res);
});
這樣,我們就可以輕鬆地在多個請求中共享相同的API地址了。
二、設置環境變量
環境變量通常用於存儲每個環境的特定值,例如服務器地址、用戶名和密碼等。在Postman中,您可以輕鬆地切換環境並使用相應的環境變量。
要設置環境變量,請單擊菜單欄中的”環境”按鈕,然後單擊”管理環境”。在”環境”選項卡中,您可以定義環境名稱和變量。
// 定義環境變量
pm.environment.set("apiUrl", "https://api.example.com");
同樣,您可以在需要使用環境變量的地方使用{{$variableName}}調用變量。例如,我們要使用環境變量中的值創建一個POST請求:
// 獲取環境變量中的值
const apiUrl = pm.environment.get("apiUrl");
// 發送POST請求
pm.sendRequest({
url: apiUrl + "/login",
method: 'POST',
header: {
'Content-Type': 'application/json'
},
body: {
mode: 'raw',
raw: JSON.stringify({
"username": "testuser",
"password": "testpassword"
})
}
}, function(res) {
console.log(res);
});
在切換環境時,環境變量的值將自動更新。
三、動態設置變量
Postman還支持在測試腳本中動態設置變量。這對於需要動態生成值的場景非常有用,例如隨機生成的ID、時間戳和密碼等。
您可以在測試腳本中使用pm.variables.set()方法動態設置變量。例如,我們要在測試腳本中動態生成一個隨機數,並將其存儲在變量中:
// 生成隨機數
const randomNum = Math.floor(Math.random() * 1000);
// 設置變量
pm.variables.set("randomNumber", randomNum);
console.log(pm.variables.get("randomNumber"));
在測試腳本中設置的變量可以在請求的其他部分中使用。例如,我們可以使用{{$randomNumber}}調用這個變量:
// 獲取變量
const randomNumber = pm.variables.get("randomNumber");
// 發送GET請求
pm.sendRequest({
url: apiUrl + "/user/" + randomNumber,
method: 'GET',
header: {
'Content-Type': 'application/json'
}
}, function(res) {
console.log(res);
});
這樣,我們就可以動態生成值並使用它們來測試我們的API。
四、從響應中提取值並設置變量
在測試API時,有時需要從響應中提取值並將其存儲在變量中。例如,在訪問API時,我們需要在後續請求中使用身份驗證令牌。這可以通過使用Postman的測試腳本方法來實現。
當Postman收到響應時,可以使用測試腳本來提取響應中的值,並將其存儲在變量中。例如,我們可以使用pm.test()方法編寫測試腳本來提取響應的身份驗證令牌:
// 檢查狀態碼
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
// 接收響應體
const responseBodyJson = pm.response.json();
// 存儲令牌
pm.environment.set("authToken", responseBodyJson.token);
在上面的代碼中,pm.test()方法檢查響應的狀態碼是否為200。然後,我們使用pm.response.json()方法接收響應體,並使用pm.environment.set()方法將令牌存儲在環境變量中。
通過這樣的方法,我們可以輕鬆地提取響應中的值並將其存儲在變量中,以便後續請求使用。
五、使用預置變量
Postman還提供了一些預置變量,可以方便地在測試腳本和請求中使用。
例如,在測試腳本中,您可以使用pm.expect()和pm.test()方法來檢查響應。以下是一些常用的預設變量:
- pm.expect()
- pm.test()
- pm.variables.get()
- pm.variables.set()
- pm.globals.get()
- pm.globals.set()
- pm.environment.get()
- pm.environment.set()
- pm.request.url
- pm.request.headers
- pm.response.code
- pm.response.headers
- pm.response.body
例如,以下是使用預置變量檢查響應狀態碼的示例代碼:
pm.test("Status code is 200", function () {
pm.expect(pm.response.code).to.equal(200);
});
在請求中,您可以使用預設變量來構建請求URL、設置標頭和請求主體等。例如,以下是使用預置變量構建請求URL的示例代碼:
const apiUrl = "https://api.example.com";
const endpoint = "/users";
const userId = "123";
pm.request.url = apiUrl + endpoint + "/" + userId;
以上就是Postman設置變量的多個方面的詳細闡述。無論是設置全局變量、環境變量、動態設置變量、從響應中提取值並設置變量還是使用預置變量,Postman都可以輕鬆地處理。這些技巧將幫助您更有效地使用Postman進行API開發和測試。
原創文章,作者:TSILK,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/370327.html