`

关于jmeter的入门

阅读更多
今天项目中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请求后,服务器返回的内容)进行与字符串进行匹配. 如果返回的内容包括了字符串,则认为该次测试通过. 否则就是失败.  


分享到:
评论
1 楼 haoxuexi87 2018-05-03  
Jmeter性能测试从入门到精通(2018年最新)
课程观看地址:http://www.xuetuwuyou.com/course/251
课程出自学途无忧网:http://www.xuetuwuyou.com


课程介绍
全程实战,每个知识点通过实际项目演练讲解
理论实践结合,既会做,又知道为什么这样做
讲解时同其他工具做对比,加深理解,了解区别
分享技巧,用起来事半功倍
从基础讲起,小白也能接受


课程目标
熟练掌握 jmeter 工具
熟练使用 jmeter进行脚本开发
熟练使用 jmeter进行接口测试
熟练使用 jmeter 进行性能测试
熟练使用抓包工具 fiddler


适合人群
初级测试工程师
零基础、初学者、想步入性能测试领域的测试人
对jmeter性能测试感兴趣的人员
功能测试转性能测试
功能测试转接口测试


课程目录:
1:Jmeter 安装及环境配置
2:Jmeter 目录及配置文件说明
3:Jmeter 各大组件介绍说明
4:实战项目环境搭建
5:脚本录制之 badboy
6:脚本录制之 jmeter 代理
7:脚本录制之移动端APP录制
8:Fiddler抓包实战
9:移动端抓包实战
10:脚本增强之参数化(多方式实现)
11:脚本增强之高级参数化
12:脚本增强之关联
13:脚本增强之关联的高级应用
14:脚本增强之集合点、思考时间
15:脚本增强之断言
16:脚本增强之逻辑控制
17:Jmeter之IP欺骗
18:命令行压测及生成报告
19:Jmeter之分布式压测
20:jmeter扩展插件
21:自己动手开发jmeter插件
22:FTP协议实战
23:WebService协议实战
24:JDBC协议实战
25:JDBC协议实战增删改查
26:JDBC协议实战高级操作
27:Jmeter4.0的一些更新

相关推荐

    jmeter图文入门教程.pdf

    本教程为jmeter入门教程,帮助初学者了解jmeter。 jmeter是Apache软件基⾦会开源的压⼒测试⼯具,⽀持windows、linux、mac等系统,主要⽀持以下协议: web:HTTP,HTTPS 站点的Web1.0的Web 2.0 (ajax, flex and ...

    JMeter入门到精通

    JMeter入门到精通 介绍JMeter的概念/设置/思想/函数清单等信息

    Jmeter入门

    JMeter是一款广泛应用于性能测试领域的开源工具,尤其在Web应用测试方面表现卓越。它由Apache软件基金会开发,支持多种协议,如HTTP、FTP、SMTP、JDBC等,使得测试人员可以对应用程序进行压力测试、负载测试和功能...

    《jmeter:菜鸟入门到进阶系列》

    jmeter 入门到进阶系列教程 jmeter 是一款优秀的开源性能测试工具,目前最新版本为 3.0 版本。它具有多种优点,如高可扩展性、精心简单的 GUI 设计、完全的可移植性和 100%纯 Java 等。jmeter 的安装非常简单,只...

    APACHE JMeter入门指南.pdf

    APACHE JMeter入门指南

    JMeter测试入门指导

    ### JMeter测试入门指导 #### 一、安装JMeter与设定 JMeter是一款开源的压力测试工具,主要用于对静态和动态资源进行性能测试。它能够帮助我们进行Web应用的负载测试和功能测试。JMeter可以模拟多用户并发访问,...

    JMeter入门实践资料

    **JMeter入门实践资料概述** JMeter是一款强大的性能测试工具,由Apache软件基金会开发,主要用于对Web应用程序进行负载和压力测试。它适用于多种协议,包括HTTP、HTTPS、FTP、SMTP、JDBC等,使得测试人员可以模拟...

    jmeter基础入门必备

    jmeter基础入门必备 JMeter 是一个功能强大且广泛使用的性能测试工具,旨在帮助开发者和测试人员评估 Web 应用程序的性能和可扩展性。本文将从 JMeter 的基础知识开始,逐步介绍 JMeter 的安装、配置、测试组件、...

    Jmeter入门基础培训PPT

    **JMeter入门基础培训PPT概述** Apache JMeter是一款开源的、Java开发的压力测试工具,主要用于测试Web应用的性能和负载。它最初设计用于HTTP协议的测试,但随着时间的推移,已经发展成为支持多种协议的全面性能...

    jmeter软件ApacheJMeter_V5.4+JMeter图文入门教程(绝对的适合新手,最佳入门系列)

    jmeter软件ApacheJMeter_V5.4+JMeter图文入门教程(绝对的适合新手,最佳入门系列) apache jmeter是一款Apache组织开发的基于Java的强大的web压力测试工具,能够对电脑系统的性能和负载进行快速测试,也可以对应用...

    性能测试之Jmeter入门.zip

    【标题】"性能测试之Jmeter入门.zip" 提供了一个关于使用JMeter进行性能测试的基础教程,这是一款广泛应用于Web应用的压力和负载测试工具。在IT行业中,性能测试是确保软件系统在高并发、大数据量情况下依然能稳定...

    JMeter入门指引.pdf

    JMeter是Apache软件基金会旗下的一个开源的性能测试工具,主要用于Web应用的压力测试。在性能测试领域,它被广泛使用,尤其适合于对静态和动态资源的性能测试,例如:静态文件、Java小服务程序、CGI脚本、Java对象、...

    Jmeter入门使用教程

    ### JMeter入门使用教程 #### 一、JMeter简介 **Apache JMeter**是一款由Apache组织开发的开源软件,主要用于压力测试。它最初被设计用于Web应用的压力测试,但随着时间的发展,其应用范围逐渐扩展到了其他的测试...

    JMeter入门宝典:安装步骤与基础教程

    "JMeter入门宝典:安装步骤与基础教程"是一份专为初学者准备的全面指南,旨在帮助用户快速掌握Apache JMeter这一功能强大的性能测试工具。宝典从JMeter的基本概念和用途讲起,详细介绍了系统要求、详细的安装步骤、...

    一款适合小白的jmeter入门使用,性能测试工具-jmeter使用教程

    jmeter 入门使用教程 jmeter 是 Apache 组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此常被用做接口功能测试和性能测试。 jmeter 能够很好地支持各种常见...

    Jmeter入门.pptx

    Jmeter 入门指南 Jmeter 是 Apache 组织开发的基于 Java 的压力测试工具,用于对软件做压力测试。它最初被设计用于 Web 应用测试,后来扩展到其他测试领域。Jmeter 主要功能包括压力测试、接口测试、功能测试和回归...

Global site tag (gtag.js) - Google Analytics