思路:执行用例时,先跑前置操作,再执行接口。例如token在前置脚本获取,传给下一个接口。
第一种方法:globals变量传参

apiFox可以在前置操作直接调用公共脚本,这个还是很方便使用的。
直接在公共脚本编写好代码就行。如下:
//用户登录
var url = "http://192.168.11.112:9890/test/testLogin?phone="+pm.variables.get("username")+"&password="+pm.variables.get("password")+"&env=0";
pm.sendRequest(url, function (err, responseBody) {
if (err) {
console.log(err);
} else {
var respone_obj = responseBody.json();
var loginToken = respone_obj.data.loginToken;
var userId = respone_obj.data.userId;
var userName = respone_obj.data.userName;
pm.globals.set("loginToken", loginToken);
pm.globals.set("userId", userId);
pm.globals.set("userName", userName);
}
});
注意pm.globals.set(“loginToken”, loginToken);这个是设置全局变量。你还需要在全部变量配置里加上,然后下一个接口才能用{{loginToken}}引用。

下一个接口直接在请求参数里用{{loginToken}}引用。
第二种方法:environment变量传参
直接在公共脚本编写好代码。如下:
//调用112的[登陆]接口,获取token 。该步骤只完成50%。(还要调用162的接口才正式登陆完成)
var url = "http://192.168.11.112:9890/test/testLogin?phone="+pm.variables.get("username")+"&password="+pm.variables.get("password")+"&env=0";
pm.sendRequest(url, function (err, responseBody) {
if (err) {
console.log(err);
} else {
var respone_obj = responseBody.json();
var loginToken = respone_obj.data.loginToken;
var userId = respone_obj.data.userId;
var userName = respone_obj.data.userName;
pm.environment.set("loginToken",loginToken);
pm.environment.set("userId",userId)
pm.environment.set("userName",userName)
}
});
注意,pm.environment.set(“loginToken”,loginToken);这个是设置环境变量。
然后下个接口直接用{{loginToken}}引用。不需要配置全局了。看来方便一些。
如下:

版权声明:本文为qq_46416934原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。