1、简介
JMeter配置元件可以用来初始化默认值和变量、读取文件数据、设置公共请求参数、赋予变量值等,以便后续供取样器使用。
配置元件(Config Element)提供对静态数据配置的支持,可以为取样器设置默认值和变量。
首先,来看一下JMeter的配置元件,其路径为:添加->配置元件。如下图所示,可以清晰地看到JMeter5中共有19个配置元件:
接下来,将对在工作中经常用到的一些配置元件进行逐一讲解。
2、常用配置元件详解
2.1、CSV Data Set Config
1、关于CSV Data Set Config配置元件,如下图所示:
2、参数详解及说明,如下表所示:
| 参数 | 描述 | 是否必填 |
|---|---|---|
| Name | 脚本中显示的这个元件的描述性名称 | 是 |
| Filename | 待读取文件的名称。可以写入绝对路径,也可以写入相对路径(相对于bin目录),如果直接写文件名,则该文件要放在bin目录中。对于分布式测试,主机和远程机中相应目录下应该有相同的csv文件 | 是 |
| File Encoding | 文件读取时的编码格式,不填则使用操作系统的编码格式 | 否 |
| Ignore first line | 是否忽略首行,如果csv文件中没有表头,则选择false | 是 |
| Variable Names | 变量名列表,多个变量名之间必须用分隔符分隔。如果该项为空,则文件首行会被读取并解析为列名列表 | 否 |
| Delimiter | 参数分隔符,将一行数据分隔成多个变量,默认为逗号,也可以使用“\t”。如果一行数据分隔后的值比Vairable Names中定义的变量少,这些变量将保留以前的值(如果有值的话) | 是 |
| Allow quoted data? | 是否允许变量使用双引号,允许的话,变量将可以括在双引号内,并且这些变量名可以包含分隔符 | 否 |
| Recycle on EOF? | 是否循环读取csv文件内容,达到文件结尾后,是否从文件开始循环重新读取;默认为 true | 是 |
| Stop thread on EOF? | 是否循环读取csv文件内容,达到文件结尾后,线程是否该终止;默认为 true | 是 |
| Recycle on EOF? | 当Recycle on EOF为False时,停止线程,当Recycle on EOF为True时,此项无意义,默认为 false | 是 |
| Sharing mode | 1、All threads(默认):一个线程组内,各个线程(用户)唯一顺序取值;2、current thread:一个线程组内,各个线程(用户)各自顺序取值;3、线程组各自独立,但每个线程组内各个线程(用户)唯一顺序取值; | 是 |
3、Recycle on EOF 和Stop thread on EOF的关系:
当Recycle on EOF 选择true时,Stop thread on EOF选择true和false无任何意义,因为既然前面已经设置了文件是不停的循环读取,后面的控制stop就相当于失效;
当Recycle on EOF 选择false时,Stop thread on EOF选择true,则当线程数超过文件里的参数的个数时,实际请求数为参数的个数;
当Recycle on EOF 选择false时,Stop thread on EOF选择flase,当线程数超过文件里参数的个数时,实际请求次数为线程数,但当线程数超过参数次数时,由于没有参数,所以结果仍然是失败的。
4、Sharing mode:如果希望每个线程拥有自己独立的值集合,那么就需要创建一系列数据文件,为每个线程准备一个数据文件,如test1.csv、test2.csv等,使用文件名test${__threadNum}.csv,并将“sharing mode"设置为"Current thread"
All threads:文件在所有线程间共享。
Identifier:所有线程共享相同的标识,共享相同的文件。如有4个线程组,测试人员可以使用一个通用ID,以便在两个或多个线程组之间共享文件。
Current thread:每个文件会针对每个线程单独打开。
Current thread group:每个文件会针对每个线程组打开一次。
2.2、HTTP Header Manager
支持用户添加或者重写HTTP请求头。JMeter支持多个信息头管理器。多个信息头条目合并成一个信息头列表,跟随HTTP请求一并提交到服务端。
小提示:
-
当有多个信息头管理器,且不同的管理器内有名称相同的信息头条目存在时,顺序靠前的管理器的信息头条目会覆盖后面的; -
当只有一个信息头管理器,但管理器内有名称相同的信息头条目时,会同时生效;
1、关于HTTP Header Manager配置元件,如下图所示:
2、参数详解及说明,如下表所示:
| 参数 | 描述 | 是否必填 |
|---|---|---|
| Name | 请求头的名称,比如Content-Type | 否 |
| Value | 请求头的值,比如application/json | 否 |
3、常用请求头,这些一般可以抓包和在浏览器中查到,如下表所示:
免费技术支持微信:15712862196
咨询QQ:2657535456
咨询微信号:huice666
慧测公众号



