Освоение переменных коллекции Postman: изучение мощных методов тестирования и автоматизации API

Postman – популярный инструмент, используемый разработчиками и тестировщиками для тестирования и автоматизации API. Одной из его мощных функций является возможность работы с переменными коллекции. Переменные коллекции позволяют определять и использовать динамические значения в рабочих процессах API, что делает ваши тесты более гибкими, многоразовыми и эффективными. В этой статье мы рассмотрим различные методы работы с переменными-коллекциями Postman, а также приведем примеры кода, которые помогут вам полностью раскрыть их потенциал.

  1. Основное использование переменных:
    Давайте начнем с базового использования переменных-коллекций в 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"
});
  1. Динамическое назначение переменных:
    Вы можете динамически присваивать значения переменным коллекции во время выполнения. Это полезно, когда вам нужно извлечь данные из ответов и использовать их в последующих запросах. Вот пример извлечения токена доступа из ответа на вход:
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")
  }
});
  1. Генерация случайных данных.
    Вы можете генерировать случайные данные с помощью языка сценариев 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"
  }
});
  1. Перебор наборов данных.
    Вы можете определить массив значений в переменной коллекции и перебирать их с помощью циклов. Это полезно, когда вам нужно выполнить один и тот же запрос с разными наборами данных. Вот пример, демонстрирующий перебор массива идентификаторов пользователей:
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 для получения подробной информации о работе с переменными коллекции и изучения дополнительных расширенных функций.