Skip to content

Apifox 批量模拟数据

在 Apifox 中,批量发起请求的第一步是“先创建一个接口”,如图所示:

image

从图中可知:

  • 接口定义了body 的参数值id环境变量myId中取(双大括号包裹就是变量的写法)
  • 采用“示例”的模式,能快速将已有的 JSON 数据复制进来(如果采用“数据结构”的模式,要一个一个配字段,很麻烦)

第二步就是“批量发起该接口”,如图所示:

image

在运行之前,我们还需要一项额外设置,点击上图第 2 步添加的接口,进入编辑页面,如图所示:

image

在“自动生成”下拉框中,有很多选项。这些选项决定了你请求发起时“模拟数据是怎么生成的”。其中前几项适合“数据结构”的配置模式,由于最开始图省事采用了“示例”的模式,因此这里也要选择“使用请求示例”,最后全部保存。

此时,你可以批量运行 10 次看看效果(先不使用测试数据)

image

你会看到,在没有测试数据的情况下,实际请求发起的 Body 参数值就是固定的{{myId}},因为此时环境里还没有myId这个变量

接下来就使用测试数据批量生成myId这个变量

从 CSV 中批量导入

首先选中测试数据,并点击新建

image

image

CSV 的数据如下图,它只有一列,列头名称为ID

image

导入 Apifox 的效果如下:

image

可以看到,除了ID列,最前面还自动生成了一列“数据集名称”,这个“数据集名称”可以理解为一条数据的唯一标识。

比如第一行,就是名叫“数据集-1”的这条数据包含了一个变量ID,值为00616c24-866c-46d5-b7bc-ac5...。(你可以继续添加列 2(变量 2),列 3(变量 3),这样一条数据就可以有多个变量了)

注意

列头标题其实就是变量名称

在接口中,我们定义的是取myId这个变量值。因此,要将导入的列头ID改为myId

数据准备好后,就可以运行了,如下图所示,关联已创建的测试数据,循环次数根据测试数据的条数自动计算:

image

image

在运行二次确认弹窗中,也可以只勾选部分数据,这里“数据集名称”的作用就体现出来了,它可以让你快速找到你想要使用的数据。

我们只勾选前 5 条,点击运行,结果如下:

image

可以看到,变量myId已经被替换为对应的测试数据

注意一处错误

上图中,Body 的id值前后缺少了引号,不是正确的字符串格式

因此,接口定义中的"id": {{myId}}要写成"id": "{{myId}}"才行