• JMeter学习笔记——认识JMeter(1)


            拿到一个自动化测试工具,我们第一步就应该了解它能提供我们哪方面的功能(最直接的方法就是从官网获取),接下来就是简单的对这个工具进行“功能测试”了,当然这里的功能测试不是让你找它存在的bug,而是让自己对它有一个直观的认识,后面的功能测试也是为前面的认识做铺垫的,那我们就依赖这个原则来认识下JMeter。

    JMeter是干嘛的(主要是官网翻译——> http://jmeter.apach.org

          JMeter是一个纯粹的Java编写的应用程序,它主要是用来进行负载和性能测试。设计JMeter最初始的目的是用来测试Web Application但是现在已经扩展了很多功能。JMeter通常被用来对一些静态的或者动态资源(比如PHP, Java,ASP.Net等编写的Web,或者是Java Object, Data Bases and Queries, FTP 服务器等等)进行性能测试。 它通常模拟大量的数据对一个Server或者一个Server Group 网络等进行负载测试。然后通过分析它产生的性能图表来判断测试结果。

         

    安装JMeter

    BadBoy(可以用来辅助JMeter录制) 下载地址: http://www.badboy.com.au/download/add

    JMeter 下载地址: http://jmeter.apache.org/download_jmeter.cgi

         1.  将下载好的安装包解压到指定的目录下面,然后启动JMeter “\apache-jmeter-2.12\bin\jmeter.bat”,就能看到一个JMeter的GUI界面,

    1

            

        2. JMeter默认情况下会根据系统的语言来选择JMeter自身的语言,轻松改变JMeter语言:

    2

    组件知多少

    1. 线程组

    每一个测试用例都必须存在一个或多个线程组,如果有多个线程组(我们在执行测试的时候,他们是同时执行线程组下面的Sampler)

    每个线程组下面有三个重要的参数:

    • 线程数: 就是JMeter虚拟出的用户数量,设置多少个线程数就模拟多少个用户。
    • Ramp-Up Period(In Second): 用多长时间运行完这些线程数,举个例子,比如设置线程数100,设置 Ramp-Up Period(In Second)为20,代表的意思就是20秒之类运行完这100个线程,也就是1秒钟运行5个线程数
    • 循环次数: 对这些线程数循环多少次,比如设置的线程数100,然后设置的循环次数为20,意思就是说每个线程要执行20次,那么100个线程就是执行     100*20 次。

    对于setUp Thread Group 和 tearDown Thread Group,如果用过Junit的话对于 setUp和tearDown就应该不会陌生了,

    setUp Thread Group代表的意思就是在执行线程组之前所进行的操作;

    tearDown Thread Group代表的意思就是在执行完所有的线程组之后所需要进行的操作。

    3    

    3_2

    1.1 线程组下面有两个重要的控制器

    逻辑控制器:用来自定义JMeter的逻辑(if—else, for 循环等等)决定JMeter什么时候发送请求,以及重复多少次。

    Sampler(取样器):向服务器中发送请求,以及等待响应。Sampler有多重类型的响应器,比如HTTP请求,JDBC请求等等,不同Sampler根据设置的参数向服务器发送不同的请求,

    3_3

    配置元件 (Configuration elements)

    配置元件主要是用来维护Sampler需要的配置信息,并根据实际的需要和设定的范围(逻辑控制器来设定)来修改请求的内容。

    7

     

    定时器(Timers)

    默认情况下,JMeter线程发送请求时彼此之间是不会等待的,我们可以通过定时器来进行控制,如果存在多个定时器会采用叠加的方式来设定延迟时间。

    12

     

    前置处理器和后置处理器 (Pre-Processors and Post-Processors)

    主要是负责生成请求之前和之后的工作,前置处理器用来修改Sampler请求前的设置,后置处理器用来处理Sampler运行后的响应数据。

    8         9

    断言(Assertions)

    断言准许你来判断预期结果和从服务器返回的数据进行比较,增加断言能够直接判断你所测试的程序返回的数据是否正确,相当于LoadRunner的检查点。它还有一个重要的特点就是隔离问题域,在确保功能正常的前提下执行压力测试。

    10

    监听器(Listeners)

    收集测试结果并以不同的表格形式展现出来。

    11

    JMeter 执行顺序

    1. 配置元件(Configuration elements)
    2. 前置处理器(Pre-Processors)
    3. 定时器(Timers)
    4. 取样器(Sampler)
    5. 后置处理器(Post-Processors)
    6. 断言(Assertions)
    7. 监听器(Listeners)

    注意: 定时器,断言,前置和后置处理器都是围绕着取样器来进行应用的。

    举个例子来说明这点:

    • Controller

                   Post-Processor 1

                   Sampler 1

                   Sampler 2

                   Timer 1                                               

                   Assertion 1

                   Pre-Processor 1

                   Timer 2

                   Post-Processor 2

    执行的顺序:

    Pre-Processor 1

    Timer 1

    Timer 2

    Sampler 1

    Post-Processor 1

    Post-Processor 2

    Assertion 1

    Pre-Processor 1

    Timer 1

    Timer 2

    Sampler 2

    Post-Processor 1

    Post-Processor 2

    Assertion 1

  • 相关阅读:
    Python解释器
    js子节点children和childnodes的用法
    添加jar包需注意
    Class.forName("com.mysql.jdbc.driver");
    java集合类总结
    interface思考练习一
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    Struts2的配置文件中, <package>的作用,<action><result>重名?
    在Struts2的Action中获得request response session几种方法
    学习一直都是一个相见恨晚的过程,我希望我的相见恨晚不会太晚。
  • 原文地址:https://www.cnblogs.com/taoSir/p/4309315.html
Copyright © 2020-2023  润新知