在聊CSV DataSet Config配置元件前,先来讨论下为什么要参数化?数据库
好比在作性能测试过程当中, 通常咱们须要模拟多个用户进行操做, 为了知足实际场景, 模拟真实的用户行为, 咱们须要作到模拟的用户账号或其它信息都是不一样的, 这时咱们就须要用到参数化。 Jmeter中, 配置元件能够解决此问题。服务器
Jmeter配置元件能够用来进行参数化、 初始化默认值和变量、 存储服务器的响应信息以及配置连接数据库等。 JMeter参数化通常使用配置元件中的CSV DataSet Config或者JDBC ConnectionConfiguration来进行参数化。今天,先来使用CSV DataSet Config进行参数化。工具
CSV Data Set Config元件:性能
该元件能够用来读取csv或dat文件的数据,而后经过设置把读取到的数据关联到Jmeter中的变量保存,csv文件可使用execl表格工具去进行编辑。分两种文件来说解:txt文件和csv文件。测试
界面字段说明:编码
名称、注释与以前元件同样能够随意设置。spa
Filename:指保存信息的文件目录,能够相对或者绝对路径,相对路径从Jmeter的启动目录(***/bin)路径。线程
File Encoding:文件编码,默认为ANSI,建议设置为utf-8,防止碰见乱码状况。3d
Variable Names:参数名称,每一个名称中间用分隔符分割,分隔符使用下面的“Delimitet”中定义的,默认用逗号隔开,与参数文件的参数对应。若是设置的参数名称多于参数文件中的参数,多余的参数取不到值;反之参数文件中的参数将没有参数对应。code
Delimitet:定义分隔符,用于分隔文件中的参数,及上述Variable Names中定义的参数名称。
Allow Quoated data?:是否容许引用数据,设置为True ,设置文件中的参数值都必须用引号引发来,False则不须要
Recycle on EOF ?:遇到文件结束符时,是否从头开始循环读入,设置为True,则从头开始继续循环
Stop Thread on EOF ?:当Recycle on EOF 设置为False而且Stop Thread on EOF为True,则读完csv文件中的记录后, 中止运行
Sharing Mode:参数文件共享模式,有三个设置,说明以下:
All threads:参数文件对全部线程共享,包含同一测试计划中的不一样线程组。
Current thread group:只对当前线程组中的线程共享。
Current thread:仅当前线程获取。
界面以下图所示:
配置元件添加路径以下所示:
咱们已经基本了解了该配置元件,那就来实践一番。
如何配置csv文件?
新建一个xls文件,再另存为csv文件便可。
这个很简单,咱们主要是来看如何引用csv文件,而达到参数化的效果。
咱们先来看配置界面,以下所示:
须要注意的是,file encoding文件编码填写的是GB2312,不是utf-8,须要格外注意,否则就会出现乱码的现象,以下所示:
文件内容填写以下:
咱们在配置界面填写的变量名为keyword,因此引入到接口中,也用该变量名,以下所示:
运行脚本,查看结果,以下所示:
接口每次请求,关键字都是不一样的,就达到了参数化的效果。
咱们了解csv参数化以后,对于txt文件参数化,都是相似配置。咱们新建一个txt文本文件,输入内容并保存便可。
配置界面以下:
file encoding文件编码填写的是utf-8,不是GB2312。须要格外注意的是,文本文件保存时,默认为ANSI格式文件,便可界面配置为utf-8,但仍是会出现乱码的现象,以下所示:
配置为utf-8,仍是会乱码,解决办法为:将txt文件另存为从新保存,选择文件格式为utf-8保存便可。
内容输入以下图所示:
咱们在配置界面填写的变量名为keyword,因此引入到接口中,也用该变量名,以下所示:
运行脚本,查看结果,以下所示:
不管是用csv文件仍是txt文件进行参数化,配置方式都相似。须要注意的就是,文件编码的格式问题,配置错了,就会致使乱码的状况。配置项中,若是参数化文件第一行填写了参数名称,配置的时候,则须要忽略第一行。
本文仅表明做者观点,系做者@温一壶清酒发表。
欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
文章出处:http://www.cnblogs.com/hong-fithing/