Jmeter的介绍

简介-百度百科

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言

使用的好处

  • 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
  • 支持接口测试,压力测试等多种功能,支持录制回放(badboy),入门简单
  • 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试

安装

  • 下载选择自己对应的系统版本
  • 安装JDK,配置环境变量(jmeter是运行在JDK环境下的)
  • 将下载Jmeter文件解压,打开/bin/jmeter.bat
Jmeter的介绍_第1张图片
image.png

以管理员身份运行

Jmeter的介绍_第2张图片
image.png
  • Jmeter的目录结构
Jmeter的介绍_第3张图片
image.png
/bin 目录(常用文件介绍)
examples:目录下包含Jmeter使用实例

ApacheJMeter.jar:JMeter源码包

jmeter.bat:windows下启动文件

jmeter.sh:Linux下启动文件

jmeter.log:Jmeter运行日志文件

jmeter.properties:Jmeter配置文件

jmeter-server.bat:windows下启动负载生成器服务文件

jmeter-server:Linux下启动负载生成器文件

/docs目录——Jmeter帮助文档
/extras目录——提供了对Ant的支持文件,可也用于持续集成
/lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录
/licenses目录——软件许可文件,不用管
/printable_docs目录——Jmeter用户手册

操作步骤

  • 测试计划(test plan)
    jmeter的测试计划,实际是一个或者一组测试用例。可以将线程组(thread group)理解为一个测试用例。在一个测试计划中可以有多个测试线程组。
  • 工作台(work bench)
    jmeter中,可以在工作台中配置http代理服务器,然后将录制的脚本存入工作台中,进行初步编辑,然后将脚本复制\粘贴到测试计划中。
    我们第一步要在测试计划中,添加一个线程组
我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,
线程组中的每个线程都可以理解为一个虚拟用户。
线程组中包含的线程数量在测试执行过程中是不会发生改变的
Jmeter的介绍_第4张图片
image.png
  • 对线程组进行添加
    JMeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic Controller),用这些原件来驱动处理一个测试。
Jmeter的介绍_第5张图片
image.png

取样器(Sampler)

Jmeter的介绍_第6张图片
image.png
取样器(Sample)主要就是向服务器发送请求,记录响应信息,
记录响应时间的最小单元,JMeter 原生支持多种不同的sampler ,
如 HTTP Request Sampler 、 FTP  Request Sample 、
TCP  Request Sample 、JDBC Request Sampler 等,
每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。

逻辑控制器(Logic Controller)

Jmeter的介绍_第7张图片
image.png
逻辑控制器,包括两类无件,
一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,
常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循环控制器等。
另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器

配置元件(Config Element)

Jmeter的介绍_第8张图片
image.png
配置元件(config element)用于提供对静态数据配置的支持。
CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),
而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。
(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)

定时器(Timer)

Jmeter的介绍_第9张图片
image.png
定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。
类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、
Constant Throughput Timer、固定定时器等不同类型的Timer。

前置处理器(Per Processors)

Jmeter的介绍_第10张图片
image.png
用于在实际的请求发出之前对即将发出的请求进行特殊处理。
例如,HTTP URL重写修复符则可以实现URL重写,
当RUL中有sessionID 一类的session信息时,
可以通过该处理器填充发出请求的实际的sessionID

后置处理器(Post Processors)

Jmeter的介绍_第11张图片
image.png
用于对Sampler 发出请求后得到的服务器响应进行处理。
一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。
例如,XPath  Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据

断言(Assertions)

Jmeter的介绍_第12张图片
image.png
断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,
用以保证性能测试过程中的数据交互是否与预期一致。

监听器(Listener)

Jmeter的介绍_第13张图片
image.png
它是用来对测试结果数据进行处理和可视化展示的一系列元件。
 图行结果、查看结果树、聚合报告。都是我们经常用到的元件

写这些参考了别人的资料,整体来说还是给自己做一个笔记,加深一下自己对jmeter配置元件的理解,我后续还会写很多关于jmeter的测试,接口,性能,还有持续集成。

你可能感兴趣的:(Jmeter的介绍)