Переиспользование переменной в запросе Postman

Рейтинг: 0Ответов: 2Опубликовано: 06.06.2023

Новичок в постмане. Пожалуйста, помогите понять, что делаю не так. Ковыряю популярный тренажер https://petstore.swagger.io/#/ В пре-реквесте коллекции задала рандомайзер, который генерирует айдишник:

pm.collectionVariables.set('randomNumber', Math.floor(Math.random() * 100000000000000));

В хендлере pet взяла метод POST - создание пета, где в боди подставила переменную с рандомным айдишником:

{
  "id": {{randomNumber}},
  "category": {
    "id": 0,
    "name": "string"
  },
  "name": "Basil",
  "photoUrls": [
    "string"
  ],
  "tags": [
    {
      "id": 0,
      "name": "string"
    }
  ],
  "status": "available"
}

Затем в этом запросе во вкладке "тесты" я загоняю полученый в ответе айдишник в переменную:

var data = JSON.parse(responseBody);
pm.collectionVariables.set("petId", data.id);

Затем в следующем тесте POST - Upload Image я хочу взять эту переменную с полученным айдишником и загрузить ему изображение (form-data), отправляю запрос, а в curl появляется вообще левый айдишник:

curl --location 'https://petstore.swagger.io/v2/pet/9223372036854753000/uploadImage' \
--form 'file=@"photo_2023-05-30_14-13-58.jpg"' \
--form 'id="9223372036854753000"'

Есть ощущение, что в запрос POST - Upload Image не подтягивается переменная petId. Что не так?

Ответы

▲ 0

в js тип number максимальное число 9007199254740991 (16 знаков)

предположу что из-за этого

попробуй в BigInt положить https://learn.javascript.ru/types

или в строку преобразуй

▲ 0

Проблема решилась переименованием переменной с petId на currentId + в этом скрипте

var data = JSON.parse(responseBody);
pm.collectionVariables.set("petId", data.id);

замена двойных кавычек на одинарные. Что-то из этого помогло. Ну, и в рандомайзер добавила это число: 9007199254740991