Apifox 使用文档

vuePress-theme-reco Apifox 使用文档    2021
Apifox 使用文档 Apifox 使用文档

Choose mode

  • dark
  • auto
  • light
文档
建议反馈
下载 Apifox

Apifox 使用文档

0

Article

0

Tag

文档
建议反馈
下载 Apifox
  • 介绍

    • Apifox 介绍
    • 快速上手
  • 接口管理

    • 接口设计 (接口文档)
    • 接口调试 / 接口用例
    • 数据结构 / 数据模型
    • 快捷调试
    • 环境管理
    • 环境变量 / 全局变量 / 本地变量
    • 动态变量 / 随机参数
  • Socket 接口

    • Socket 接口快速上手
    • 报文数据处理器
  • 最佳实践

    • 团队协作流程
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
  • 使用脚本

    • 脚本介绍
    • 预执行脚本
    • 后执行脚本 (断言测试)
    • 公共脚本
    • 脚本 API 参考

      • pm 对象 API
      • 内置 JS 类库
      • 脚本调用其他语言( java、python、php 等)
    • 脚本示例

      • 断言 (测试请求结果)
      • 脚本使用变量
      • 脚本读取/修改接口请求信息
      • 其他示例
  • Mock 数据

    • Mock 功能说明
    • Mock 语法
    • 智能 Mock
  • 测试管理

    • 测试用例
    • 测试套件
    • 性能测试
    • 对比测试 (todo)
  • 持续集成

    • 持续集成
  • 代码生成

    • 代码生成
  • 导入/导出

    • 导入数据
    • 导入抓包数据 (cURL)
    • 导出数据
  • Apifox CLI

    • Apifox CLI 命令行运行
  • Apifox API

    • Apifox 开放 API (todo)
  • 插件

    • 插件安装、开发 (todo)
    • 数据导入插件 (todo)
    • 数据导出插件 (todo)
  • 更多功能

    • 快捷键
    • 私有化部署
  • 参考资料

    • JSON Schema 介绍
    • Socket 粘包和分包问题
    • 安装 Java 环境
  • 其他

    • 常见问题
    • 后续功能规划
    • 更新日志
    • 联系我们

vuePress-theme-reco Apifox 使用文档    2021

环境变量 / 全局变量 / 本地变量


Apifox 使用文档

# 环境变量 / 全局变量 / 本地变量

和编程语言类似,变量是允许在多个地方重复使用的值。不同的接口用例(请求参数、脚本等)可以引用相同的变量值,只需要更改一次变量值,就能改变所有引用了该变量的相关值。使用变量可以大幅提升工作效率。

# 快速上手

  1. 打开环境管理(软件右上角设置形状的按钮),选择全局变量 tab。

  2. 添加一个名为my_variable的变量,将本地值设置值为hello,点击保存。

  3. 打开一个接口,在运行 tab (或接口用例)的参数值里输入{{my_variable}}即可引用该变量。

  4. 点击运行按钮,发送请求,实际运行的时候系统会将{{my_variable}}替换为hello,然后发出请求。

注意

  • 系统内置名为BASE_URL的特殊环境变量,其值为当前环境的前置URL,使用方式{{BASE_URL}}。
  • 如用户手动添加了名为BASE_URL的环境变量,则会覆盖掉系统内置BASE_URL的值。
  • 脚本可通过 pm.environment.get('BASE_URL') 方式读取前置URL。
  • 脚本不能修改前置URL,脚本 pm.environment.set('BASE_URL','xxx')会生成一个真正的名为BASE_URL的环境变量,而不会修改前置URL。
  • Apifox 版本号大于等于 1.0.12 才支持内置BASE_URL。

# 本地值和远程值的区别

  1. 所有使用到变量的地方,实际运行的时候都是读写本地值,而不会读写远程值。
  2. 本地值 仅存放在本地,不会同步到云端,团队成员之间也不会相互同步,适合存放token、账号、密码之类的敏感数据。
  3. 远程值 会同步到云端,主要用来团队成员之间共享数据值。

注意

由于本地值仅存放在本地,使用一些清理软件清理 Apifox 文件缓存会导致本地值被清空,请务必注意。

# 变量类型

  1. 环境变量 是最常用的变量,同一个变量可以在不同的环境设置不同的值,变量值会跟随环境切换而改变。环境变量在环境管理模块设置,查看文档:环境管理
  2. 全局变量 使用方法类环境变量类似,但全局变量不会跟随环境切换改改变。
  3. 本地变量 由脚本操作,仅在单次运行(接口用例或测试集合)过程中有效的临时变量,不会持久化保存。

# 使用变量

  1. 所有类型的变量都是通过双引号的方式引用变量,如{{token}}。
  2. 接口运行tab、接口用例、快捷调试、集合测试的所有参数值、预执行脚本、后执行脚本都可以使用变量。
  3. 环境里的额外参数也可以使用变量。

提示

请求 Body 为 json 或者 raw 格式的,也可以直接使用变量、动态变量,使用方式如下:

{
    "field1": "{{string_variable}}",
    "field2": {{int_variable}},
    "field3": {{array_variable}},
    "field4": {{object_variable}},
    "field5": {{$timestamp}}
}

注意:json 格式里 string 类型的值,使用变量的时候需要加上双引用;其他类型的值不要加双引号,如上面例子所示。

# 变量优先级

所有变量都是通过双大括号的方式引用,当不同类型变量存在相同名称的变量时,系统会根据优先级决定使用哪个类型的变量,优先级如下q:

  1. 本地变量
  2. 环境变量
  3. 全局变量

# 脚本中使用变量

# 环境变量

// 设置环境变量
pm.environment.set('variable_key', 'variable_value');

// 获取环境变量
var variable_key = pm.environment.get('variable_key');

// unset 环境变量
pm.environment.unset('variable_key');

# 将对象或数组(非字符串)写入环境变量

环境变量只能存在字符串,如要写入对象或数据,需要使用JSON.stringify转换成字符串

var array = [1, 2, 3, 4];
pm.environment.set('array', JSON.stringify(array));

var obj = { a: [1, 2, 3, 4], b: { c: 'val' } };
pm.environment.set('obj', JSON.stringify(obj));

读取的时候,需要使用JSON.parse转换回来

try {
  var array = JSON.parse(pm.environment.get('array'));
  var obj = JSON.parse(pm.environment.get('obj'));
} catch (e) {
  // 处理异常
}

# 全局变量

// 设置全局变量
pm.globals.set('variable_key', 'variable_value');

// 获取全局变量
var variable_key = pm.globals.get('variable_key');

// unset 全局变量
pm.globals.unset('variable_key');

# 本地变量

// 设置本地变量
pm.variables.set('variable_key', 'variable_value');

// 获取本地变量
var variable_key = pm.variables.get('variable_key');

// unset 本地变量
pm.variables.unset('variable_key');
  • 快速上手
  • 本地值和远程值的区别
  • 变量类型
  • 使用变量
  • 变量优先级
  • 脚本中使用变量
  • 环境变量
  • 全局变量
  • 本地变量