Postman Faker или фикстуры
Faker.js
На официальном сайте есть способ подключения Faker.js.
Этот способ мне кажется костыльным - нужный функционал можно было бы завезти и в сам Постман. И обойтись без лишних запросов к CDN. Дублирую его сюда:
/** * The faker code from the CDN is trying to set the faker object as a property of window, * which is undefined in the Postman Sandbox. To work around this, we explicitly define * window as an empty object before running the faker injection snippet. */ window = {}; pm.sendRequest("https://cdnjs.cloudflare.com/ajax/libs/Faker/3.1.0/faker.min.js", (error, response) => { if (error || response.code !== 200) { pm.expect.fail('Could not load external library'); } eval(response.text()); // This is where you can set the locale. See faker.js docs for all available locales. window.faker.locale="fr"; pm.collectionVariables.set("name", window.faker.name.firstName() + " " + window.faker.name.lastName()); pm.collectionVariables.set("phoneNumber",window.faker.phone.phoneNumber()); pm.collectionVariables.set("streetAddress",window.faker.address.streetAddress()); });
Использование переменных
В Постмане предусмотрены такие переменные:
$randomInt
- случайное число$guid
- guid (uuid)$timestamp
- текущий таймстемп
Эти переменные можно использовать в Постмане, но они не подставляются в скрипт Pre-request. Чтобы это сделать, нужно сделать так:
const {Property} = require('postman-collection'); let random = Property.replaceSubstitutions("{{$randomInt}} {{$guid}} {{$timestamp}}"); console.log(random);
Пример вывода:
522 b53d7eca-b34b-4a4d-86af-917f092b4f20 1675180530
Uuid
Можно использовать переменную $guid
. А в скриптах - воспользоваться функцией:
const uuid = require('uuid'); console.log(uuid.v4())
Пример вывода:
6d5682c8-e010-474d-a77d-16fd5b5a6fd7