目录
一、jmeter原理
Jmeter基本原理是建立一个线程池,多线程运行sample产生大量负载,在运行过程中通过断言来验证结果的正确性,可以通过监听来记录测试结果
使用场景
- 如果取样器中有参数化需求,可以通过配置元件或者前置处理器来完成;
- 如果取样器中有关联需求,可以通过后置处理器来完成;
- 如果要模拟负载场景,比如模拟多少用户,运动多长时间,可以通过线程组完成;
- 如果要模拟并发场景,可以通过定时器来完成;
- 如果要控制业务的执行逻辑,比如登录只运行一次,可以通过控制器来完成
Jmeter执行模式
GUI:图形用户界面运行模式,可视化,更加直观,方便实时查看运行状态,如测试结果、运行线程数等;
非GUI:命令行模式,对负载机的资源消耗更小,GUI模式会影响负载量的生成
二、八大元件
八大元件说明
- Sampler(取样器):不与其他元件发⽣交互的作⽤的元件,独立,不存在作用域的问题
- Logic Controller(控制器):只对其⼦节点的sampler有效,⽽其他元件需要与sampler等元件交互。可对执行元件的逻辑进行控制,控制流量
- Config Elements(配置元件):影响其范围内的所有元件,进行参数化、初始化设置、用来存储服务器的响应信息、设置参数、设置默认值
- Pre-processors(前置处理器):在其作⽤范围内的每⼀个sampler元件之前执⾏,用来处理请求前的一些数据准备,比如参数设置、环境变量设置等
- Timer(定时器):对其作⽤范围内的每⼀个sampler有效,用来控制取样器的执行时间,模拟大量用户并发实现JMeter集合点
- Post-processors(后置处理器):在其作⽤范围内的每⼀个sampler元件之后执⾏,对响应数据进行处理操作,如对取样器结果进行分析、截取等操作。
- Assertions(断⾔):对其作⽤范围内的每⼀个sampler元件执⾏后的结果执⾏校验。对服务器的响应数据做验证,即验证实际结果的正确性,常用的断言是响应断言。
- Listener(监听器):收集其作⽤范围内的每⼀个sampler元件的信息并且呈 现出来,用来监听和显示jmeter取样器结果,能够以树、表及图形形式显示测试结果,也可以以文件方式保存测试结果。
相同节点加载/执⾏顺序
1. 配置元件
2. 前置处理器
3. 定时器
4. 取样器
5. 后置处理器
6. 断言
7. 监听器
注意:
1. Pre-porcessors、Post-porcessors和Assirtions等元件仅对Sampler作用,如在它们作用域内没有任何Sampler,则不会被执行;
2. 如果在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在test plan中的上下顺序依次执行
hash tree
jmeter数据结构,定位节点信息,查看当前节点
执行时序图