【最佳实践】MeterSphere 接口测试模块中循环控制器的使用


Administrator
飞致云 发布于 2023-01-09 / 1564 阅读 / 0 评论 /

MeterSphere 开源持续测试平台的“接口测试”模块具有灵活的接口场景编排设计,模块覆盖了多种接口协议,可自由组合接口自动化测试场景,为接口测试带来方便快捷的体验。

其中,逻辑组件可以支持等待、循环、条件、事务这四种类型的控制器。测试人员在进行接口测试场景设计时,可以使用循环控制器控制多次执行接口测试操作,以减少重复性步骤。本文将为您讲解在 MeterSphere 平台中使用循环控制器进行次数循环、While 循环以及 ForEach 循环的具体操作方法。

1 前置操作

此场景适用于进行次数循环和While循环。

新增场景变量,类型选择 csv,上传对应的 csv 文件,点击预览 (场景中若想使用 csv 数据,可直接使用 ${id} 就能获取字段 id 的数据,每次只能获取一条)。
1

新建自定义脚本,选择 python 类型脚本,写入代码来读取 csv 数据的行数,再将其存储为 num 变量,以便后续接口引用。
2

2. 循环控制器

2.1 次数循环

循环次数写具体数值,此处可引用上一步骤自定义脚本中存储的 csv 行数变量。
3

可看到响应内容处,循环的次数与 csv 文件里的行数一致。
4

2.2 While 循环

While 循环条件,可引用上一步骤自定义脚本存储的 csv 行数变量,让其大于 0 进入循环控制器中
5

在循环控制器中的前/后置脚本对该变量减一后,重新赋值存储。
6

可看到响应内容处,循环的次数与 csv 文件里的行数一致。
7

2.3 ForEach 循环

对上述场景不适用,另外再重新新建场景。

2.3.1 设置场景变量为列表

新建场景变量,类型为列表,值为多个值
8

ForEach 遍历列表 id,打印每个 id 的值
9

可看到响应内容处,循环的次数与列表 id 的长度一样,且 id 值也一个个遍历出来了。
10

2.3.2 jsonpath 提取值为列表

jsonpath 提取返回值,勾选匹配多条,得到一个 groupId 数组
11-1673244630819

遍历上个接口提取到的 groupId 数组,并进行打印值
12

在响应内容处,可看到循环次数与 groudId 数组长度一致,且将数组每个值都打印出来了。
13



是否对你有帮助?