在邮递员请求json正文中,我想将变量设置为变量。
这适用于内置$ timestamp,但我可以为其他数字做吗?
似乎邮递员总是将变量作为字符串编码发送。
例如,在预请求脚本中:
var lat = +pm.environment.get('lat');
lat = clat + 0.001;
console.log(lat);
pm.environment.set('lat', Number.parseFloat(lat).toPrecision(5));
身体: { “unixTimeStamp”:{{$ timestamp}},//确定
"lng": 145.123, // OK
"lat": {{$lat}}, // Fails
}
这发送: { “unixTimeStamp”:1521769729,
"lng": 145.123,
"lat": "-37", // Web service rejects this field.
}
我相信数字总是被编码为字符串。
答案 0 :(得分:1)
变量名前面的$
仅用于内置动态变量的几个地方。例如$ timestamp,$ guid和$ randomInt。
Environment
文件中的每个值都存储为字符串,因此您需要以某种方式解析它以获取所需的值。
您可以使用parseInt(pm.environment.get('my_string')
将已保存的字符串"100"
转换为请求中的数字100
,也可以parseFloat
,具体取决于您的需要。
然后在请求正文中使用
"lat": {{lat}},