Postman – популярный инструмент, используемый разработчиками и тестировщиками для тестирования и автоматизации API. Одной из его мощных функций является возможность работы с переменными коллекции. Переменные коллекции позволяют определять и использовать динамические значения в рабочих процессах API, что делает ваши тесты более гибкими, многоразовыми и эффективными. В этой статье мы рассмотрим различные методы работы с переменными-коллекциями Postman, а также приведем примеры кода, которые помогут вам полностью раскрыть их потенциал.
- Основное использование переменных:
Давайте начнем с базового использования переменных-коллекций в Postman. Вы можете определить переменную в области коллекции или среды и использовать ее в запросах, сценариях предварительного запроса, тестах и т. д. Вот пример:
// Define a collection variable
pm.collectionVariables.set("baseURL", "https://api.example.com");
// Use the variable in a request
pm.sendRequest({
url: pm.collectionVariables.get("baseURL") + "/users",
method: "GET"
});
- Динамическое назначение переменных:
Вы можете динамически присваивать значения переменным коллекции во время выполнения. Это полезно, когда вам нужно извлечь данные из ответов и использовать их в последующих запросах. Вот пример извлечения токена доступа из ответа на вход:
pm.sendRequest({
url: "https://api.example.com/login",
method: "POST",
body: {
username: "myusername",
password: "mypassword"
},
// Extract the access token and assign it to a variable
response: pm.response.json(),
events: {
"prerequest": [
{
listen: "test",
script: {
exec: `
pm.collectionVariables.set("accessToken", pm.response.json().access_token);
`
}
}
]
}
});
// Use the extracted access token in subsequent requests
pm.sendRequest({
url: "https://api.example.com/data",
method: "GET",
headers: {
Authorization: "Bearer " + pm.collectionVariables.get("accessToken")
}
});
- Генерация случайных данных.
Вы можете генерировать случайные данные с помощью языка сценариев Postman Sandbox и назначать их переменным коллекции. Это полезно для создания динамических тестовых данных. Вот пример создания случайного адреса электронной почты:
const randomEmail = "user" + Math.floor(Math.random() * 1000) + "@example.com";
pm.collectionVariables.set("email", randomEmail);
// Use the generated email address in a request
pm.sendRequest({
url: "https://api.example.com/register",
method: "POST",
body: {
email: pm.collectionVariables.get("email"),
password: "mypassword"
}
});
- Перебор наборов данных.
Вы можете определить массив значений в переменной коллекции и перебирать их с помощью циклов. Это полезно, когда вам нужно выполнить один и тот же запрос с разными наборами данных. Вот пример, демонстрирующий перебор массива идентификаторов пользователей:
const userIds = ["user1", "user2", "user3"];
userIds.forEach(userId => {
pm.collectionVariables.set("userId", userId);
pm.sendRequest({
url: "https://api.example.com/users/" + pm.collectionVariables.get("userId"),
method: "GET"
});
});
Переменные коллекции Postman предоставляют мощный механизм управления динамическими данными в рабочих процессах тестирования API и автоматизации. В этой статье мы рассмотрели различные методы работы с переменными коллекции, включая базовое использование, динамическое назначение переменных, генерацию случайных данных и перебор наборов данных. Освоив эти методы и используя предоставленные примеры кода, вы сможете повысить гибкость, возможность повторного использования и эффективность тестов API в Postman.
Не забывайте всегда обращаться к документации Postman для получения подробной информации о работе с переменными коллекции и изучения дополнительных расширенных функций.