1.JMeter基本原理
建立一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。
Jmeter结构图如下:
2.JMeter组成部分
2.1 取样器
取样器用来模拟用户操作,向服务器(被测试系统)发出Http请求、WebService(SOAP/XML-RPC Request)请求或者Java请求等。
我们可以把HTTP请求元件看成是一个没有界面的浏览器,它可以发送Http请求,接受服务器的响应数据。
取样器访问路径:【测试计划】-【线程组】- 添加【取样器】- 协议的选择。
2.2 断言
断言用来验证结果是否正确,用一个预设的结果(值、表达式、时间长短等条件)与实际结果匹配,匹配到则成功,反之失败。
断言原件类型有响应断言、XML断言、BeanShell断言,较常用的还是响应断言。
断言访问路径:【测试计划】- 【线程组】- 添加【断言】- 选择如响应断言
2.3 监听器
JMeter监听器主要有2个任务:
①添加结果监听,并且可以保存测试结果到文件,这些结果数据可以供在此分析使用;
②展示结果,JMeter可以以表格及图形的形式展现结果,方便测试人员分析测试结果。
监听器访问路径:【测试计划】-【监听器】
附:取样器 + 断言 + 监听器组合在一起就可以帮助我们完成发送请求、验证结果及记录结果三项工作。
2.4 前置处理器
前置处理器访问路径:【测试计划】-【前置处理器】
2.5 配置元件
JMeter的参数化可以通过配置元件来完成,比如CSV Data Set Config,它可以帮助我们从文件中读取测试数据。
还可以用来记录服务器的返回数据,比如Http Cache Manager,自动记录服务器返回的Cache信息。简而言之它为取样器提供预备数据,然后由取样器发出请求。
配置元件访问路径:【测试计划】-【配置元件】
2.6 后置处理器
后置处理器一般放在取样器之后,用来处理服务器的返回结果。
后置处理器访问路径:【测试计划】-【后置处理器】
附:前置处理器 + 配置元件 + 后置处理器都是为取样器提供数据支持的,取样器关注的是业务逻辑。
2.7 控制器
JMeter逻辑控制器(简称控制器)类型:事务控制器、录制控制器、循环控制器等。
控制器访问路径:【测试计划】-【线程组】-【逻辑控制器】
2.8 定时器
定时访问路径:【测试计划】-【线程组】-【定时器】
2.9 线程组
性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个工作的,在此元件中我们可以设置运行的线程数(就是模拟多少用户,一线程一用户)。
线程组访问路径:【测试计划】-【Threads(Users)】
2.10 Test Fragment
Test Fragmen作用:
①在脚本开发过程中可以用来备份元件
②TestFragment下的元件可以被模块控制器调用,我们可以利用它来模块化请求供模块控制器调用。
Test Fragment访问路径:【测试计划】-【添加】-【Test Fragment】
2.11 工作台
以上是JMeter的主要组建,JMeter的设计理念与其他的性能测试工具一样,采用组建方式开发,方便进行扩展。