终于有人把 Jmeter 工具的 CSV 参数化讲清楚啦!

前言

从事软件测试的小伙伴都知道Jmeter工具,当我们使用Jmeter工具做接口测试和性能测试的时候,CSV这个配置元件就会经常使用到。但是这个元件有很多场景很多人并不是很清楚,并且有些特性如果不弄明白会影响整个脚本的使用。所以,我们今天就给大家来讲一下这个CSV配置元件。

CSV使用场景

CSV数据文件参数化是Jmeter的一个配置元件,当我们需要批量执行某个接口并需要构造真实数据的时候,可以从数据库里导出数据到CSV文件里,接口通过访问CSV文件批量进行操作。

CSV数据文件设置

CSV数据文件配置元件的界面如下图所示:

图片.png

其中每个部分应该要如何配置以及原理是什么,我们分别来详细给大家做一些讲解:

1)文件名

需要读取的csv配置文件,这里可以写绝对路径,也可以配置相对路径:

两种路径的写法所以我们一般都建议文件名填写相对路径,更简洁也更方便以后做分布式测试脚本分发。

这个csv的文件是支持多种格式:txt、csv、json、xml ,主要是列和列之间是逗号的文本文件就是csv文件,那么就都支持。

2)文件编码

这个文件的编码由选择的文件自身编码来选择。

3)变量名称

自己定义变量名用来接收从csv文件里读取的数据,多个变量的时候用英文的逗号隔开,会依次去接收第一列,第二列...的数据;

4)忽略首行
5)分隔符

读取的文件的列与列的分隔符号,默认csv文件是英文逗号,所以默认的配置就是英文的逗号;

6)是否允许带引号

如下图所示:

图片.png

注意:这个配置只能针对txt文本操作,csv文件不会生效。

7)遇到文件结束符再次循环吗?
8)遇到文件结束符停止线程吗?

具体的配置场景和运行效果如下:

图片.png

图片.png

图片.png

当两个配置冲突了,就像编写代码一样,从上到下运行,后面的跟前面的冲突,后面的会失效。

图片.png

9)线程共享模式:有三个选项,所有线程,当前线程组,当前线程,工作原理分别如下:

图片.png

以上三种情况,最后一个【当前线程】选项占用内存最多。

csv元件使用的注意事项

Jmeter自带的csv数据文件设置功能, 多台机器做助攻机发起性能测试时会有问题:

因为助攻机的脚本和csv文件都是由主控机分发的,大家拿到的脚本和文件都是一样的;比如三台机器助攻机都是读取的第一行的数据发送的登录请求,那么登录的信息会导致其中2个登录失败,如果是注册接口也会因为数据不能重复而导致后面2个助攻机的接口请求会失败。

解决方法:

回帖
请输入回帖内容 ...