1.配置元件
csv Data set config:用来获取csv文件或者txt文件的内容,一行一行的获取,然后把每一行的内容赋值给变量,若有多个,一般用逗号隔开
计数器:一般用来生成不同的值,比如从1递增到100,赋值给num
http请求头:配置http的报头
2.前置处理器
用户参数:给每一个线程赋值,如果运行的线程数大于添加的线程,则循环取值
URL重写修饰符:登陆后会自动保存服务器返回的sessionid,并且在以后的get请求url后会带上sessionid的参数来保持会话
3.定时器
固定定时器/高斯定时器
同步定时器:达到了多少个虚拟用户就一起请求
固定吞吐量定时器:通过暂停/加快线程的请求来保证吞吐量稳定在一个值,当然前提是线程数能够达到这个吞吐量
4.取样器:
http请求:这个用的比较多,默认端口80,默认请求方式get,可以添加json或者键值对等。。
jdbc请求:填入sql语句,设置查询结果变量等,不过要先设置jdbc连接配置,添加jar包等
5.后置处理器:
正则表达式提取器:这个要对正则表达式很熟悉,选择哪个模板($1$第一个模板),匹配数字:-1所有(此时的变量相当于数组),0随机,正数第几组值。
Debug Postprocessor:用来调试,可以在正则表达式中查看结果,Jmeter属性:jmeter.properties中定义的,Jmeter变量:我们自己设置的变量
系统属性:我们设置的系统变量,如JMETE_HOME等
6.断言
响应断言:对响应的各个部分进行断言,支持正则表达式
size断言:判断响应各个部分的大小
7.监听器
查看结果树,聚合报告,保存响应到文件(测试下周会用到)
还有第三方的 TPS VS Threads,RT vs Threads
8。函数:
uuid 生成一个随机的一串,不会重复
time:获取时间戳
随机数字,随机字符串,本机属性(IP),文件读取,获取jmeter属性等
9.控制器
IF(条件可以使用javascript/beanshell函数去生成) switch(选择执行那个,从0开始计数) foreach(遍历数组中的值) loop while 仅一次控制器(一个线程执行一次,不管这个线程循环多少次) 事务控制器(可以把多个请求合到一个事务中) 吞吐量控制器(控制执行次数) 随机控制器(随机执行一个请求) 随机顺序控制器(随机执行,但是每次都全部执行所有请求) 交替控制器(这次执行第一个,下次循环执行第二个)
以上罗列的是我们在进行性能脚本编写时常用到的一些元件,具体的用法可以自行查阅,当然还有很多元件,Jmeter是一个很重要而且比较复杂的工具,需要一定的编程能力,所有需要我们花时间去学习。