jmeter入门介绍篇

何鸣坤 0
  • Jmeter简介

 

JMeter 是 Apache 基金会 Jakarta 上的一个纯 Java 开源项目,起初用于基于 Web 的压力测试(pressure test),后来其应用范围逐渐扩展到对文件传输 FTP, 大型数据库(JDBC 方式),脚本程序(CGI, Perl 等),Web Services,Java 应用系统等方面的测试。

JMeter 本身主要用于性能测试,如系统压力等。除此之外,JMeter 能够对应用系统做功能测试和回归测试,并且能够通过使用带有断言的脚本程序来验证系统然后返回用户期望的结果。为了提高工具的应用灵活性,JMeter 允许使用正则表达式创建断言。正是由于它的灵活性和可扩展性,JMeter 逐渐成为流行的开源测试工具。

Jmeter运行在JVM虚拟机上,每个进程的开销比较大,且java支持多线程,所以Jmeter是以线程的方式来运行测试的。

Jmeter通过线程组来驱动多个线程运行测试脚本对被测试服务器发起负载,每一个负载机上都可以运行多个线程组,Jmeter运行场景不仅可以在GUI方式中完成,还可以使用命令行,而且命令行运行的方式对于负载机的资源消耗会更小。

在运行过程中通过断言来验证结果的正确性,可以通过监听来记录测试结果。

控制机:运用多台Jmeter负载机进行性能测试时,被选中作为管理机的那台机器称为控制机,该台机器也能运行脚本,同时也用来管理远程负载机运行的任务,并且收集测试结果。

负载机:向被测服务器发起负载的机器,控制机会把测试脚本发送给负载机,如果运行的测试脚本有参数文件以及依赖的jar包时,控制机不能发送,需要手动拷贝到负载机本地。

 

  • jmeter环境配置
    • 安装JDK配置好环境变量,必须8及以上
    • 进入jmeter下载页面:http://jmeter.apache.org/download_jmeter.cgi
    • 下载相应安装包,如:apache-jmeter-5.2.1.zip
    • 把压缩包解压到一个英文名称目录下,如C:\
    • 配置相应环境变量:

新增 JMETER_HOME :jmeter解压目录

修改 CLASSPATH:追加:      %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

修改PATH :追加 %JMETER_HOME%\bin

  • 进入jmeter解压目录的bin目录,双击bat,即可启动jmeter;或在dos命令窗口输入 jmeter 也能完成启动

 

  • 语言设置

jmeter默认语言设置:

1、临时设置: 进入options — Choose Language — 选择中文简体,设置后语言切换成中文,重启失效

2、永久设置:进入jmeter目录下的bin目录,用文本编辑工具ue或notepad++等打开jmeter.properties文件,进行编辑:

找到行: #language=en

修改为: language=zh_CN

保存后重启jmeter即可。

 

  • 目录介绍

bin:放置各项配置文件(如日志设置、JVM设置)、启动文件、启动Jar包、示例脚本等;

docs:放置JMeter API的离线帮助文档;

extras:JMeter辅助功能,提供与Ant、Jenkins提成的可能性,用来构建性能测试自动化框架;

lib:JMeter组件以Jar包的形式放置在lib/ext目录下,如果要扩展JMeter组件,Jar包就放在此目录下,JMeter启动时会加载此目录下的Jar包;

printable_docs:放置JMeter的离线帮助文件,可用来学习JMeter

 

  • 主要测试组件
  1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。
  2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
  3. 监听器负责收集测试结果,同时也被告知了结果显示的方式。
  4. 逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
  5. 断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。
  6. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
  7. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。
  8. 定时器负责定义请求之间的延迟间隔。

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


发表评论