我已执行POST请求以创建新合同。此请求的Json响应是一个字符串ID。
"03007"
“我的帖子”请求已进行测试,可以将响应另存为环境变量。
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("newContractNb", jsonData);
然后我有一个GET请求,该请求将响应变量插入请求中,以便获取我创建的合同的数据。
我的回应就是这样。
{
"contractNb": "03007",
"progSrvcNm": "009",
"contractPrtyNm": "PostmanAutomationContract",
"contractCd": "000",
"signDt": "2018-01-01T00:00:00",
"startDt": "2018-01-01T00:00:00",
"endDt": "2025-01-01T00:00:00",
"remitTerms": 30
}
我在Get方法中有一个Test来将该响应主体保存为变量。
pm.environment.set('getRequestBody', pm.response.json())
然后可以在PUT请求的“正文”或“先决条件”部分中使用此变量,但是以某种方式使其能够更改选择参数-仅限于contractPrtyNm吗?
答案 0 :(得分:0)
当您收到来自“ {{url}} / {{newContractNb}}”的回复时,您可以尝试这样的操作。修改属性,然后在请求中设置正文:
var jsonData = pm.response.json();
jsonData.progSrvcNm = "blah";
pm.environment.set("response_b", jsonData);
然后在您的PUT请求(类型无关紧要)正文中将其设置为
pm.environment.get("response_b");
答案 1 :(得分:0)
感谢@Danny Dainton的帮助!
帖子后的我的Get方法包含以下内容,以便将响应另存为变量并将其全部编辑。
let jsonData = pm.response.json()
jsonData.stuff = "PostmanAutomationContractEdit"
jsonData.otherStuff = 45
jsonData.altId1 = "AutoEdit"
function thing(id, classification, foo, foos, barf, contactNb) {
this.id = id
this.classification = classification
this.foo = foo
this.foos = foos
this.barf = barf
this.contactNb = contactNb
}
let newThingData = new thing(pm.environment.get('newContractNb'), "bil", "y", "n", jsonData.thing[0].things, "000914")
jsonData.stuff[0].nextLevelStuff[0] = newPartyData
pm.environment.set('responseEdit', JSON.stringify(jsonData))
然后我在体内使用变量运行PUT方法。
{{responseEdit}}