Config Element (配置元件)
ps:以当前版本5.1.1为例,内容太多了,挑一些常用的说
1.CSV Data Set Config(CSV 数据文件设置)
CSV文件读取器,一般用来做入参使用,本身是一个循环读取的组件。
跟随线程数走,例如100线程,则会从第二行开始(如果跳过第一行的话)每次读取一行数据,当读取完,则再次从头开始读取。
csv文件内容
元件配置
Filename: CSV文件路径,支持相对和绝对路径,一般写成相对路径,移植的时候方便些(相对jmx文件)
File encoding: 文件编码格式,一般写utf-8 (utf8, UTF-8)
Variable Names (comma-delimited): 定义变量名,若有多个,英文逗号隔开,如图,我要取两列,第一列为A,第二列为B
Ignore first line(only used if ….): 忽略读取第一行
Delimiter(use ‘\t’ for tab): 分隔符
Allow quoted data?: 是否允许带引号,默认不允许
Recycle on EOF?: 遇到文件结束符再次循环,默认是
Stop thread on EOF?: 遇到文件结束符停止线程,默认否
Sharing mode: 线程共享模式
2.HTTP Request Defaults(HTTP请求默认值)
这个可以理解为是一个模板,即当http sample的一些值未设置的时候,从http request defaults元件获取。
例如这里默认值这么配置。
在该元件同线程组下方添加http request sample
添加一个结果树,允许一下,查看结果
根据名字可以看到记录的是http request sample的访问结果,我们在默认值设置里定义了http://baidu.com,
在http request sample中只定义了path: /test, 最终发送请求的地址是 http://baidu.com/test,理解一下嗯。
3.HTTP Header Manager(HTTP信息头管理器)
请求头管理器,下面列出常用header头。
是的,你没看错,header头里也可以加cookies,对于一些涉及到权限需要登陆的,临时调试的时候,可以直接把从你浏览器上拷贝的cookies复制过来,在jmeter中免写登陆接口。不过更推荐配合仅一次控制器来登陆,这边不展开,后面仅一次控制器会细说。
4.HTTP Cookie Manager(HTTP Cookie管理器)
该元件用于存储请求后产生的用户信息。
Clear cokies each Iteration:每次请求清空cookies(自定义的不会被清除)
Cookie Policy:管理Cookie的策略,默认standard。
5.User Defined Variables(用户定义的变量)
这个控件可以自己定义一些变量,下面通过实例看一下。
这边先在自定义变量元件定义变量test_param_1,值为111。
然后在BeanShell Sample中尝试获取test_param_1并赋值给aa,将aa打印到日志中。
在另一个线程中,同样添加个BeanShell Sample,尝试获取test_param_1并赋值给bb,将bb打印到日志中。
运行一下
可以看到,aa和bb都打印出来了,因此自定义变量元件定义的变量,是支持跨线程组使用的。
关于其他组件的变量定义以及和系统变量的一些区别此处就不展开了,后面单独写一篇梳理。
6.Random Variable(随机变量)
随机数生成元件
Output variable: 输出变量
Variable Name: 变量名,用以其他地方来引用
Output Format: 输出格式
Configure the Random generator: 配置随机发生器
Minimum Value: 最小值
Maximum Value: 最大值
Seed for Random function:随机种子
Options: 选项
Per Thread(User)?: 每线程(用户),默认False,表示每个线程都会重新随机生成。
例如会员卡1开头共七位,范围为1000000-1999999。
参考上面,在BeanShell Sample中获取test_random变量,然后打印一下,同时把线程数设置成5
因为Per Thread(User)为False,因此每个线程的随机数都重新生成的。