2.测试计划元件介绍

77 阅读3分钟

前言 本篇对Jmeter压测工具的测试计划元件进行介绍和分析

1、测试计划(Test Plan)

描述一个性能测试,包含本次测试所有相关功能

2、线程用户(Threads(Users))

image.png

Thread group(线程组):一个线程组可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

Setup thread group(setUp线程组):一种特殊类型的线程,可用于执行预测试操作。即执行测试前进行定期测试组的执行。

Teardown thread group(tearDown线程组):一种特殊类型的线程,可用于执行测试后动作。即执行测试结束后执行定期的线程组。

3、取样器(sampler)

取样器(sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter原生支持多种不同的sampler,如 HTTP Request Sampler 、 FTP Request Sampler 、TCP Request Sampler 、 JDBC Request Sampler等,每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。

在Jmeter的所有Sampler中,Java Request Sampler与BeanShell Requst Sampler是两种特殊的可定制的Sampler.

一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录响应时间信息

image.png

4、逻辑控制器(Logic Controller)

逻辑控制器,包括两类元件,一类用于控制test plan中sampler节点发送请求的逻辑顺序的控制器,常用的有如果(If)控制器 、 switch Controller 、Runtime Controller、循环控制器等。

另一类是用来组织可控制sampler节点的,如事物控制器、吞吐量控制器。

image.png

5、配置元件(Config Element)

配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config可以将本地数据文件形成数据池(Data Pool)而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配置元件则可以修改Sampler的默认数据。

例如:

HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的 cookie 进行管理。

HTTP 请求默认值不会触发Jmeter发送http请求,而只是定义HTTP请求的默认属性。

image.png

6、定时器(Timer)

用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段,jmeter定义了Constant Times、Constant Throughput Times、Guass Ramdon Times等不同类型的Times

image.png

7、前置处理器(Per Processors)

用于在实际请求发出之前对即将发出的请求进行特殊处理。

例如:

Count处理器可以实现自增操作,自增后生成的数据可以被将要发出的请求使用,而HTTP URL Re—Writing Modifier处理器则可以实现URL重写,当URL中有sessionID一类的session信息时,可以通过该处理器填充发出请求实际的sessionID。

image.png

8、后置处理器(Post Processors)

用于对Sampler发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似loadrunner中的关联)。

例如:

Regular Expression Extractor用于提取响应数据中匹配某正则表达式的数据段,并将其填充在参数中,Xpath Extractor则可以用于提取响应数据中通过给定Xpath值获得的数据。

image.png

9、断言(Assertions)

用于检查测试中得到的响应数据等是否符合预期,Assertions一般用来设置检查点,用以保证性能测试过程中的数据交互与预期一致。

image.png

10、监听器(Listener)

对测试结果进行处理和可视化展示的一系列组件,常用的有图形结果、查看结果树、聚合报告等

image.png