一、Postman中如何设置环境变量:
下面以调用通用的百度翻译API请求为例,学习如何设置环境变量:
可以在http://api.fanyi.baidu.com/doc/21里查找接口地址。
步骤:
1)从接口文档中,我们可以查找到我们所需要的请求url地址和所需的请求传递参数:q,from,to,appid,salt,sign
2)查看接口文档的例子,准备好请求的传递参数;
传递参数:
①q:计划写在Pre-request Script中,实现可以随时改变要翻译的内容,再设置为环境变量,然后再通过引用进行传值;
//定义要翻译的字符串
var query = 'happy';
//将query设置为环境变量,赋值给变量q
pm.environment.set("q",query)
②from:auto
③to:zh
④appid:需注册成为开发者,才可以获得;
(在发送请求时,该参数都保持不变,所有可以考虑设置为环境变量)
⑤salt:随机码;
(为了可以随机生成salt值,可以使用Math.random()*(y-x)+x函数生成随机数。)
//定义一个随机数(23456, 65432)之间
//Math.random()*(y-x)+x 取x~y之间的随机数, ,10表示十进制,parseInt表示转为整型
var salt = parseInt(Math.random()*(41977)+23456,10).toString();
//将随机数转换为字符串
//var s = salt.toString();
console.log(salt);
//将生成的随机数设置为环境变量,方便传参
pm.environment.set("salt", salt);
⑥sign:appid+q+salt+密钥 的MD5值
//定义一个由appid+query+salt+secretKey组成的字符串
var str = appid + query + salt + secretKey;
console.log(str);
//将str进行md5加密,再转成字符串
var md5str = CryptoJS.MD5(str).toString();
console.log(md5str);
//将加密后的签名设置为环境变量,方便传参
pm.environment.set("sign", md5str);
- 将appid和密钥设置为环境变量;
4)准备好请求数据后,开始到postman中创建请求;
在接口文档中,已有说明,如使用post方式发送请求,Content-Type要指定为:application/x-www-form-urlencoded
5)在Pre-request Script中填写请求前置脚本,获取环境变量pm.environment.get()和设置环境变量pm.environment.set(),方便参数引用。
//定义要翻译的字符串
var query = 'happy';
//将query设置为环境变量,赋值给变量q
pm.environment.set("q",query)
//获取预先设置为环境变量的secretKey,appid
secretKey = pm.environment.get("secretKey");
appid = pm.environment.get("appid");
//定义一个随机数(23456, 65432)之间
//Math.random()*(y-x)+x 取x~y之间的随机数, ,10表示十进制,parseInt表示转为整型
var salt = parseInt(Math.random()*(41977)+23456,10).toString();
//将随机数转换为字符串
console.log(salt);
//将生成的随机数设置为环境变量,方便传参
pm.environment.set("salt", salt);
//定义一个由appid+query+salt+secretKey组成的字符串
var str = appid + query + salt + secretKey;
console.log(str);
//将str进行md5加密,再转成字符串
var md5str = CryptoJS.MD5(str).toString();
console.log(md5str);
//将加密后的签名设置为环境变量
pm.environment.set("sign", md5str);
6)将请求中需要参数化的数据,设置为参数变量{{}};
7)发送请求,查看响应结果;