关键元件:csv数据文件设置、请求默认值、消息头管理器、cookie管理器、用户自定义变量。
配置元件:作用域是整个测试计划,优先级最高,最先被执行
一、csv数据文件设置
参 数 | 描 述 | 是否必填 |
---|---|---|
Name | 脚本中显示的这个元件的描述性名称 | 是 |
文件名称 | 待读取文件的名称。可以写入绝对路径,也可以写入相对路径
| 是 |
File Encoding | 文件读取时的编码格式,不填则使用操作系统的编码格式 源文件保存时也要注意编码,否则会出现乱码的情况 | 否 |
Ignore first line | 是否忽略首行,如果csv文件中没有表头,则选择false false:从第一行,一行一行的读。true:从第二行开始,一行一行的读 | 是 |
Variable Names | 变量名列表,多个变量名之间必须用分隔符分隔。如果该项为空,则文件首行会被读取并解析为列名列表。 如何想忽略中间某行,用变量名称为空格接收。如data1, ,data3 | 否 |
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、所有线程、:所有的线程都共享一份数据文件。所有干活的人,串行从头到尾共用一份数据。--不论有多少个线程组,都共用一份数据 2、当前线程组:当前线程组下,所有干活的人,共用一份数据,如果jmeter中有多个线程组,那么在内存中就有多份数据。 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,当线程数超过文件里参数的个数时,实际请求次数为线程数,但当线程数超过参数次数时,由于没有参数,所以结果仍然是失败的。
当添加了csv元件但是没有文件地址时:jmeter不运行
二、HTTP信息头管理器
htttp信息头管理器:可以用来管理取样器的header。
作用域:
1、放在测试计划下:作用域是当前测试计划下的所有线程组都可以使用
2、放在某个线程组下:作用域是当前线程组,当前线程组下的取样器可以用。
3、放在某个取样器下:作用域是父级的取样器---只作用域当前取样器。
HTTP信息头管理器需要填写哪些内容?:在实际操作功能的过程中,使用浏览器或者抓包工具查看实际请求的Request Headers作为参考
三、HTTP Cookie管理器
1、用来管理测试计划所有的cookie
2、像web浏览器一样存储和发送cookie如果有一个请求和响应包括cokkie,Cooie管理器会自动存储cookie,接下来针对特定web站点的所有请求中使用该cookie.
3|使用过程中我们也可以在HTTP Cookie管理器中手动添加一些cookie,在发送请求时也会被自动添加到请求。
如下图,我们在HTTP Cookie管理器中手动添加test。如果当前线程先只有查询请求,没有登陆请求,这时候我们就需要手动添加cookie信息。
四、HTTP请求默认值
实际工作中,经常配到:多个请求有比较多的参数和配置都会重复,每一个都设置比较麻烦,http请求默认值:把重复的部分封装起来,一次设置多次使用。,假设有10个请求,访问域名和端口都是一样的,那HTTP请求中就不再需要单独配置了,比较方便(增加脚本的移植性)。
如下,多个请求的ip、端口、请求方法、路径都相同,我们为其可以添加HTTP请求默认值,这样所有的请求都不需要设置ip、端口、请求方法和路径,只需要设置请求数据即可。
五、用户自定义变量
全局变量:优先级最高,可以在整个测试计划下使用。
五、计数器
计数器允许用户配置一个起点,一个最大值,增量数,循环到最大值,然后重新开始,继续这样,直到测试结束。计数器使用long存储的值,所取的范围是2^63——2^63-1
①计数器设置
②取样器设置
③结果树请求内容
从上图可以看出,计数器成功的生成了我们所需的值。
函数助手中也有个计数器,但是步长只能是1.
六、jdbc connection
Random Variable【 作用和random函数一样,引用${ram} 】