apiFox的传参,常用步骤之获取token

思路:执行用例时,先跑前置操作,再执行接口。例如token在前置脚本获取,传给下一个接口。

第一种方法:globals变量传参

 apiFox的传参,常用步骤之获取token_第1张图片

 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}}引用。

apiFox的传参,常用步骤之获取token_第2张图片

 下一个接口直接在请求参数里用{{loginToken}}引用。apiFox的传参,常用步骤之获取token_第3张图片

 第二种方法: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}}引用。不需要配置全局了。看来方便一些。

如下:

apiFox的传参,常用步骤之获取token_第4张图片

 

你可能感兴趣的:(apiFox)