Jmeter应用初步介绍

一.工具介绍

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

二.下载安装

JMeter对应官方网址:http://jmeter.apache.org/

a.安装环境要求:

  • Java版本

JMeter要求充分满足JVM1.3或更高。

  • 操作系统

JMeter可以在当前任何一个已经部署了Java的操作系统上运行。

Unix(Solaris,Linux,etc)

Windows(98,NT,2000,XP)

Open VMS Alpha 7.3+

b.安装步骤

  • 安装环境

Mac OS X Lion

  • 安装包准备

JDK(Requires Java 6 or later) 具体可在官方网站下载

apache-jmeter-2.13 具体下载地址:

http://apache.fayea.com//jmeter/binaries/apache-jmeter-2.13.tgz

  • 安装过程

1)JDK安装

点击下载的jdk,选择安装路径即可。

2)JDK环境配置

sudo chmod +xw /etc/profile
sudo vim /etc/profile

#示例
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

#添加如下内容
export JAVA_HOME=[Your Java Home]
export CLASS_PATH=$JAVA_HOME/lib:%JAVA_HOME/lib/tools.jar
export PTAH=$JAVA_HOME/bin:$PTAH

source /etc/profile

3)检查JDK安装是否OK

java -version #查看java版本

4)JMeter安装

curl -O http://apache.fayea.com//jmeter/binaries/apache-jmeter-2.13.tgz
tar -xzf apache-jmeter-2.13.tgz

5)  JMeter环境配置

sudo chmod +x /etc/profile
sudo vim /etc/profile

#示例
export JMETER_HOME=/Users/snifferhu/SoftWare/apache-jmeter-2.13

#添加如下内容
export PATH=$JMETER_HOME/bin:$JMETER_HOME/lib:$PATH

6)检查JMeter安装是否OK

jmeter #如果能显示jmeter操作页面则安装成功

7)JMeter启动参数调整

sudo chmod +xw $JMETER_HOME/bin/jmeter
vim $JMETER_HOME/bin/jmeter

#调整如下
HEAP="-Xms2g -Xmx2g"

初始内存太小,跑起来常常会报错OOM

三.Http接口测试介绍

本篇内容主要侧重实战,以我们公司主要应用的Http接口为核心讲解。

1、打开Jmeter

主界面介绍:

JMeter的主界面主要分为状态栏、菜单栏、工具栏、树形标签栏和内容栏

状态栏:主要显示JMeter的主版本和release版本。

菜单栏:全部的功能的都包含在菜单栏中。

工具栏:工具栏中的按钮在菜单栏都可以找到,工具栏就相当于菜单栏常用功能的快捷按钮。

树形标签栏:树形标签栏通常用来显示测试用例相关的标签。

内容栏:配合树形标签栏显示,树形标签中点击哪个标签,内容栏中就显示相应的内容和操作。

2、并发请求模拟  -----  线程组

    性能测试主要为了模拟大量并发请求。JMeter使用线程组模拟同时有多个用户并发访问的场景。

在“测试计划”上点击鼠标右键-->添加-->threads(Users)–>线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”。

线程组界面介绍:

  • 名称:可以给线程组设置一个个性化的命名
  • 注释:可以对线程组添加备注以标记
  • 在取样器错误后要执行的动作:就是在错误之后要如何执行,可选继续执行后续的、停止执行等。
  • 线程数:就是需要设置多少线程执行测试。
  • Ramp-up Period (in Seconds):用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程。假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。
  • 循环次数:就是决定一个线程要跑多少次测试。
  • Delay Thread creation until needed:直到需要时延迟线程的创建
  • 调度器:选中之后可以配置启动时间,立即或者预定的时间

3、测试场景环境参数设置 ———  “Http请求默认值”组件

当被测系统有唯一的访问域名和端口时,这个组件很好用。

同时更改访问域名和端口时,统一配置数据

“HTTP 请求默认值”组件配置页面

4、 添加“HTTP信息头管理器”组件

请求头信息常常需要包含token、session、type等信息。

5、设置“HTTP信息头管理器”

设置默认请求头,可以添加Authorization绕过登录验证;

设置Content-Type指定请求内容类型;

设置charset指定请求字符集等;

6、在“线程组”里添加“HTTP 请求”的Sampler

7、设置“HTTP请求”

在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表

8、添加检查点:在被测接口对应的“HTTP 请求”上,添加“响应断言”

9、设置检查点

在设置页面上添加对相应结果的正则表达式存在性判断即可。

10、添加监听器

方便查看运行后的结果

11、查看“聚合报告”

  • Label: 定义的HTTP请求名称
  • Samples: 表示这次测试中一共发出了多少个请求
  • Average: 访问页面的平均响应时间
  • Median:访问页面的中位数响应时间
  • 90% Line:访问页面的90%响应时间
  • 95% Line:访问页面的95%响应时间
  • 99% Line:访问页面的99%响应时间
  • Min: 访问页面的最小响应时间
  • Max: 访问页面的最大响应时间
  • Error%: 错误的请求的数量/请求的总数
  • Throughput:每秒完成的请求数
  • KB/Sec: 每秒从服务器端接收到的数据量

关于90% Line:

一组数由小到大进行排列,找到他的第90%个数(假如是12),那么这个数组中有90%的数将小于等于12 。

用在性能测试的响应时间也将非常有意义,也就是90%请求响应时间不会超过12 秒。

上述步骤完成了一个简单测试案例的创建,复杂测试案例均在此基础上扩展完成。

使用Jmeter工具开发的接口测试案例,一个子系统建议放在同一个 “测试计划”中,流程测试可以通过“线程组”来区分,这样也便于设定不同的测试数据个数。

比较独立的接口,可以统一放在一个线程组内,顺序完成测试。  

流程性接口的测试:如果要测试的接口可以组成一个流程,只需要顺序添加多个“HTTP 请求”的Sampler,各请求之间可以提取需要在上下文传递的数据作为参数,以保证流程中数据的一致性。

时间: 2024-10-09 23:06:34

Jmeter应用初步介绍的相关文章

Swift初步介绍

Swift是本届WWDC大会苹果推出的一门新开发语言,开发者网站上已经放出了这门新语言的介绍.教程和手册,如果手里有一台iOS设备的话,通过苹果的iBooks应用,从它的官方书店里搜索Swift,可以下载它的官方手册电子书版. 为什么苹果要推出一门新的语言?现在苹果平台的主力开发语言,Objective-C已经无法再进化,无法再发展了,已经无法再赶上现代编程语言前进的步伐!了解Objective-C历史及原理的人都知道,Objective-C是门抄捷径的语言,它基本上没有发明新语法,仅仅是将Sm

三、Android学习第三天——Activity的布局初步介绍(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下Activity相关布局的一些知识: Activity最简单跟常用的布局分为两种: ①LinearLayout -- 线性布局 ②TableLayout -- 表格布局 ③RelativeLayout -- 相对布局(今后将会频繁的使用到这个布局) 下面来简单总结下前两种(线性/表格)布局当中常用到

【搜索引擎Jediael开发笔记1】搜索引擎初步介绍及网络爬虫

详细可参考 (1)书箱:<这就是搜索引擎><自己动手写网络爬虫><解密搜索引擎打桩实践> (2)[搜索引擎基础知识1]搜索引擎的技术架构 (3)[搜索引擎基础知识2]网络爬虫的介绍 (一)搜索引擎的开发一般可分为以下三大部分 1.数据采集层:一般使用爬虫获取互联网的数据,重要的开源项目有Heritrxi 2.数据分析处理层:将从互联网上获取到的数据进行提取归类.分词.语义分析得出索引得内容,等待用户查询使用,重要的开源项目有Lucene 3.视图层:也用户的交互界面,如

Html/CSS 初步介绍html和css部分重要标签

&初步介绍html和css部分重要标签& 注:开头书写:<!DOCTYPE html>表明对应标准html代码 html标签(仅有一个),内部可以写属性 自闭合标签      例:<meta /> 主动闭合标签          大多都需主动闭合 head标签: -<meta > 编码,跳转/刷新(提及但不推荐在此书写),关键字,描述,IE兼容(主要避免IE6的乱码问题,现今无需考虑) -title 标签 -Link    搞图标 -style     

Jmeter调用Webapi介绍

一.介绍 JMeter主要用于压力测试,使用Java编写,由Apache基金会管理 官方网站:http://jmeter.apache.org/index.html 下载地址:http://jmeter.apache.org/download_jmeter.cgi 参考资料: WebApi测试:http://mobisoftinfotech.com/resources/blog/quality-assurance/web-api-performance-testing-using-apache-

JMeter[01] 基本介绍和入门

1.介绍 JMeter是使用java语言编写的,因此在运行的时候需要安装JDK.这是一款能够进行功能测试.性能测试的工具,可以测试代码性能如何,能够支持多大的并发,也可以进行压力测试.提测前的冒烟测试等. 2.下载安装 下载地址:https://jmeter.apache.org/ 这个工具是免安装的,解压即可使用.运行 bin目录下的 jmeter.bat 即可. 3.第一个实例 原文地址:https://www.cnblogs.com/readiay/p/10319876.html

JMeter软件测试工具介绍及压力测试基本教程

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

Python中的对象类型的初步介绍

一:介绍 1.为什么使用内置对象 对象类型是语言的一个部分 内置对象构成了每个python程序的核心部分 2.核心数据类型 数字 字符串 列表 字典 元组 文件 集合 其他类型 编程单元类型 与实现相关的类型 二:数字 1.**是乘方 2.math数学模块 3.random模块 三:字符串 1.介绍 字符串是单个

OC基础--常用类的初步介绍与简单实用之集合类

集合类的异同点 一.NSArray\NSMutableArray *有序 *快速创建(只有不可变数组可以):@[obj1, obj2, obj3]; *快速访问元素:数组名[i] *只能存放对象 二.NSSet\NSMutableSet *无序 *只能存放对象 三.NSDictionary\NSMutableDictionary *无序 *快速创建(只有不可变数组可以):@{key1 : value1, key2 : value2,...} *快速访问元素:字典名[key] *只能存放对象 四.