邮差:全局变量存储为字符串



{{productId1}} = 1

这是请求:

localhost:9000/test/product/{{productId1}}

它工作并返回我:

{
  "productId": 1,
  "title": "Hat X",
  "description": "This is Hat X."
}

但是,它不是在测试:

var jsonData = JSON.parse(responseBody);
tests["Status code is 200"] = responseCode.code === 200;
tests["Product ID"] = jsonData.productId === "{{productId1}}";
tests["Title"] = jsonData.title === "Hat X";
tests["Description"] = jsonData.description === "This is Hat X.";

第三行一直失败。发生了什么事?是因为productId1被读为字符串吗?如果是这样,我试着将其解析为整数,没有运气。如何传递它而不丢失类型?

我试着:

tests["Product ID"] = jsonData.productId === "{{productId1}}";
tests["Product ID"] = jsonData.productId === "{{$productId1}}";
tests["Product ID"] = jsonData.productId === {{productId1}};
tests["Product ID"] = jsonData.productId === productId1;

为了获得测试窗口中的全局变量,您应该使用'postman.getGlobalVariable()'函数。

在你的例子中,应该是这样的:

tests["产品ID"] = jsonData。productId === postman.getGlobalVariable("productId1");

相关内容

  • 没有找到相关文章

最新更新