是否可以在邮递员中修改变量

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")