无法通过Postman的环境变量访问javascript对象

时间:2017-03-07 05:31:55

标签: javascript object automated-tests postman

我是postman API测试的新手 最近我使用它的集合运行器来测试数据文件(json)的请求迭代。 奇怪的是,如果我尝试访问之前设置的环境变量,则控制台日志始终显示[object Object]而不是Object {}
这是我对邮递员的预请求代码:

postman.setEnvironmentVariable("username", data.username);
postman.setEnvironmentVariable("password", data.password);

和邮递员的测试代码:

var userData = {
    username: environment.username,
    password: environment.password
};

postman.setEnvironmentVariable("user", userData);

console.log(environment.user);

for(var key in environment.user){
    console.log(key + ": "+ environment.user[key]);
}

请求网址:https://echo.getpostman.com/get?username={{username}}&password={{password}}

data.json:

[{
    "username" : "Jon Snow",
    "password" : "iloveGot123"
},{
    "username" : "Akali",
    "password" : "iWillKickyalla55"
},{
    "username" : "Ricky Grimmes",
    "password" : "rg0123455"
}]

请帮助谢谢。

1 个答案:

答案 0 :(得分:1)

根据文件:

  

postman.setEnvironmentVariable(variableName,variableValue):设置环境变量“variableName”,并为其分配字符串“variableValue”。您必须为此方法选择一个环境才能工作。 注意:只能存储字符串。存储其他类型的数据将导致意外行为。

https://www.getpostman.com/docs/sandbox

所以基本上它显示了因为它只想要一个字符串。

您可以使用JSON.stringify()包装对象以将其转换为字符串,然后在想要将其转换回对象时使用JSON.parse()