zoukankan      html  css  js  c++  java
  • JMeter学习-005-JMeter 主要组件概要介绍及执行顺序

    本文将对 JMeter 主要组件(主要涉及 Threads(Users)、Test Fragment、逻辑控制器、配置元件、定时器、前置处理器、Sampler、后置处理器、断言、监听器 十大组件)进行概要介绍,详细使用方法会在后续文章中陆续介绍,敬请惠顾参阅。组件如下所示:

    零、测试计划

    测试计划是测试的起点,同时也是其他所有组件的容器。

    一、Threads(Users)-线程组

    每个测试需求的必备组件,是用来模拟用户并发的组件。JMeter 的每个任务都是用线程来处理的。线程组界面如下所示:

    线程数:请求并发的数量

    Ramp-Up Period(in seconds):在多少秒内创建线程数中定义的所有线程。每秒并发数 = 线程数/RUP

    循环次数:当前线程组中的测试脚本循环运行次数

    PS:Threads(Users)下还有两个线程组:setUp Thread Group(线程组运行前执行,主要用于初始化操作,类似于JUnit/TestNG的setUp)、tearDown Thread Group(线程组运行后执行,主要用于数据清理,类似于JUnit/TestNG的tearDown),此两个线程组在后续实例中再详细介绍。

    二、Test Fragment

    界面如下所示。暂时没有用过(^_^),后续介绍。

    三、逻辑控制器

    逻辑控制器可以组织取样器,做出复杂的测试用的HTTP请求,以此满足测试需要。逻辑控制器如下所示:

    四、配置元件

    配置元件,同其名字一样,只是配置一些默认的属性和信息,供取样器获取所需要的各种配置信息,它不向服务器发送任何的请求。配置元件仅对其所在的测试树分支有效。例如,HTTP请求默认值设置了服务器的名称,那么它所在的测试分支内的HTTP请求的服务器名称都是这个服务器,HTTP请求仅设置路径就可以访问网页了。常用的配置如下图框中所示元件:

    PS:在执行顺序方面有个例外,配置元件"用户定义的变量"无论它处于测试树的哪个位置,总是在测试的初始阶段执行。所以个人建议把它放在线程组的开始部分。

    五、定时器

    定时器设置请求间的时间间隔。定时器类型如下所示:

    六、前置处理器

    前置处理器一般用来在发出请求(Request)前进行特殊的处理。例如:HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。

    七、Sampler

    Sampler(取样器)主要的执行组件。每一个取样器都可以被监听器监听,并生成测试结果。采样器也就是发送一个具体的请求到指定服务器,等待服务器的请求。通常情况下,采样器会按照其在测试树中的顺序去执行,但是也会根据逻辑控制器来改变运行的次数和顺序。取样器列表如下所示:

    八、后置处理器

    后置处理器一般用来对采样器发出请求后得到的服务器响应(Response)进行处理,一般用来提取响应中的特定数据。例如,XPath  Extractor:可以提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器:可以利用正则表达式方便的提取测试时所需的数据,用以参数传递和断言等。后置处理器列表如下:

    九、断言

    断言,判断取样器是否正常工作,判断请求响应是否正确,判断结果是否符合预期。

    十、监听器

    监听器主要用于收集整理测试结果,并将测试结果数据进行处理并展示出来,可以指定格式生成XML、CSV等形式的文件。查看结果树,用表格查看结果,图形结果...聚合报告等,都是我们经常会用到的元件。

    组件执行顺序(此顺序参考网上的资料,若有错误之处,敬请大神指正,非常感谢):

    在同一作用域名范围内(不考虑逻辑控制器),测试计划中的元件按照如下顺序执行。
    (1)配置元件(config elements )
    (2)前置处理程序(Per-processors)
    (3)定时器(timers )
    (4)取样器(Sampler)
    (5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空)
    (6)断言(Assertions)(除非Sampler 得到的返回结果为空)
    (7)监听器(Listeners)(除非Sampler 得到的返回结果为空)

     

  • 相关阅读:
    简单的评价星星
    存储过程的调用
    连接Oracle的帮助类
    Oracle基础知识笔记
    myBatis自动生成mapping,dao和model
    Spring +SpringMVC 实现文件上传功能。。。
    嵌入式发展
    The Onion Router洋葱路由器
    NFC芯片
    中国计算机学会推荐国际学术刊物 (网络与信息安全)
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/4201920.html
Copyright © 2011-2022 走看看