`
gq913
  • 浏览: 166996 次
  • 性别: 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使用手记Jmeter使用手记Jmeter使用手记Jmeter使用手记

    Jmeter Jmeter Jmeter Jmeter Jmeter

    Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter

    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-...

    jmeter进行web测试

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

    jmeter-plugins-cmn-jmeter-0.6.jar

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

    jmeter, Apache JMeter镜像.zip

    jmeter, Apache JMeter镜像 是什么?Apache JMeter是一个 100%纯Java应用程序,旨在测试和测量性能。 它可以作为一个高度可移植的服务器基准以及多客户机负载生成器。Apache JMeter功能包括:能够加载和性能测试

    JMeterPlugins.jar

    JMeter导入jmx运行脚本时出现这样的错误jmeter.save.SaveService: Conversion error ...---- Debugging information ---- message : kg.apc.jmeter.vizualizers.CorrectedResultCollector ...cause-message : kg.apc....

    apache-jmeter-5.1.1安装包

    jmeter安装包

    jmeter性能面试问答题

    Jmeter怎么录制,怎么过滤,线程组有哪些内容? jmeter可以使用第三方的录制工具(badboy)或者使用自身的软件的录制功能进行,jmeter录制原理:是通过代理http服务器抓取用户操作网站过程中的链接。 jmeter可以在...

    jmeter插件助手 jmeter-plugins-manager

    jmeter插件助手 jmeter-plugins-manager

    jmeter-kafka插件

    jmeter5.5可用

    JMeter测试教程文档PDF

    JMeter教程文档PDF,JMeter,Apache JMeter,测试,自动化测试,开源免费,jmeter。。。。

    jmeter-parallel-0.9.jar

    拷贝jmeter-parallel-0.9.jar到Jmeter/lib/ext上。 启动Jmeter。 根据需要添加Parallel Controller: 1)在Jmeter的线程组下面的逻辑控制器,选择bzm并行控制器; 2)把浏览器或者wireShark观察到的同一批次的并发...

    Apache JMeter (apache-jmeter-5.5.tgz)

    Apache JMeter (apache-jmeter-5.5.tgz)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter...

    Apache JMeter (apache-jmeter-5.5.zip)

    Apache JMeter (apache-jmeter-5.5.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter...

    JMeter中文.pdf

    jmeter的详细使用,JMeter 自动从在它的/lib 和 /lib/ext 目录中的 jar 包发现类。如果你开发新的 JMeter 组件,你可以压 缩它们成jar包并拷贝到 JMeter 的 /lib/ext 目录。JMeter 将会自导发现在这里的任何jar包的...

    apache-jmeter-5.4.3,接口压测工具jmeter

    apache-jmeter-5.4.3,接口压测工具jmeter Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试

    jmeter压力测试课程入门到实战视频.rar

    │ jmeter课件资料.zip │ SpringBoot资料tb.zip ├ 第10章 高级篇之Jmeter压测课程总结和架构浅析 │ └ 35、课程总结和关于系统架构,推荐学习资料.mp4 ├ 第1章 章节一JMeter压力测试课程介绍 │ │ 1、亿级流量...

    jmeter-jmeter使用ocrserver工具自动识别验证码配置

    jmeter使用ocrserver工具自动识别验证码配置

Global site tag (gtag.js) - Google Analytics