`
gq913
  • 浏览: 169025 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JMeter试用手记

    博客分类:
  • JAVA
阅读更多

JMeter是一款性能测试工具。个人认为与其说他是一个工具,不如说他是一个框架。因为JMeter的支持范围非常广,目前常见的需要进行性能测试的应用几乎都能应用(如:files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers)。JMeter的一大好处就是它内部已经有实现好的线程机制,用户不用写任何关于并发的东西,只需做简单配置即可。同时他页提供了一些类似插件的东西,用于线程运行时的控制;其次,JMeter对测试结果能都产生相应的统计报表,简单、直观,对一般性能测试应该足够。

  1. QuickStart
    下载下来的JMeter有以下几个目录 bin  docs  extras  lib  printable_docs。bin 自不用说了,运行下面的jmeter.bat就可以看见JMeter的GUI客户端了,可以对测试进行所有的配置。docs下面的是JMeter的所有用户手册,还算详细,一般需要的都能查到。可惜没有中文的,英文需要多花点时间。extras下为JMeter对Ant的一些支持。太具体的不是很清楚,不过生产报表这部分必不可少。运行测试时,可以把测试的所有数据记录下来,JMeter自动生成一个.jtl的文件。把此文件放到extras下,运行 ant -Dtest=文件名 report,即可生成测试统计报表。lib目录下还有两个目录,一个是ext,此目录存放用户对JMeter进行扩展的测试应用,一个是junit目录,此目录没用到,不是很清楚。安装文档中的说法,ext目录存放对JMeter的扩展,用户的扩展所依赖的包则要直接放在lib下(不是lib/ext 下)。
  2. 主要插件
    线程组为JMeter的主要插件,其内部实现好了多现在,用户只要添加、配置即可。



    以下为线程组的配置界面:
     
    如同所示,可以配置线程数,前一个线程与后一个线程启动间隔,以及线程的循环次数。

    配置元件
    为所有JMeter可以使用的应用,JMeter提供了一些基础配置。如图:
                      

     

    监听器为测试过程中收集数据的。而且可以根据数据生成相应的报表(文字、图形等)
     

    逻辑控制器用于对线程的运行逻辑进行控制.
     
  3. Sample

    这里我用到主要JMeter的线程和报表,扩展了他的“Java请求”这个应用类别。要扩展此应用,要用到lib/ext/ApacheJMeter_java.jar,他封装此应用。

    首先,需要继承ApacheJMeter_java.jar中的抽象类AbstractJavaSamplerClient,它提供了四个抽象方法: void setupTest(JavaSamplerContext arg0),SampleResult runTest(JavaSamplerContext arg0), void teardownTest(JavaSamplerContext arg0), Arguments getDefaultParameters()。setupTest和teardownTest与JUnit中的类似,分别在测试的开始和结束时执行。 runTest为主要测试方法,所有测试程序都在这里完成,JavaSamplerContext参数封装测试中需要的所有外界数据(如配置信息等)。其 SampleResult封装了所有测试结果(如:测试是否成功?程序执行时间等),getDefaultParameters用于把测试的一些默认数据在程序运行前显示到JMeter客户端,这个可以和runTest配合使用,实现数据的呈现和配置。

    下面为程序:

    import org.apache.jmeter.config.Arguments;
    import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
    import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
    import org.apache.jmeter.samplers.SampleResult;

    import com.ebupt.wv.client.WVClient;

    public class Login2 extends AbstractJavaSamplerClient {


    private static String label = "userLogin"
    private String name;
    private String address;


    public void setupTest(JavaSamplerContext arg0) {
         System.out.println("setupTest");
    }

    public SampleResult runTest(JavaSamplerContext arg0) {
         name = arg0.getParameter("name");
         address = arg0.getParameter("address");
         SampleResult sr;
         sr = new SampleResult();
         sr.setSampleLabel(label);
         try{
               sr.sampleStart();  //记录程序执行时间,以及执行结果
               sr.setSuccessful(true);
               System.out.println("send over!");
         }catch(Throwable e){
              sr.setSuccessful(false);
         }finally{
              sr.sampleEnd();
         }
         return sr;
    }

    public void teardownTest(JavaSamplerContext arg0) {
    }

    public Arguments getDefaultParameters() {
         Arguments params = new Arguments();
         params.addArgument("name", "JMeter");
         params.addArgument("address", "localhost");
         return params;
    }

    }

    其次,把写好的应用打包,放到lib/ext下,JMeter运行时即可找到。同时还要把用户自己编写的应用所依赖的包放在lib下。运行JMeter。界面打开后,右键“测试计划”,添加线程组;右键“线程组”-添加-Sampler-Java请求,在类名称处选择刚才写好的类。
    如图:


    这里,可以同时添加多个线程组、多个java请求、同时可以添加监听器用于输出不同的的测试结果图形、报表,各个请求之间可以用逻辑控制器进行执行流程的控制。如图:
     

    最后,点击运行-启动,保存相应的项目,即可开始运行。运行时的数据,可以通过监听器写入文件以便需要时生成报表。

  4. ant使用
    在运行JMeter项目前,会让用户保存项目,保存为.jmx文件,把此文件放到extras目录下,即可使用ant实现测试的自动化。ant有以下几个命令:
    ant -Dtest=项目名称    运行项目并生成报表。
    ant -Dtest=项目名称 run    只运行项目。
    ant -Dtest=项目名称 report  只生成报表(这个需要把测试时记录下来的.jtl文件放到ant目录下)

    报表如下:
     
分享到:
评论

相关推荐

    Jmeter使用手记

    JMeter是一款强大的性能测试工具,适用于多种类型的性能测试,包括文件、Servlets、Perl脚本、Java对象、数据库查询和FTP服务器等。其核心优势在于内置的线程机制,用户无需编写并发代码,只需通过简单的配置就能...

    Jmeter Jmeter Jmeter Jmeter Jmeter

    ### 关于JMeter的知识点详解 #### 一、概述 JMeter是一款100%纯Java桌面应用程序,专为测试CS架构(客户端/服务器)的软件而设计。它不仅可以用于测试静态和动态资源(如静态文件、Java Servlets、CGI脚本、Java...

    JMeter中文手册 JMeter中文手册

    JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册...

    jmeter-plugins-cmn-jmeter-0.3

    将 jpgc-graphs-basic-2.0.zip 解压缩后只有一个 lib 目录,该目录下有一个 ext 文件夹和一个 jmeter-plugins-cmn-jmeter-0.3.jar 包,ext 文件夹中有 jmeter-plugins-graphs-basic-2.0.jar 和 jmeter-plugins-...

    jmeter5.6.3压测工具 jmeter压测工具 jmeter压测工具

    Apache JMeter是一款强大的开源性能测试工具,主要用于模拟大量并发用户对Web应用进行负载和压力测试。JMeter 5.6.3是其一个版本,它提供了丰富的功能,可以帮助开发者、测试人员评估系统的稳定性和性能。以下是对...

    jmeter绿色包免安装

    【JMeter绿色包免安装详解】 JMeter,全称Apache JMeter,是一款开源、免费的性能测试工具,广泛应用于Web应用、FTP服务器、数据库和其他基于协议的服务的负载和性能测试。JMeter以其强大的功能和易用性,在软件...

    jmeter插件助手 jmeter-plugins-manager

    jmeter插件助手 jmeter-plugins-manager

    apache-jmeter-5.1.1安装包

    Apache JMeter是一款强大的性能测试工具,专为评估和测试各种应用程序的性能而设计。它是一个开源项目,由Apache Software Foundation维护,广泛应用于Web应用、FTP服务器、数据库和其他类型的服务器的性能测试。...

    jmeter进行web测试

    Jmeter是基于Jave的,开放源代码的测试工具  Jmeter 可以用于测试静态或者动态资源的性能(文件、 SOAP 、 Web、Perl脚本、java对象、数据库和查询、ftp服务器或者其他 的资源)  Jmeter 用于模拟在服务器、网络...

    jmeter5.5,linux版本测试

    【标题】"jmeter5.5,linux版本测试"涉及的主要知识点是Apache JMeter 5.5版本在Linux操作系统中的应用。Apache JMeter是一款开源、跨平台的压力测试工具,广泛用于Web应用程序性能测试和负载测试。它允许用户模拟...

    jmeter插件管理器 jmeter-plugins-manager-1.4下载

    JMeter是一款广泛使用的开源性能测试工具,主要用于对Web应用程序进行负载和压力测试。"jmeter-plugins-manager-1.4下载" 提供的是JMeter的插件管理器,它极大地简化了JMeter第三方插件的安装和更新过程。下面将详细...

    Apache-JMeter-5.1.1安装包

    JMeter是一款开源的Java应用程序,用于执行各种负载测试、功能测试、性能测试和压力测试任务。JMeter主要是针对Web应用程序,但它也可以用于测试其他类型的客户端/服务器系统。JMeter使用Java编写,具有跨平台性,...

    jmeter 可支持udp协议 utf-8格式的jmeter

    JMeter是一款强大的性能测试工具,主要用来对Web应用进行压力测试。然而,它不仅限于HTTP(S)协议,还支持多种网络协议,包括我们这里提到的UDP(User Datagram Protocol)。UDP是一种无连接的、不可靠的传输层协议,...

    Jmeter-环境安装和部署

    ### JMeter环境安装与部署详解 #### 一、前言 随着互联网技术的快速发展,Web应用和服务变得越来越复杂,性能测试成为了确保应用稳定性和可靠性的重要环节。Apache JMeter是一款广泛使用的开源负载测试工具,用于...

    JMeter性能测试脚本

    JMeter是一款强大的开源性能测试工具,广泛应用于Web应用、FTP服务器、数据库和其他协议的服务性能测试。JMeter由Apache Software Foundation开发,支持多线程并行测试,能够模拟大量并发用户来评估系统的性能和稳定...

    JMeter图标ico.zip

    在IT行业中,软件测试是确保应用程序质量的关键环节,而Apache JMeter是一款广泛应用的开源性能测试工具,主要用于模拟大量用户并发访问服务器,以检测系统在高负载下的性能表现。JMeter以其强大的功能和灵活性赢得...

    jmeter-plugins-cmn-jmeter-0.6.jar

    Apache jmeter jmeter-plugins-cmn-jmeter-0.6.jar 下载

    apache-jmeter-5.2.1

    Apache JMeter是一款强大的性能测试工具,专为评估和分析服务器、网络或对象的性能而设计。这个"apache-jmeter-5.2.1"压缩包包含JMeter的5.2.1版本,这是一个稳定且功能丰富的发布,适用于各种性能测试场景。 ...

    JMeterPlugins-Extras

    【JMeterPlugins-Extras】是JMeter的一款扩展插件,主要功能是对被测服务器进行详细的监控,包括CPU使用率、I/O操作等关键性能指标。这个插件的使用极大地增强了JMeter在性能测试中的能力,使得测试人员可以更加全面...

Global site tag (gtag.js) - Google Analytics