MeterSphere开源持续测试平台的“接口测试”模块具有灵活的接口场景编排设计,模块覆盖了多种接口协议,可*组合接口自动化测试场景,为接口测试带来方便快捷的体验。
其中,逻辑组件可以支持等待、循环、条件、事务这四种类型的控制器。测试人员在进行接口测试场景设计时,可以使用循环控制器控制多次执行接口测试操作,以减少重复性步骤。本文将为您讲解在MeterSphere平台中使用循环控制器进行次数循环、While循环以及ForEach循环的具体操作方法。
1 前置操作
此场景适用于进行次数循环和While循环。
1. 新增场景变量,类型选择“CSV”选项,上传对应的CSV文件,点击“预览”选项卡(场景中若想使用CSV数据,可直接使用${id} 即可获取字段ID的数据,每次只能获取一条);
2. 新建自定义脚本,选择“python”类型脚本,写入代码来读取CSV数据的行数,再将其存储为“num”变量,以便后续接口引用。
2. 循环控制器
2.1 次数循环
进行次数循环时,循环次数应写明具体数值,此处可引用上一步骤-自定义脚本中存储的CSV行数变量;
执行后,响应内容处可看到循环的次数与CSV文件里的行数一致。
2.2 While循环
进行Whlie循环时,While循环条件可引用场景准备步骤-自定义脚本存储的CSV行数变量,让其大于0进入循环控制器中;
然后在循环控制器中的前/后置脚本对该变量减一后,重新赋值存储;
执行后,响应内容处同样可看到循环的次数与CSV文件里的行数一致。
2.3 ForEach循环
因ForEach循环对上述场景不适用,所以重新新建场景进行演示。
1. 设置场景变量为列表
① 新建场景变量,类型为“列表”,值为多个值;
② 使用ForEach循环遍历列表ID,打印每个ID的值;
③ 执行后可看到响应内容处,循环的次数与列表ID的长度一样,且ID值也一个个遍历出来了。
2. JsonPath提取值为列表
① 通过JsonPath提取返回值,勾选“匹配多条”,得到一个groupId数组;
② 遍历上个接口提取到的groupId数组,并进行打印值;
③ 执行后的响应内容处,可看到循环数与groudId数组长度一致,且将数组每个值都打印出来了。
以上便是MeterSphere接口测试模块可使用循环控制器进行的三种循环操作介绍,供大家参考使用。
获取CSV行数的Python代码如下:
循环控制器里请求前后置脚本,改变num值大小的Python代码如下:
获取CSV行数的BeanShell代码如下: