zoukankan      html  css  js  c++  java
  • Jmeter组件

    1、测试计划(Test Plan)。启动JMeter之后,就默认打开了一个测试计划,测试计划用来描述一个性能测试,包含于本次性能测试相关的所有执行步骤以及报表。
        一个完整的测试计划包含:一个或多个线程组、逻辑控制、取样发生控制、监听器、定时器、断言和配置原件。
     
    2、线程(Threads(Users))。相当于LoadRunner中的虚拟用户,每个JMeter测试计划的第一步就是添加线程组。在线程组里设置要模拟的并发用户量、并发时间或并发次数,线程的启动频率。
    JMeter的线程组分为以下3类:
        setup thread group:相当于Junit的setup,进行测试前的初始化工作,也就是相当于LoadRunner脚本中的init部分
        teardown thread group:相当于Junit的teardown,进行测试结束后的垃圾回收等清理工作,也就是相当于LoadRunner中的end部分
        thread group(线程组):最常用的就是线程组,相当于LoadRunner中的Action。一个线程相当于一个LoadRunner中的虚拟用户,这些线程在脚本运行后无法变动,不像LoadRunner一样,可以在执行过程中人为干预。
     
    3、测试片段(Test Fragment):测试片段元素是控制器上的一种特殊的线程组,它在测试树上玉线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者被控制器或者被控制器所引用时才会被执行。2.11版本也新增了保存测试片段的功能。
     
    4、取样器(Sampler)。是性能测试中间服务器发送请求并等待响应的最小单元,每个采样器有不同的属性可以设置。
    目前常用的取样器:
        HTTP请求
        FTP请求
        Java请求
        JDBC请求
        SAOP/XML-RPC请求
        LDAP请求
        Junit请求
        JMS请求
        TCP请求
        STMP请求
        ……
     
    5、逻辑控制器(Logic Controller)。逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的序列请求。
    常用的逻辑控制器:
        if Controller
        while Controller
        Runtime Controller
        事务控制器
        随机控制器
        交替控制器
        吞吐量控制器
        模块控制器
        ……
     
    6、监听器(Listener)。对Jmeter测试结果进行收集处理并进行可视化展现一系列元件,包括发送请求数据、返回的结果数据、响应时间的统计、吞吐量、错误率返回结果状态等信息。
    常见的监听器:
        图形结果
        查看结果树
        用表格查看结果
        聚合报告
        ……
     
    7、配置元件(Config Element)。维护Sampler需要的配置信息,并根据实际需要修改请求的内容,如HTTP、LDAP、java等默认值,JDBC以及MongoDB配置信息等。最常用的是用CSV Data Set config或者使用随机参数来进行参数化。为简单起见,建议将配置元件放在请求开始之前。
     
    8、定时器(Timer)。相当于LoadRunner中的思考时间。
            设置定时器的目的:一方面为了更真实地模拟用户并发行为;
                                     另一方面是控制每个线程之间的请求间隔时间,以减少服务器的压力。
     
    9、断言(Assertions)。相当于LoadRunner中的检查点。通过对比返回的响应数据与预期数据,来判断请求是否成功,可以确保压力测试是在功能正确的前提下执行的,毕竟压力测试的前提是保证成功的正确性,这个限制对于有效的测试是非常有用的。
    常用的断言有:
        响应断言
        XML断言
        HTML断言
        Xpath断言
     
    10、前置处理器(Per Processors)。常用来修改请求的设置。例如,HTTP URL重写修复符可以实现URL重写,当RUL中有sessionID一类的session信息时,可以通过该处理器填充发出请求的实际sessionID。
     
    11、后置处理器(Post Processors)。相当于LoadRunner中的关联。用于对Sampler发出请求后得到的服务器响应数据进行处理。一般用来提取响应中的特定数据,如用后置处理器中的正则表达式提取器来对服务器返回的特定数据进行关联操作。
     
    组件执行顺序和作用域
     
      1–配置节点 --Config Element里面的内容
      2–前置处理器 --Pre Processors
      3–定时器--Timer
      4–取样器--sampler
      5–后置处理器(只在有结果可用情况下执行)
      6–断言(只在有结果可用情况下执行)
      7–监听器(只在有结果可用情况下执行)
  • 相关阅读:
    移动开发 Native APP、Hybrid APP和Web APP介绍
    urllib与urllib2的学习总结(python2.7.X)
    fiddler及postman讲解
    接口测试基础
    UiAutomator2.0 和1.x 的区别
    adb shell am instrument 命令详解
    GT问题记录
    HDU 2492 Ping pong (树状数组)
    CF 567C Geometric Progression
    CF 545E Paths and Trees
  • 原文地址:https://www.cnblogs.com/jingjing0705/p/5790893.html
Copyright © 2011-2022 走看看