Jmeter入门使用
1. 什么是Jmeter
转自:https://www.cnblogs.com/lijuanhu321/p/9537185.html#testComponent
https://www.cnblogs.com/dongye95/p/9337998.html
https://www.cnblogs.com/yuki-lau/archive/2013/04/20/3033010.html
JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
2. 为什么使用JMeter
- 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件
- 支持接口测试,压力测试等多种功能,支持录制回放,入门简单
- 相较于自己编写框架或其他开源工具,有较为完善的UI界面,便于接口调试
- 多平台支持,可在Linux,Windows,Mac上运行
3. JMeter工作流程
4. JMeter下载安装运行
1)JMeter 安装
- 下载地址:http://jmeter.apache.org/(下载最新版本的JMeter,并解压到任意位置)
- 安装JDK,配置环境变量(JAVA_HOME),最低要求jdk 1.6及以上版本
2)JMeter 运行
- 进入到目录:D:\jmeter\Jmeter\apache-jmeter-2.9\bin,下运行jmeter.bat启动jmeter
- 打开之后,是中文界面,如果需要展示英文界面,选项->选择语言->英语,即可。
5. JMeter目录结构
/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用户手册
6. Jmeter相关插件安装
- 插件安装
下载对应插件解压即可。
下载地址:http://jmeter-plugins.org/downloads/all/。下载后解压放入:apache-jmeter-2.12\lib\ext\目录下。
重启Jmeter
7. JMeter主要测试组件
转自:https://www.cnblogs.com/lijuanhu321/p/9537185.html#testComponent
- 测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。
- 线程组(Thread Groups)线程组元件是任何测试计划的起点。代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
- 控制器(Controller)分为采样器(Sampler)和逻辑控制器(logic Controller)。逻辑控制器(Logic Controller)可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
- 监听器(Listener)负责收集测试结果,同时也被告知了结果显示的方式。
- 定时器(Timer)负责定义请求之间的延迟间隔。
- 配置元件(Config Elements)维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
- 前置处理器(Pre Processors)负责在生成请求之前完成工作。常常用来修改请求的设置。
- 后置处理器(Post Processors))负责在生成请求之后完成工作。常常用来处理响应的数据。
- 断言(Assertions)可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。
7.1 JMeter测试计划(Test Plan)
测试计划可视化为用于运行测试的JMeter脚本。 测试计划由测试元素组成,例如线程组,逻辑控制器,样本生成控制器,监听器,定时器,断言和配置元素。
测试计划包含执行脚本的所有步骤。 测试计划中包含的所有内容都按照从上到下的顺序执行,或者按照测试计划中定义的顺序执行。
7.2 JMeter线程组(Thread Groups)
一个测试计划的所有元件必须在一个线程组下。线程组元件控制JMeter运行测试时使用的线程数。Thread Group有三个和负载信息相关的参数:
- Number of Threads: 设置发送请求的用户数目
- Ramp-up period: 每个请求发生的总时间间隔,单位是秒。比如你的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5,也就是2秒
- Loop Count: 请求发生的重复次数,如果选择后面的forever(默认),那么请求将一直继续,如果不选择forever,而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次。
7.3 JMeter控制器(Controllers)
控制器分为采样器(Sampler)和逻辑控制器(logic Controller)
7.3.1 采样器(Sampler)
采样器是允许JMeter将特定类型的请求发送到服务器的组件。它模拟用户对目标服务器的页面的请求。
采样器是必须将组件添加到测试计划中的,因为它只能让JMeter知道需要将哪种类型的请求发送到服务器。JMeter取样器包括:
- FTP请求
- HTTP请求(也可用于SOAP或REST Web服务)
- JDBC请求
- Java对象请求
- JMS请求
- JUnit测试请求
- LDAP请求
- 邮件请求
- 操作系统进程请求
- TCP请求
7.3.2 逻辑控制器(logic Controller)
逻辑控制器可控制线程中采样器处理顺序的流程。 也可更改来自其子元素的请求的顺序。即逻辑控制器允许你定制JMeter何时发送请求。
7.4 JMeter监听器(Listeners)
性能测试就是以各种形式分析服务器响应,然后将其呈现给客户端。
当JMeter的采样器组件被执行时,监听器提供JMeter收集的关于那些测试用例的数据的图形表示。它便于用户在某些日志文件中以表格,图形,树或简单文本的形式查看采样器结果。
监听器可以在测试的任何地方进行调整,直接包括在测试计划下。JMeter提供了大约15个监听器,但主要使用的是表,树和图形。
7.4.1 察看结果树
用于查看请求结果,通过的测试通常为绿色。红色则代表失败。查看对应Sampler的测试结果的请求、响应数据。
7.4.2 汇总报告
提供了最简要的测试结果信息,同时可以配置将相应的信息保存至指定的文件中(支持xml、csv格式的文件)。单击Configure按钮,可以配置结果保存各种选项。
7.4.3 聚合报告
提供了最详细的报告,也是最为常用的报告。
该监听器对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,中位数、90%、95%、错误率,吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量。
Jmeter入门使用的更多相关文章
- JMeter入门合集
JMeter从入门到精通 http://blog.csdn.net/lihengxin/article/details/4325918 jmeter入门教程- Jmeter教程及技巧汇总 http:/ ...
- JMeter入门(03)多台JMeter联合测试
一.配置各个节点 1.配置jmeter.properties # Remote Hosts - comma delimited#remote_hosts=localhost:1099,localhos ...
- jmeter入门案例(二)
jmeter入门简介(一)下载及元件介绍https://www.cnblogs.com/wish5714/p/9714930.html jmeter典型的http请求示例 业务场景 银行卡收单交易,模 ...
- 性能测试基础---jmeter入门
·Jmeter入门 ·Jmeter的简介: ·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具. ·Jmeter的下载: ·最新版:http://jmeter.apache.org/dow ...
- JMeter入门 | 第一个并发测试
JMeter入门 | 第一个并发测试 背景 近期我们组新来了一些新同事,之前从来没有用过JMeter做个并发测试,于是准备了一系列小教程去指引新同事,本章主要是新人入门体验教程,快速实现第一个接口并发 ...
- Jmeter入门(2)- 基本使用
一. JMeter入门脚本 学习例子 向百度发送请求 添加测试计划,默认会有一个测试计划 添加线程组 在测试计划上右键 ==> 添加 ==> 线程(用户) ==> 线程组 添加HTT ...
- Jmeter入门(01)Jmeter的下载和安装
一.什么是Jmeter 1.一款优秀的.开源的.免费的.功能测试和性能测试 工具 Jmeter ,使用Java开发的一款优秀的开源免费测试工具,主要用来做功能测试和性能测试(压力测试/负载测试),用J ...
- 【转】Jmeter入门:如何建立和使用Jmeter测试环境
一.工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用, 后来又扩充了其它的功能.j ...
- jmeter入门(环境搭建&运行&初识)
最近了解了一些性能测试的基础知识和原理决定动手实践下,比较选择了jmeter 一.什么是jmeter Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试 ...
- <Jmeter入门不放弃>之<2.常用功能>
大家这里参考学习的时候,我就不在这里配截图了,因为需要你打开工具根据文档自己去找,才有印象,大家一定要启动JMeter!跟着理解操作 一.测试计划 用来描述一个性能测试,所有内容都是基于这个计划,这谁 ...
随机推荐
- 【Redis】Redis基础 - Redis安装启动测试
Redis基本 - 安装 文章目录 Redis基本 - 安装 Linux下安装Redis Docker 方式 Github 源码编译方式 直接安装方式 Windows下Redis安装 记录 - Red ...
- 关于QTableWidget中单元格拖拽实现
无重写函数实现单元格拖拽 缺点:需要额外设置一个记录拖拽起始行的私有成员变量和拖拽列的初始QList数据成员. 优点:无需重构函数,对于QT中信号和槽的灵活运用 信号和槽 // signal void ...
- 优先队列priority_queue排序
优先队列默认大顶堆,即堆顶元素是最大值 改成小顶堆时: priority_queue<int,vector<int>, greater<int> > Q;//注意最 ...
- C语言流程图画法(C语言学习笔记)
常用符号及其含义 图片来自百度文库 https://wenku.baidu.com/view/beb410dea216147916112853.html 常用结构 N-S图
- toad for oracle自定义快捷sql
View--->Toad Options--->Behavior--->Auto replace--->
- Sentry(v20.12.1) K8S 云原生架构探索,JavaScript 性能监控之采样 Transactions
系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...
- UI测试框架
1. 从上到下共分成4层: 用例层 组件管理层 元素管理层 公共数据层 2. 用例层: 将每条用例使用参数化, 公共参数存储到"公共数据层", 中间参数通过组件层传递 3. ...
- java进阶(33)--IO流
一.IO流概念:1.基本概念2.IO流分类3.java.io流的四大家族4.流的close和flush方法5.java.id下常用的16个流 二.FileInputStream字节输入流1.FileI ...
- Python执行程序实可视化_heartrate
最近发现了一个Python程序执行的简单实时可视化神器,名字叫 heartrate,安装完运行可以看到下面这样的炫酷过程. 虽然很炫酷,但有点看不懂. 来解释下,左边的动态数字代表每行被触发的次数.变 ...
- jmeter-并发及常数吞吐量定时器设定