POSTMAN-使用数据文件动态生成请求主体,以传递某些字段的值

问题描述 投票:0回答:1

如何在邮递员中自动生成此有效负载。请参阅下面的结构。

我只更改有效负载中的帐号/帐户名。如果我为客户ID添加了200个帐户,则必须在数组中插入200个单独的结构。是否有更好的方法来保持和生成有效载荷,因为我知道只有2个字段正在改变,我可以将它们作为变量传递。我尝试了Collection Runner但我无法将这些作为一个请求发送。

仅供参考 - 对于另一家公司,它将是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"
}
]

更新-

预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"
    },]}
postman web-api-testing postman-pre-request-script
1个回答
0
投票

你可以创建以下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}}在请求体中调用它

© www.soinside.com 2019 - 2024. All rights reserved.