March 20, 2022
By: syh

Apifox简单使用

  1. # Apifox
    1. Postman
      1. 环境变量
      2. 前置/后置脚本
      3. Swagger
      4. Mock

# Apifox

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好 API 文档,API 调试、API 数据 Mock、API 自动化测试就可以直接使用,无需再次定义;API 文档和 API 开发调试使用同一个工具,API 调试完成后即可保证和 API 文档定义完全一致。高效、及时、准确!

目前未开源,没有离线,强制登录

Postman

一眼看去跟postman很像。

Postman 有的功能 Apifox 都有(如环境变量、前置/后置脚本、Cookie/Session 全局共享等),并且比 Postman 更高效好用。

环境变量

可以配置环境变量,全局参数,全局变量。

前置/后置脚本

前置:接口运行前要触发的事情

后置:接口运行后要触发的事情

前置对象

添加前置对象脚本

运行接口之前运行授权接口并并保存环境变量中

// 定义发送登录接口请求方法
function sendLoginRequest() {
    // 获取环境里的 前置URL
    const baseUrl = pm.environment.get('BASE_URL');

    // 登录用户名,这里从环境变量 LOGIN_USERNAME 获取,也可以写死(但是不建议)
    const username = pm.environment.get('username');

    // 登录用户名,这里从环境变量 LOGIN_PASSWORD 获取,也可以写死(但是不建议)
    const password = pm.environment.get('password');

     const tokenUrl = pm.environment.get('tokenUrl');

    // 构造一个 POST x-www-form-urlencoded 格式请求。这里需要改成你们实际登录接口的请求参数。
    const loginRequest = {
        url: baseUrl + tokenUrl,
        method: 'POST',
          header: 'Content-Type: application/json',  //注意要在Header中声明内容使用的类型
        body: {
          mode: 'raw',
          raw: JSON.stringify({ username: username, password: password }),
        }
    };

    // 发送请求。 
    pm.sendRequest(loginRequest, function (err, res) {
        if (err) {
            console.log(err);
        } else {
            // 读取接口返回的 json 数据。
            // 如果你的 token 信息是存放在 cookie 的,可以使用 res.cookies.get('token') 方式获取。 
            // cookies 参考文档:https://www.apifox.cn/help/app/scripts/api-references/pm-reference/#pm-cookies
            const jsonData = res.json();
            console.log(jsonData.data["access-token"])
            // 将 token 写入环境变量 token
            pm.environment.set('token', jsonData.data["access-token"]);
        }
    });
}
 sendLoginRequest();

后置接口

可以直接执行授权接口然后保存环境变量

const jsonData  = pm.response.json();

pm.environment.set("token", jsonData.data["access-token"]);

从环境变量获取token (设置全局参数)

Swagger

点击项目预览-》创建分享

点击...->复制连接

Mock

mock创建跟创建接口一样的(选中mock环境)

测试单元

可以写的接口测试

点击自动化测试-》创建用例

添加要测试的接口

测试报告

Tags: 工具