【jmeter】CSV Data Set Config

测试的时候经常会遇到需要参数化的情况,这时候就需要配置CSV Data Set Config,先看下界面
这里写图片描述

界面参数含义:
1、Name:输入一个容易辨识的名字

2、Comments:输入备注

3、Filename:这里是输入需要读取的csv、txt文件的地址,点击后面的Browse直接选择就好了。

4、File encoding:选择文件编码。也可以直接输入编码

  • UTF-8:UTF-16 存在存储空间浪费。UTF-8 采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以由1~6个字节组成。如果是一个字节,最高位为0,则表示这是 1 个 ASCII 字符,可见,所有ASCII 编码已经是UTF-8了。
  • UTF-16:说到UTF 必须提到 Unicode ,ISO 试图创建一个全新的超语言字典,世界上所有的语言都可以通过这个字典来相互翻译。UTF-16 具体定义了Unicode 在计算中的存取方法。UTF-16 用两个字节来表示 Unicode 的转化格式,采用定长的表示方法,即不论什么字符都可以用两个字节表示。
  • ISO-8859-15:ASCII的128个字符不够用,所以ISO组织在ASCII 码基础上又制定了一系列标准来拓展 ASCII 编码,它们是ISO-8859-1 至 ISO-8859-15。
  • US-ASCII:ASCII 码总共有128个,用1个字节的第七位表示,0~31 是控制字符如换行、回车、删除等,32~126 是打印字符,可以通过键盘输入并且能够显示出来。
  • Edit:编辑可手动输入编码

5、Variable Names (comma-delimited):变量名(逗号隔开),文件里面的变量顺序要和这里的变量名保持一致。
如果文件中包含了变量名,且选择Ignore first line为true,则这里不用填写变量名称
如果变量中间包含逗号,则可以在该变量上增加双引号,例如1,”2,3”,”4”“5”,读出来的结果分别为1、2,3、4”5。如果文件中存在定义列名称的标题行,则将变量名称设置为空即可,需要提供正确的界定符。

6、Ignore first line (only used if Variable Names is not empty):忽略首行(只在设置了变量名称后生效)。如果变量名非空,则忽略;如果变量名为空,则第一行必须包含变量名。

7、Delimiter(use ‘\t’ for tab): 分隔符(用’\t’代替制表符)。
CSV文件默认用逗号分隔
如果文件中值的个数小于变量的个数,则剩余变量不更新,因此它们将保留原先的值(如果有的话,没有则变量值为空)。

8、Allow quoted data:是否允许带引号,如果启用,那么值可以被封装在“双引号”中,允许值包含分隔符。

9、Recycle on EOF :遇到文件结束符再次循环,如果不允许循环还不停止线程,那就传空值

  • True:当读取文件到结尾时,再重头读取文件
  • False:当读取文件到结尾时,停止读取文件
  • Edit:

10、Stop thread on EOF:遇到文件结束符停止线程,参数不够的时候,设置此项为TRUE就会停止,不报错

  • True:当Recycle on EOF为False时,读取文件到结尾时,停止进程;当Recycle on EOF为True时,此项无意义
  • False:
  • Edit:

11、Sharing mode:线程共享模式

  • CSV中的数据为01、02、03、04、05、06
  • Allthreads:所有线程,如果只有一个线程组,效果与当前线程组一样。如果多个线程组,则取出来的值可能会不一样。
  • Current thread group:当前线程组,3个并发,每个并发跑3次,选择当前线程组,第1个并发的第1次取01,第2个并发的第1次取02,第3个并发的第1次取03,第1个并发的第二次取04,依次往下。。。。01、02、03、04、05、06。。。。。
  • Current thread:当前线程,3个并发,每个并发跑3次,选择当前线程组的话,3个并发第1遍都会取01,第2遍都去取02。。。。01、01、01、02、02.。。。。
    如果您希望每个线程都有自己的一组值,那么您需要创建一组文件,每个线程一组。例如Test1.CSV,Test2.CSV,…,Testn.CSV。使用文件名测试{{yththRead N}}.CSV,并将“共享模式”设置为“当前线程”。
  • Edit:
  • Identifier:标识符-共享同一标识符的所有线程共享同一文件。例如,如果有4个线程组,则可以使用两个或多个组中的公共ID来共享它们之间的文件。或者可以使用线程号在不同线程组中共享相同线程号之间的文件。

编码相关内容参考:https://blog.csdn.net/ai_xao/article/details/79051534

经验:
1、有次测试相册搜索,我添加很多乱七八糟的名字,包含符号、外文等等,并把数据放在csv文件里面了。设置的时候把文件编码设置为utf-8了。但是发送的数据总是乱码,查了半天发现是csv文件的问题,就转用txt文件存储了,并把文件编码该为utf-8。然后问题解决了

2、如果请求参数中很多数据,或者多个请求公用一个表格。有时候参数顺序不一样,可以选择在表格中第一行写入参数名称,并选择Ignore first line为true,请求的时候会自动从表格中查找参数名,并读取本列的数据。与参数列的次序无关

另一种参数化是用函数助手(待整理)
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jq656021898/article/details/79488864