注:内容均来自书籍及网络,侵删。(如因理解不当产生错误,欢迎批评指正)
一、Jmeter工具组成
- 资源生成器:生成测试过程中服务器、负载机的资源代码
- 用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为
- 报表生成器:根据测试中的实时数据产生报表,提供可视化的数据显示方式
- 负载发生器:用于产生负载,常以多线程/多进程的方式模拟用户行为
Test Plan(测试计划):用于描述一个性能测试,包含与本次性能测试所有相关的功能。即本次性能测试的所有内容是基于一个计划的。
二、Threads(Users)线程 用户
- setUp Thread Group:一种特殊类型的Thread Group,可用于执行预测试操作。此类型的线程执行测试前进行定期线程组的执行。类似LR的init()。
- tearDown Thread Group:一种特殊类型的Thread Group,可用于执行测试后动作。此类型的线程执行测试结束后执行定期的线程组。类似LR的end()。
- Thread Group(线程组):我们通常添加运行的线程,可看做一个虚拟用户组。线程组中包含的线程数量在测试执行过程中不会发生改变。类似LR的action()。
三、测试片段(Test Fragment)
该元素是控制器上一个特殊的线程组,在测试树上与线程组处于同一层级。当它是一个模块控制器或者是被控制器所引用时,才会被执行。
以下是线程组的八类可执行元件
四、配置原件(Config Element)
用于提供对静态数据配置的支持。
五、定时器(Timer)
用于操作之间设置等待时间。类似LR的“思考时间”。
六、前置处理器(Per Processors)
用于在实际的请求发出之前对即将发出的请求进行特殊处理。
七、后置处理器(Post Processors)
用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据。类似LR的关联概念。
八、断言(Assertions)
用于检查测试中得到的相应数据是否符合预期。一般用于设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
九、监听器(Listener)
用来对测试结果数据进行处理和可视化展示的一系列元件。
十、取样器(Sampler)
是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元。Jmeter原生支持多种不同的sampler,每一种类型的sampler可以根据设置的参数向服务器发出不同类型的请求。
十一、逻辑控制器
包括两类元件:一类是用于控制test plan中sampler节点发送请求的逻辑顺序的控制器,常用的有If控制器、循环控制器等;另一类是用来组织可控制sampler节点的,如事务控制器、吞吐量控制器等。
十二、Jmeter程序下载
- 官网地址:https://jmeter.apache.org/download_jmeter.cgi