jmeter的组件介绍--框架
测试计划(test plan):用于存放测试脚本的容器。
线程(threads):通过java多线程来实现模拟多用户操作,只有在线程组下才能添加sample(各种协议的请求),因此线程是必须的。
取样器(sample):在jmeter的脚本中,发送请求都是通过取样器实现。不同协议采用不同的取样器。
配置元件:就是提供进行各种配置的组件。可以是测试计划级别,也可以是线程组级别,或者是sample级别的配置。
逻辑控制器:只能在线程组级别进行添加,针对的是sample的操作。主要是为了实现不同的场景,实现不同逻辑的业务操作。例如:可以用事务控制器来定义事务,用仅一次控制器来控制一些整个运行过程中,每个虚拟用户只需要运行一次的请求。
前、后置处理器:前、后置处理器可以是测试计划级别,也可以是线程组级别,或者是sample级别的。用于处于前置和后置的工作。
断言(assertion):可以是测试计划级别,也可以是线程组级别,或者是sample级别的。 用来做设置检查,检查之前的操作是否成功。相当于LR中的检查点。
监听器(listener):可以是测试计划级别,也可以是线程组级别,或者是sample级别的。 用来提供监测统计数据、脚本调试,也可以用来保存响应内容到文件。
定时器:可以是测试计划级别,也可以是线程组级别,或者是sample级别的。jmeter中的思考时间、集合点都是通过定时器组件来实现的。一般采用固定定时器和高斯随机定时器来实现思考时间。采用Synchronizing Timer来实现并发。
可以发现:配置元件、定时器、前置处理器、后置处理器、监听器和断言是有作用域的,只有在作用域才会起作用。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参数化
jmeter的参数化有两种方式:1、通过函数方式生成 2、通过读取CSV文件。
关联
指通过一定的方式获取服务器返回值中某些数据,然后提供给后续的请求使用的一个过程,一般被关联的数据都是变化的。
事务
使用事务控制器来进行事务定义。一般,我们需要手动在脚本中添加一个"逻辑控制"—>"事务控制器",然后将对应的事务操作请求拖入到事务控制器中,作为事务的子节点 。
思考时间和集合点
jmeter中的思考时间、集合点都是通过定时器组件来实现的。一般采用固定定时器和高斯随机定时器来实现思考时间。采用Synchronizing Timer来实现并发。
常用监控
监听器组件用于调试脚本、保存响应内容、监控性能指标。比较常用的是查看结果树、聚合报告。
(1)查看结果树:主要是用于调试脚本使用的,在正式运行测试脚本的时候,一般是需要将这个组件删除或者禁用。
(2)聚合报告:显示取样器和事务控制器的响应时间、吞吐量等指标。
注意:每个监听器的结果如果不保存的话,那么关闭脚本再打开,是看不到之前的运行结果。可以进行设置。