apifox自动化测试使用-循环调用接口

登录态(Auth)如何处理

接口签名处理

项目背景

由于生产环境和开发环境数据量差异较大,所以需要在开发环境模拟线上数据量然后进行相关导出操作。如果手动造单效率十分低下,查阅相关文档后发现apifox支持自动化测试。

解决方案

配置

全局变量

  • AUTH_TOKEN
  • ACCESS_TOKEN_EXPIRES

全局参数

参数名value
AuthorizationBearer {{AUTH_TOKEN}}
  • apifox会默认读取全局变量AUTH_TOKEN

脚本

自动登录

function sendLoginRequest() {
   	//相关请求参数准备...
    
    const loginRequest = {
        url: url,
        method: "POST",
        header: {
            "Content-Type": "application/json;charset=UTF-8",
       		//...
        },
        body: {
            mode: "raw",
            raw: JSON.stringify({ username: 'admin', password: 'admin' })
        }

    };

    console.log(loginRequest);
    pm.sendRequest(loginRequest, function (err, res) {
        if (err) {
            console.log(err)
        } else {
            const jsonData = res.json();
            console.log(jsonData);
            pm.environment.set("AUTH_TOKEN", jsonData.data.access_token)

            var currentTime = Date.parse(new Date()) / 1000;
            console.log(currentTime);
            var expire = currentTime + jsonData.data.expires_in;
            console.log(expire);
            pm.environment.set("ACCESS_TOKEN_EXPIRES", expire)
        }
    })
}

const accessToken = pm.environment.get("AUTH_TOKEN");
const accessTokenExpires = pm.environment.get("ACCESS_TOKEN_EXPIRES");

//当token过期会重新获取token
if (!accessToken || (accessTokenExpires && accessTokenExpires <= (Date.parse(new Date()) / 1000))) {
    sendLoginRequest();
}

需将该脚本配置为公共脚本

官方文档有详细的步骤说明–登录态(Auth)如何处理

接口签名处理–接口签名处理

前置操作

需在前置操作加入该公共脚本
记得要在测试用例的前置操作加入脚本
在这里插入图片描述

结果

设置好相关线程数,循环次数之后就可以实现自动化测试功能。批量生成大量测试数据,并且当token过期后会自动更新token

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值