1 JMeter简介
- Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试;
- 开源的桌面应用软件;
- 可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等;
- 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能;
- 能够对应用程序做功能/回归测试;
- 允许使用正则表达式创建断言,通过创建带有断言的脚本来验证程序是否返回了期望结果;
2 体系结构
- 元件:代表JMeter工具菜单中一个子菜单(功能),比如Http请求就是一个元件;
- 组件:一组元件的集合,如逻辑控制器就是组件,它还包含事务控制器;
- JMeter结构图:
注:图片来源于《全栈性能测试修炼宝典JMeter实战》
X1-X5:使用这些组件来完成负载的模拟;
Y1:负载模拟用户请求;
Y2:负责结果验证正确性;
Z:负载结果的收集。
2.1 取样器
- 访问路径:
测试计划-添加-线程(用户)-线程组;
线程组-添加-取样器。
- 作用:用来模拟用户操作,向服务器发出请求,比如http请求、java请求等;
- JMeter5.3版本取样器总共21个,涵盖了常用的协议,比如http、ftp、smtp等。
2.2 断言
- 作用:用例验证结果的正确性,及一个预设的结果,到时候和实际结果进行匹配;
- 访问路径:
测试计划-添加-断言
2.3 监听器
- 作用:用来监听收集测试结果,保存结果和结果展示;
- 访问路径:
测试计划-添加-监听器
【取样器】-【断言】-【监听器】组合在一起,就可以完成发送请求、验证结果及记录结果三项工作。
2.4 前置处理器
- 作用:测试脚本开发中,在请求发送前做一些环境或参数的准备工作,比如数据库操作前的建立连接;
- 访问路径:
测试计划-添加-前置处理器
2.5 配置元件
- 作用:为取样器提供预备数据,由取样器发出请求。比如可以设置参数化、记录服务器的返回数据等;
- 访问路径:
测试计划-添加-配置元件
2.6 后置处理器
- 作用:放在取样器之后,用来处理服务器的返回结果;
- 返回路径:
测试计划-添加-后置处理器
【前置处理器】-【配置元件】-【后置处理器】,都是为取样器提供数据支持。
2.7 控制器
- 作用:通过控制各种控制器的组合,来完成我们的各种请求。比如邮件服务等;
- 访问路径:
测试计划-添加-线程(用户)-线程组;
线程组-添加-逻辑控制器。
2.8 定时器
- 作用:比如模拟用户请求时,在某一时刻或者同时刻发送请求;
- 访问路径:
测试计划-添加-线程(用户)-线程组;
线程组-添加-定时器
2.9 线程组
- 作用:模拟大量用户负载情况,模拟用户数,一线程一个用户;除设置线程数外还可以设置运行时长等;
- 访问路径:
测试计划-添加-线程(用户)-线程组;
2.10 测试片段-Test Fragment
- 作用:是辅助组件,可放置任何测试元件,一般不会被运行;用来备份元件,其下的元件看被模块控制器调用;
- 访问路径:
测试计划-添加-测试片段
【特别说明】:知识来源于网络、各种资料、书本、网站等,本文仅用于学习使用,不做他用,如果涉及版权问题,请联系博主删除,谢谢