CSV文件在MeterSphere中的使用场景


朱飞鸽
飞致云 发布于 2023-09-07 / 3160 阅读 / 0 评论 /
很多人在使用 MeterSphere 做接口测试、自动化测试和性能测试时,都喜欢用 CSV 数据文件设置功能,来读取准备好的测试数据。在MeterSphere中使用CSV类型的变量与JMeter中有稍许不同,JMeter的CSV使用方法本文不再赘述,这里着重介绍一下CSV在MeterSphere中的

很多人在使用 MeterSphere 做接口测试、自动化测试和性能测试时,都喜欢用 CSV 数据文件设置功能,来读取准备好的测试数据。在MeterSphere中使用CSV类型的变量与JMeter中有稍许不同,JMeter的CSV使用方法本文不再赘述,这里着重介绍一下CSV在MeterSphere中的使用场景。

1、接口自动化中,添加场景变量,变量类型为CSV (只可以用于接口自动化)

1.1 使用场景

将每一条用例的预期结果一并保存在csv文档中,循环读取文档中的期望结果来跟实际运行的结果进行一致性判断,或者作为测试参数用于实际请求的发送,高效实现接口自动化。

1.2 操作实例

场景变量内设置如下:

上传文件之后:

预览如下:

注意:若点击预览显示内容有乱码,则需要按照utf-8的格式重新保存CSV文件并重新上传。

文件已经上传好了,但是怎么使用呢?有如下两种方式:

  • 直接使用${列名} ,但是只能获取到第二行的数值。


  • 结合循环控制器,进行批量的取值

    循环控制器内,如果对CSV取值,目前支持次数循环和while循环,不支持foreach循环;次数循环(需要提前查看CSV的行数),如果设置的次数超过实际行数,执行完成之后从头开始再次执行。

最后一行实际数值为:


2、环境配置中,通用配置中,变量类型为CSV

2.1 使用场景

除了上面第一种场景外,还可以为接口定义及接口CASE进行参数适配。


2.2 操作实例

此种方式一般用于多个变量定义在一个CSV中,而不是一个一个添加在通用配置中;与步骤二不同点就是,在接口定义的TEST和CASE中,可以使用通用配置定义的CSV类型变量。


如图, 仍然以上述的CSV作为变量:

API CASE内以同样方式操作。

3、性能测试中,使用CSV测试数据

3.1 使用场景

性能测试时所需要的参数数据文件,如果所有场景使用一个统一的参数文件,为了避免相同的参数被不同的场景引用造成流程异常。系统会根据压测策略自动来分割 CSV 数据文件里的参数,把不同的参数分配给不同的业务场景。


使用方式为高级配置中“CSVDataSet”:


此处表示,jmx中有用到CSV文件作为参数,CSV文件可以按照测试资源池的分配进行分割。
注意:“包含表头”在MS中使用必须要勾选,否则会导致测试过程中,取值失败。

3.1 操作实例

将接口自动化转化为性能测试。

指定性能测试参数
 

这里为演示效果,仅仅指定了两个并发用户数量,资源池也指定了两个。

为了显示效果,这里在原接口自动化中,加了变量打印脚本。

执行性能测试,结果如下:
节点1 :ms-node-controller

节点二: 10.1.12.148

通过打印脚本,可以看到CSV文件已经做了切分;



是否对你有帮助?