Apifox和postman全自动登录调用接口

目录

1.1 Apifox

1.1.1 设置环境变量

1.1.2 编写公共脚本

1.1.3 设置前置操作

1.1.4 设置header值

2.1 Postman

2.1.1 区别

2.1.2 脚本变化


        在调试接口过程中,经常使用Swagger,以前用postman,工具都挺好的,但还是用Swagger多些。前端时间看关注的微信公众号不停的推送Apifox的文章。就下载了Apifox,有同事问,每次测试都要调用登录接口,好烦呐。我就将原先使用postman的自动登录测试的脚本拿过来,稍微调整了下,写了个使用方法,分享出去了。有时间把它搬到网上,记录别忘了。

1.1 Apifox

1.1.1 设置环境变量

        在右上角【三】中,根据环境设置不同的环境变量,这里选择【开发环境】,将用户名、密码等进行设置。requestToken和JwtToken的值可不设置,该值在下文的脚本中会动态改变。如下图:

 

设置登录相关的环境变量,属性如下:

userName,,admin,,
userPass,,123456,,
lang,,zh-CN,,
themes,,1,,
signedData,,,,
requestToken,,94732f29e1ed443d9bb7cfccad45357e20230424175427851,,
JwtToken,,eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxMTAwMDAwMDQwMDMwMjMwNDI0MTc1NDI3OTI2NDUwNjI4IiwiZXhwIjoxNjgyMzMzNjY3fQ.XS2EKCqDVOUQuEwFE2ZnUZC2VdJlyowdIGiWrtyykyg,,

1.1.2 编写公共脚本

        在【项目设置】>【公共脚本】>【创建】,输入名称,编写登录脚本。如下图:

 

脚本如下:

// 获取环境前置URL
var baseUrl = pm.environment.get("BASE_URL");
// 获取登录所需要的参数
var userName = pm.environment.get("userName");
var userPass = pm.environment.get("userPass");
var lang = pm.environment.get("lang");
var themes = pm.environment.get("themes");
var signedData = pm.environment.get("signedData");
​
function sendLoginRequest() {
    // 发送请求 获取requestToken api/fsmc/common/token/getToken
    const tokenRequest = {
        url: baseUrl + "/api/fsmc/common/token/getToken",
        method: "GET"
    };
​
    pm.sendRequest(tokenRequest, function (err, res) {
        if(err){
            console.log(res);
            console.log(err);
        } else {
            const jsonData = res.json();
            pm.environment.set("requestToken", jsonData.data.token);
​
            // 开始请求登录接口
            var loginJson = {
                "userName": userName,
                "userPass": userPass,
                "lang": lang,
                "themes": themes,
                "signedData": signedData
            }
            const loginRequest = {
                url: baseUrl + "/api/fsmc/login/login",
                method: "POST",
                header: {
                    "Content-Type": "application/json",
                    "requestToken": jsonData.data.token,
                },
                body: {
                    mode: 'raw',
                    raw: JSON.stringify(loginJson),
                }
            };
            
            pm.sendRequest(loginRequest, function (err2, res2) {
                if(err2){
                    console.log(res2);
                    console.log(err2);
                } else {
                    const jsonData2 = res2.json();
                    pm.environment.set("JwtToken", jsonData2.data.token);
                }
            });
        }
    });
}
// 执行脚本内容
sendLoginRequest();

1.1.3 设置前置操作

        可在根目录、文件夹、方法中设置【前置操作】,为了简单在根目录中设置【前置操作】。如下图:

 

1.1.4 设置header值

        选择某个方法,在请求参数中选【header】设置requestToken和JwtToken的值为动态值。如下图:

 

2.1 Postman

2.1.1 区别

虽然apifox的功能点多,但是其采用的是post的思路来设计的。因此方法步骤基本一致,这里不再详细来描述。区别点如图

Apifox

 

Postman

2.1.2 脚本变化

脚本基本无变化,设置的步骤基本和Apifox一致。

​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grain322

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值