邮递员:比较对象环境变量与响应的对象 [英] POSTMAN: Comparing object Environment variable with response's object

查看:73
本文介绍了邮递员:比较对象环境变量与响应的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在比较对象类型的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆