是否可以在邮递员中修改变量
Is it possible to modify a variable in Postman
我正在使用 Postman,我正在尝试将一些请求链接在一起。在我的第一个请求中生成了一个标识字符串,我想在第二个请求中使用它,例如类似于搜索产品,然后将该产品添加到购物车。
现在我已经能够从第一个请求中提取值,并且可以在第二个请求中提取它。问题是身份字符串中有一个&符号。当我 post 第二个请求时,它会抛出一个错误,因为字符串中的 & 符号没有被转义。我想用“&”替换变量中的“&”符号,但我无法让它工作。
我是 JavaScript 的新手,所以我想这就是问题所在。在 Postman 中我有:
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
postman.setEnvironmentVariable("ItineraryId", jsonObject.ItineraryId);
ItineraryId.replace("&","&");
这个returns"There was an error in evaluating the test script: ItineraryId is not defined"。所以我尝试了:
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
var oldId = postman.setEnvironmentVariable("ItineraryId", jsonObject.ItineraryId);
oldId.replace("&","&");
得到"There was an error in evaluating the test script: Cannot read property 'replace' of undefined"
提前致谢。
想通了!
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
var itineraryId = jsonObject.ItineraryId;
itineraryId = itineraryId.replace("&","&");
postman.setEnvironmentVariable("ItineraryId", itineraryId);
您应该像下面的示例那样使用 pm.collectionVariables.set
:
pm.collectionVariables.set("userId", pm.response.headers.get('Location').replace(pm.environment.get("api_url") + "/api/users/", ""));
在此示例中,在 /api/users
上的 POST 响应 header 之后:Location
我们收到了新资源的 link。您可以使用其他变量,例如:pm.environment.get("api_url")
我正在使用 Postman,我正在尝试将一些请求链接在一起。在我的第一个请求中生成了一个标识字符串,我想在第二个请求中使用它,例如类似于搜索产品,然后将该产品添加到购物车。
现在我已经能够从第一个请求中提取值,并且可以在第二个请求中提取它。问题是身份字符串中有一个&符号。当我 post 第二个请求时,它会抛出一个错误,因为字符串中的 & 符号没有被转义。我想用“&”替换变量中的“&”符号,但我无法让它工作。
我是 JavaScript 的新手,所以我想这就是问题所在。在 Postman 中我有:
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
postman.setEnvironmentVariable("ItineraryId", jsonObject.ItineraryId);
ItineraryId.replace("&","&");
这个returns"There was an error in evaluating the test script: ItineraryId is not defined"。所以我尝试了:
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
var oldId = postman.setEnvironmentVariable("ItineraryId", jsonObject.ItineraryId);
oldId.replace("&","&");
得到"There was an error in evaluating the test script: Cannot read property 'replace' of undefined"
提前致谢。
想通了!
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
var itineraryId = jsonObject.ItineraryId;
itineraryId = itineraryId.replace("&","&");
postman.setEnvironmentVariable("ItineraryId", itineraryId);
您应该像下面的示例那样使用 pm.collectionVariables.set
:
pm.collectionVariables.set("userId", pm.response.headers.get('Location').replace(pm.environment.get("api_url") + "/api/users/", ""));
在此示例中,在 /api/users
上的 POST 响应 header 之后:Location
我们收到了新资源的 link。您可以使用其他变量,例如:pm.environment.get("api_url")