zoukankan      html  css  js  c++  java
  • 初识Jmeter

    初识Jmeter

    结构

    Jmeter就是先建立线程池,多线程运行取样器(Sampler),产生大量负载,运行过程中用断言验证结果正确与否,用监听器记录测试结果。

    取样器如果有参数化需求,交由X2中的前置处理器或配置元件完成。

    如果有关联需求,交由后置处理器完成。如果要模拟运行场景,就设置线程组。模拟并发场景,利用定时器设置,控制业务的执行逻辑,用控制器完成。

    X1到X5用来模拟负载,统称谓Y1,也可说是模拟用户请求。

    Y2用断言来验证结果,看结果对不对。

    Z收集负载的结果,可在线程组内也可在线程组外。

    X1

    取样器(Sampler)用来模拟用户操作,发送请求,支持多种协议。

    断言(Assertions),预设结果,用以与实际结果,看运行是否正确。

    监听器(Listener),添加结果监听,可供再次分析,或展示结果。

    测试计划是根节点,其下可以有多个Thread Group,起始可配setUp Thread Group和tearDown Group。在每个Group下可创建其它节点,模拟各类实际行为。辅之以参数配置,完成复杂的场景设计。

    X2

    Pre Processors 准备环境和参数,比如发送数据库请求就得先连接数据库。

    Config Element 为模拟大量用户操作,往往要做参数化,这就交由配置元件完成。Jmeter还提供了函数,用来动态生成数据。总之就是为Sampler预备数据。

    Post Processors 用来处理服务器的返回结果,

    X3

    Logic Controller 模拟业务逻辑

    X4

    Timer 控制请求的发送时间,比如模拟大量请求并发

    X5

    就是模拟大量用户,一个线程对应一个用户

    其它

    Test Fragment 其下可以放任何测试元件,但一般不会运行。用来备份元件,或是被模块控制器调用。

    Non Test Elements 

    原理

    setUp与tearDown分别为开始与结束,可以在当中做些初始化和收尾的工作,可以不用,会在Group之前执行,非并发。(Thread Group为并发执行)

    中间的Thread Group为主体请求。

      

    新建请求,Jmeter本身是基于协议层的,所以这里都是不同的请求协议

    设置请求的各个参数,无他。

    在测试计划中添加View Results Tree和Summar Report,监听请求。

    点击运行,可以在Tree中查看结果。这里发起了3次请求,绿色即表明请求成功。

    左侧可以选择请求结果的表示形式,右侧Request选项卡有请求的具体信息,Response Data则为响应数据。

    可以选择正则测试器,对请求结果进行正则匹配,如<title>(.*)</title>。用正则就可以设置测试点,取变量,做关联等其它 操作。

    这是对线程的设置。性能测试的思想就是看服务端如何响应请求,这里就是在设置线程数,运行区间,循环次数等。

     

    逻辑控制器是为了模拟各类场景。新建一个控制器作为父节点,在其下创建request作为子节点,就可控制其行为。

  • 相关阅读:
    【第五年-创业路】
    【工具与解决方案】从做项目中积累学习
    【原理篇】人工智能
    【原理】分布式系统
    攻克Spring
    工具篇集锦
    最好用的JQuery插件集合以及组合拳
    设计模式 之状态模式
    设计模式 之组合模式
    设计模式之 封装算法
  • 原文地址:https://www.cnblogs.com/yifeixu/p/10693211.html
Copyright © 2011-2022 走看看