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目录下)

    报表如下:

转载于:https://www.cnblogs.com/hainange/archive/2009/08/13/6153096.html

JMeter性能测试入门相关推荐

  1. Jmeter性能测试 入门

    Jmeter性能测试 入门 原文:Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jme ...

  2. jmeter性能测试入门简介

    Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工 ...

  3. Jmeter性能测试入门(一)

    官网:http://jmeter.apache.org/ window 下点击jmeter.bat 打开. 打开时出现如下问题运行jmeter.bat时提示"not able to find ...

  4. Jmeter 性能测试入门 ——性能插件介绍

    目录 一.前言 1.首先,JMeter提供了三个基本的线程组,分别为: 2.其他线程组可以通过集成插件的方式使用,包括: 二.集成插件下载安装 1.下载地址:jmeter-plugins.org 2. ...

  5. Jmeter Web 性能测试入门 (六):Jmeter 解析 response 并传递 value

    解析response中的内容,并把获取到的value传递到后续的request中,常用的方法就是在想要解析response的request上添加后置处理器 本章介绍两种常用的组件 BeanShell ...

  6. JMeter性能测试,完整入门篇(自己做测试了)

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件 ...

  7. 使用Jmeter对mysql进行性能测试入门

    使用Jmeter对mysql进行性能测试入门 第一步:测试环境准备: 1).mysql> select version(); +-----------+ | version() | +----- ...

  8. Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写

    测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ...

  9. (一)JMeter性能测试,完整入门篇:性能测试操作步骤

    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测 ...

最新文章

  1. 一文掌握Conda软件安装:虚拟环境、软件通道、加速solving、跨服务器迁移
  2. 二十四、哈希表的原理分析及代码实现
  3. SQL中LIKE的妙用
  4. Python_列表2
  5. c#截取后几位_C#几种截取字符串的方法小结
  6. struts2 传递json对象时的延迟加载异常处理方法
  7. 《惢客创业日记》2019.05.07(周二)永远匿名的红颜知己(四)
  8. matlab相对误差,相对误差与相对误差限定义-精品课程-山东科技大学.PPT
  9. 单模光纤最大传输距离为多少_单模光纤的最长传输距离有多远?单模,多模光纤有什么不同呢?...
  10. C盘扩容好帮手——傲梅分区助手
  11. sin的傅里叶变换公式_正弦和余弦函数的傅里叶变换
  12. Windows下搭建PHP扩展开发环境
  13. 软件安装和使用系列(一)CyberDuck的安装和使用
  14. SNN综述(2):生物可解释的脉冲神经网络
  15. win10系统更新后C盘逐渐变小解决方法
  16. 线性回归预时间序列预测
  17. 漫画:什么是Linux管道
  18. 浙大pythonpta作业答案_浙大PTA-Python题库 编程题第一章(1-1~1-3)题解
  19. 如何解决SQL Server2008不允许保存修改的问题
  20. 【PHP】PHP MySQL问题 phpinfo() 没有显示MySQL模块

热门文章

  1. ant system property
  2. python 优雅的解析 jsonp
  3. 软工1816 · Alpha冲刺(9/10)
  4. 配置ntp时间服务器
  5. Codeforces Round #374 (Div. 2) A. One-dimensional Japanese Crosswor 水题
  6. Behavior Designer笔记
  7. C# 获取随机可用端口号
  8. 2013年7月04日_回顾总结
  9. 轮廓处理函数详细(转)
  10. Android访问网络系列之--访问图片