邮递员:比较对象环境变量与响应的对象 [英] POSTMAN: Comparing object Environment variable with response's object
问题描述
我在比较对象类型的Env变量与Postman中的响应对象时遇到问题,即使看起来相同并且在任何地方都找不到答案。
I am having a problem with comparing object typed Env variable with the response's object in Postman even though it seems the same and couldn't find answers anywhere.
这里示例:
使用的对象是:
"user":
{
"id" = 1,
"first_name": "John",
"last_name": "Smith"
}
使用POST请求时,我使用以下方法将对象另存为环境变量:
When using a POST request I save the object as Environment Variable using:
var reqdata = JSON.parse(data.request);
postman.setEnvironmentVariable("User", JSON.stringify(reqdata.user));
,然后在GET响应中,我想使用以下方法进行比较:
and then in a GET response I want to compare it by using:
预请求脚本:
user = JSON.parse(postman.getEnvironmentVariable("User"));
,然后在测试中:
var data = JSON.parse(responseBody);
tests["user contains correct data"] = data.user == user;
console.log(data.user);
console.log(user);
console.log返回完全相同的对象,但我仍然失败。我尝试使用Object.is()和===,但仍返回失败。有人可以告诉我我缺少什么吗?
The console.log returns exactly the same objects but I am still getting fail. I tried using Object.is() and === but it still returns fail. Could somebody please tell me what I am missing?
干杯
推荐答案
我找到了一个解决方案,我已经使用过:
I have found a solution, I've used:
tests["user contains correct data" = JSON.stringify(data.user) == JSON.stringify(user);
我也可以删除测试脚本并使用裸露的postman.getEnvironmentVariable而不是第二个stringify( )。
And I can also just delete the test script and use bare postman.getEnvironmentVariable instead of the second stringify().
这篇关于邮递员:比较对象环境变量与响应的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!