POSTMAN- Генерация тела запроса динамически с использованием файлов данных для передачи значений для определенных полей
Как я могу генерировать эту полезную нагрузку автоматически в почтальоне. Пожалуйста, смотрите структуру ниже.
Я меняю только номер счета / имя учетной записи в полезной нагрузке. Если бы я добавил 200 учетных записей для идентификатора клиента, мне пришлось бы вставить 200 отдельных структур в массив. Есть ли лучший способ поддерживать и генерировать полезную нагрузку на лету, поскольку я знаю, что меняются только 2 поля, и я мог бы передать их как переменные. Я пробовал Сборщик Бегов, но я не могу отправить их как один запрос.
К вашему сведению - для другой компании это будет 100, 50 или 500, я хочу использовать ту же полезную нагрузку для любого запроса.
К вашему сведению - необходимо передать все эти учетные записи в одном запросе, потому что любой второй запрос обрабатывается сервером как изменение.
{
"context": {
"EID": "ACC_123",
"eventTime": "2018-01-02T00:00:00.000Z",
"Eaction": "INIT"
},
"payload": [
{
"accountNumber": "12345",
"accountName": "abcd",
"accountAliasName": "",
"customerId": "150740000",
"ccy": "THB",
"accountStatus": "A",
"branch": "001",
"bankCode":"0001"
},
{
"accountNumber": "123456",
"accountName": "abcde",
"accountAliasName": "",
"customerId": "150740001",
"ccy": "THB",
"accountStatus": "A",
"branch": "001",
"bankCode":"0001"
}
]
Updated-
Pre-REQ:
payloadarr.push(
{
"accountNumber": Account_Number ,
"accountName": Account_Name,
...
"context": {
"eventID": "TEST_JSL_0120191",
"eventTime": "2018-01-02T00:00:00.000Z",
"action": "INITIATE"
},
"payload": [payloadarr]
Тело:
{{AccountActivation_Payload}}
...
Запрос пройден:
{"context":{"eventID":"TEST_JSL_0120191","eventTime":"2018-01-02T00:00:00.000Z","action":"INITIATE"},"payload":[[]]}
Ожидание: полезная нагрузка должна иметь добавленные значения
{"context":{"eventID":"TEST_JSL_0120191","eventTime":"2018-01-02T00:00:00.000Z","action":"INITIATE"},"payload":[{
"accountNumber": "12345",
"accountName": "abcd",
"accountAliasName": "",
"customerId": "150740000",
"ccy": "THB",
"accountStatus": "A",
"branch": "001",
"bankCode":"0001"
},]}
1 ответ
Вы можете создать следующее Pre-request Script
var requestBody = {
"context": {
"EID": "ACC_123",
"eventTime": "2018-01-02T00:00:00.000Z",
"Eaction": "INIT"
},
"payload": []
};
for (var i = 0; i < 200; i++) {
requestBody.payload.push({
"accountNumber": 12345 + i,
"accountName": "abcd" + i,
"accountAliasName": "",
"customerId": "150740000",
"ccy": "THB",
"accountStatus": "A",
"branch": "001",
"bankCode": "0001"
});
}
postman.setEnvironmentVariable('requestBody', JSON.stringify(requestBody));
и установить переменную среды requestBody
затем вы можете вызвать его в теле запроса, используя {{requestBody}}