我正在使用邮差,我正试图将一些请求链在一起。有一个在我的第一个请求中生成的标识字符串,我想在我的第二个请求中使用,例如,类似于搜索产品,然后将该产品添加到购物篮中。
现在我已经能够从第一个请求中提取值,并且我可以在第二个请求中拾取它。问题是标识字符串中有一个&号。当我发布第二个请求时,它抛出一个错误,因为在字符串中没有转义&号。我想用"&"替换变量中的&符号,但是我不能让这个工作。
我是新的JavaScript,所以我想这是问题所在。在Postman中,我有:
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
postman.setEnvironmentVariable("ItineraryId", jsonObject.ItineraryId);
ItineraryId.replace("&","&");
返回"在评估测试脚本时有一个错误:未定义ItineraryId"。所以我试了:
var jsonObject = xml2Json(responseBody);
console.log(jsonObject);
var oldId = postman.setEnvironmentVariable("ItineraryId", jsonObject.ItineraryId);
oldId.replace("&","&");
并得到"在评估测试脚本时出现错误:无法读取未定义的属性'replace' "
明白了!
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/", ""));
在这个例子中,在响应头:Location
的/api/users
上POST后,我们收到了到新资源的链接。您可以使用其他变量,如:pm.environment.get("api_url")