Apifox 批量模拟数据
在 Apifox 中,批量发起请求的第一步是“先创建一个接口”,如图所示:
从图中可知:
- 接口定义了body 的参数值
id
从环境变量myId
中取(双大括号包裹就是变量的写法) - 采用“示例”的模式,能快速将已有的 JSON 数据复制进来(如果采用“数据结构”的模式,要一个一个配字段,很麻烦)
第二步就是“批量发起该接口”,如图所示:
在运行之前,我们还需要一项额外设置,点击上图第 2 步添加的接口,进入编辑页面,如图所示:
在“自动生成”下拉框中,有很多选项。这些选项决定了你请求发起时“模拟数据是怎么生成的”。其中前几项适合“数据结构”的配置模式,由于最开始图省事采用了“示例”的模式,因此这里也要选择“使用请求示例”,最后全部保存。
此时,你可以批量运行 10 次看看效果(先不使用测试数据)
你会看到,在没有测试数据的情况下,实际请求发起的 Body 参数值就是固定的{{myId}},因为此时环境里还没有myId
这个变量
接下来就使用测试数据批量生成myId
这个变量
从 CSV 中批量导入
首先选中测试数据,并点击新建
CSV 的数据如下图,它只有一列,列头名称为ID
:
导入 Apifox 的效果如下:
可以看到,除了ID
列,最前面还自动生成了一列“数据集名称”,这个“数据集名称”可以理解为一条数据的唯一标识。
比如第一行,就是名叫“数据集-1”的这条数据包含了一个变量ID
,值为00616c24-866c-46d5-b7bc-ac5...
。(你可以继续添加列 2(变量 2),列 3(变量 3),这样一条数据就可以有多个变量了)
注意
列头标题其实就是变量名称
在接口中,我们定义的是取myId
这个变量值。因此,要将导入的列头ID
改为myId
数据准备好后,就可以运行了,如下图所示,关联已创建的测试数据,循环次数根据测试数据的条数自动计算:
在运行二次确认弹窗中,也可以只勾选部分数据,这里“数据集名称”的作用就体现出来了,它可以让你快速找到你想要使用的数据。
我们只勾选前 5 条,点击运行,结果如下:
可以看到,变量myId
已经被替换为对应的测试数据
注意一处错误
上图中,Body 的id
值前后缺少了引号,不是正确的字符串格式
因此,接口定义中的"id": {{myId}}要写成"id": "{{myId}}"才行