Как рандомизировать ENUM-входы в Postman?

#json #enums #postman #postman-mocks

#json #перечисления #postman #postman-издевается

Вопрос:

В Postman я отправляю POST-запрос с JSON-body. Статус поля имеет 9 предопределенных значений ENUM: Открыто, Зарезервировано, Оплачено, Отправлено, Доставлено, возвращено, частично возвращено, Закрыто, отменено. Как я могу рандомизировать значение этого поля при отправке новых запросов?

 {
  "status": "Opened"
}
 

Ответ №1:

 a= ["Opened", "Reserved", "Paid", "Shipped", "Delivered", "Returned", "PartlyReturned", "Closed", "Canceled"]


pm.environment.set("value", _.sample(a)) 
 

В использовании тела:

    {
  "status": "{{value}}"
   }
 

Как упоминал Дэнни в комментарии выше, это правильный путь

Игнорировать ниже :

 pm.environment.set("value",a[Math.floor(Math.random() * ((a.length-1) - 0   1)   0)])
 

Добавьте это в предварительный запрос, теперь изменяемое значение изменяется случайным образом. В использовании тела:

    {
  "status": "{{value}}"
   }
 

вы также можете использовать в сборке динамическую переменную $randomint для этого

 a= ["Opened", "Reserved", "Paid", "Shipped", "Delivered", "Returned", "PartlyReturned", "Closed", "Canceled"]


random=pm.variables.replaceIn("{{$randomInt}}")

random = Math.floor((random/1000)*(a.length))

pm.environment.set("value",a[random])
 

Комментарии:

1. Lodash можно использовать для небольшого упрощения кода pm.environment.set("value", _.sample(a)) 😁

2. Полностью забыл о Lodash uff