今天项目中Leader要求做压力测试, 以前从来没有使用过, 临时报佛脚, 算是熟悉了最基本的功能吧.
Jmeter是免费开源的性能测试工具. 在如今越来越注重知识产权的今天, 公司越来越不愿意冒着巨大的风险去使用盗版的商业性能测试工具. 但如果不使用盗版, 昂贵的费用不是每一个中小型公司,甚至是大型公司愿意投入这么多钱. jmeter这个免费且好用的性能测试工具, 将会是我们不二的选择。
Jmeter是java语言编写,开放源代码。有了源代码,使得我们可以更深入的分析一些问题。(比如响应时间等),这样有助于我们更深刻理解性能测试,可以学习如何才能更精确的计量时间。商业软件就没有这个优点, 你想知道的东西,只能去看他们提供的文档,但文档并没有代码更能说服人。
meter下载地址:
http://jmeter.apache.org/download_jmeter.cgi 当前的版本是2.7 。
接下来我们就要进入正题。但在进入之前,我们不得不提google code里的 jmeter plugins. 由于jmeter开源且本身是一个框架,可以让第三方来加入自己的插件。 而这个 jmeter plugin又提供了更强大的feature,让我们更得心应手。尤其是那些熟悉loadrunner的测试人员,用了google code里的jmeter plugin,你就不会再觉得jmeter 太难用了。
我们还有必要说一下jmeter和lr的基本区别。由于jmeter是免费开源软件,GUI设计的确实不是多么美观,在controller和agent模式下的管理也非常不方便。但是jmeter可以支持第三方插件,且开源,所以还是有着旺盛的生命力。
jmeter可以实现的测试如下几种类型:
Web - HTTP, HTTPS
SOAP
Database via JDBC
LDAP
JMS
Mail - POP3(S) and IMAP(S)
google code里的jmeter plugins 可以增加如下的feature:具体支持的功能与增强特性,见http://code.google.com/p/jmeter-plugins/
一。安装jmeter
下载jmeter是一个zip包,解压后,如果您的os里已经安装了jre或jdk(如果没有安装jre,请先安装!jre版本请使用1.6 以上版本),windows则直接运行jakarta-jmeter-2.5.1\bin\jmeter.bat 就启动了该软件。正常情况一个主窗口会打开。linux就不多做介绍了.
二。安装jmeter plugins
http://code.google.com/p/jmeter-plugins/downloads/list 下载JMeterPlugins-0.5.1.zip,0.5.1 是当前最新版本。下载后,解压开。将里面的JMeterPlugins.jar文件,放入到JMETER_INSTALL_DIR/lib/ext里,重启jmeter。然后选择添加菜单,你就可以看到jp@gc为前缀的新的plugins. 之后会对主要的plugins做介绍。
下面就来实际用Jmeter创建一个web测试场景,并进行性能测试. 注:由于本人使用中文版本,使用英文版本的请注意具体的菜单及参数名称.
打开jmeter主窗口后, 选择左侧树形结构里的"测试计划". 然后右键选择添加, 选择"threads(users) 一个thread代表一个user",我们可以看到
jp@gc开头的是google jmeter plugins里的threads group, 稍后再做解释。其他三个thread group是 1) setup thread group 2) teardown thread group. 3) thread group(线程组). 如果您用过junit,想必你不会对setup ,teardown这2个字眼陌生。 即时每用过,也没关系。 熟悉lr的应该知道,lr的脚本除了action里是真正的脚本核心内容,还有初始化“环境”的初始化脚本和测试完毕后对应的清除信息的脚本块。 那么这里 setup thread group 和 teardown thread group 就是分别指这两部分。
ok,我们先添加一个线程组。
jmeter自带的thread group非常简单。 一个thread 代表一个vuser,那么我们如果需要多少用户并发,设置多少线程数即可。ramp-up period, 本人理解是多少时间从0vuser 上升到您指定的vusers数。从这些参数可以看,非常简单。但不能设置测试的时间,这一点不是特别善解人意。不过还好我们有jmeter plugins, 带的thread group 添加了这个功能。
2。添加一个http sample (测试脚本的主体)
选中线程组,右键添加一个http sample。如图所示,用baidu作为被测系统。
注意路径代表项目的绝对路径, 如测试首页citirisk/main.htm , 那么就需要加在这里.
我们可以输入默认的连接超时和响应超时时间。lr的默认为120秒。所以我们也同样输入120秒。
3。添加结果树, 右键Test Plan-->Add-->Listener-->View Results Tree(Table)
为了方便调试该测试脚本,我们同样在sample的后面添加一个“监听器”里的“查看结果树”。这样每次运行,默认会把每次的http请求的request 和response 内容记录下来,方便我们进行debug脚本。当脚本调试通过后,则我们需要将查看结果树立的“仅显示日志错误”选中,这样错误的便会记录下来,方便遇到错误,进行排查。
4。添加聚合报告(用来记录执行的http sample的执行结果等,需要手动添加),添加方式同上!!
聚合报告里可以记录成功的事务数, 平均响应时间(最大,最小,90%), 错误率,网络吞吐量,事务每秒。我们关心的测试数据基本都在这里。
5。那么我们就可以执行本次简单的测试了。
那么先来描述一下这次的测试场景。我们把vusers数改成2, 循环次数改为5次。
就是并发用户数: 2
思考时间:0
循环次数:5次,循环完毕停止测试。
6。清除之前的debug信息(ctrl+E),erase掉之前记录的测试数据,选择菜单“运行”-〉“启动”,则开始了本次测试。
有时候我们执行了测试,但是发现并不是所有事务都执行成功了. 那是因为我们只是发起了测试,但并没有对每次请求测试的返回作校验. 所以加入检查点是非常有必要的.
1. 在昨天的测试脚本中,选中http请求sample.
右键添加,选择"断言"->"响应断言". 如下图.
设置如此的断言后,则会对响应的内容(即http请求后,服务器返回的内容)进行与字符串进行匹配. 如果返回的内容包括了字符串,则认为该次测试通过. 否则就是失败.
分享到:
相关推荐
本教程为jmeter入门教程,帮助初学者了解jmeter。 jmeter是Apache软件基⾦会开源的压⼒测试⼯具,⽀持windows、linux、mac等系统,主要⽀持以下协议: web:HTTP,HTTPS 站点的Web1.0的Web 2.0 (ajax, flex and ...
JMeter入门到精通 介绍JMeter的概念/设置/思想/函数清单等信息
JMeter是一款广泛应用于性能测试领域的开源工具,尤其在Web应用测试方面表现卓越。它由Apache软件基金会开发,支持多种协议,如HTTP、FTP、SMTP、JDBC等,使得测试人员可以对应用程序进行压力测试、负载测试和功能...
jmeter 入门到进阶系列教程 jmeter 是一款优秀的开源性能测试工具,目前最新版本为 3.0 版本。它具有多种优点,如高可扩展性、精心简单的 GUI 设计、完全的可移植性和 100%纯 Java 等。jmeter 的安装非常简单,只...
### JMeter测试入门指导 #### 一、安装JMeter与设定 JMeter是一款开源的压力测试工具,主要用于对静态和动态资源进行性能测试。它能够帮助我们进行Web应用的负载测试和功能测试。JMeter可以模拟多用户并发访问,...
**JMeter入门实践资料概述** JMeter是一款强大的性能测试工具,由Apache软件基金会开发,主要用于对Web应用程序进行负载和压力测试。它适用于多种协议,包括HTTP、HTTPS、FTP、SMTP、JDBC等,使得测试人员可以模拟...
jmeter基础入门必备 JMeter 是一个功能强大且广泛使用的性能测试工具,旨在帮助开发者和测试人员评估 Web 应用程序的性能和可扩展性。本文将从 JMeter 的基础知识开始,逐步介绍 JMeter 的安装、配置、测试组件、...
**JMeter入门基础培训PPT概述** Apache JMeter是一款开源的、Java开发的压力测试工具,主要用于测试Web应用的性能和负载。它最初设计用于HTTP协议的测试,但随着时间的推移,已经发展成为支持多种协议的全面性能...
jmeter软件ApacheJMeter_V5.4+JMeter图文入门教程(绝对的适合新手,最佳入门系列) apache jmeter是一款Apache组织开发的基于Java的强大的web压力测试工具,能够对电脑系统的性能和负载进行快速测试,也可以对应用...
【标题】"性能测试之Jmeter入门.zip" 提供了一个关于使用JMeter进行性能测试的基础教程,这是一款广泛应用于Web应用的压力和负载测试工具。在IT行业中,性能测试是确保软件系统在高并发、大数据量情况下依然能稳定...
JMeter是Apache软件基金会旗下的一个开源的性能测试工具,主要用于Web应用的压力测试。在性能测试领域,它被广泛使用,尤其适合于对静态和动态资源的性能测试,例如:静态文件、Java小服务程序、CGI脚本、Java对象、...
### JMeter入门使用教程 #### 一、JMeter简介 **Apache JMeter**是一款由Apache组织开发的开源软件,主要用于压力测试。它最初被设计用于Web应用的压力测试,但随着时间的发展,其应用范围逐渐扩展到了其他的测试...
"JMeter入门宝典:安装步骤与基础教程"是一份专为初学者准备的全面指南,旨在帮助用户快速掌握Apache JMeter这一功能强大的性能测试工具。宝典从JMeter的基本概念和用途讲起,详细介绍了系统要求、详细的安装步骤、...
jmeter 入门使用教程 jmeter 是 Apache 组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此常被用做接口功能测试和性能测试。 jmeter 能够很好地支持各种常见...
Jmeter 入门指南 Jmeter 是 Apache 组织开发的基于 Java 的压力测试工具,用于对软件做压力测试。它最初被设计用于 Web 应用测试,后来扩展到其他测试领域。Jmeter 主要功能包括压力测试、接口测试、功能测试和回归...
jmeter入门培训资料!下载之后拿来即用,学习,培训都可。欢迎下载