zoukankan      html  css  js  c++  java
  • 性能测试基础---jmeter基础

    ·Jmeter的脚本构成:
    Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类:

    ·测试计划:
    是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的。
    在这个组件中,可以设置全局变量,可以设置线程组的启动方式。

    ·Threads:线程组件,又叫用户组件,是Jmeter中的必加组件,是Jmeter用来控制线程计划的。
    有三个可选组件:线程组、setUp线程组、tearDown线程组。
    这三类线程组本质上是一样的,只有当多种线程组组件同时出现在一个测试计划下时,会有执行顺序的区别。
    所有的setUp线程组是优先执行的,执行完毕之后,才会执行线程组,最后才会执行tearDown线程组。这个执行顺序和组件在测试计划下的先后顺序无关。

    ·线程组的设置:在Jmeter中,场景计划就是线程组计划。设置项如下:
    ·线程数:就是虚拟用户数,即启动的线程的最大数量。
    ·Ramp-up Period:该选项设置的是启动所有线程所需要的总时间。
    PS:在jmeter中,线程的启动方式是平均启动,每次启动一个线程。
    启动的间隔时间N=RampUp/线程数
    即每隔N秒启动一个线程。
    注意事项:该选项影响的仅仅是线程之间的启动间隔时间,并不影响向服务器发送请求的频率(发送请求的间隔时间)。

    ·循环次数:该选项设置的是每一个线程循环执行当前线程组下的脚本的次数。

    ·调度器:
    注意事项:
    ·调度器是在点击启动之后才会生效。
    ·启动延迟的优先级高于启动时间。
    ·持续时间的优先级高于结束时间。
    ·线程结束的条件是满足循环次数or结束时间到达。

    ·Test Fragment:测试片段
    测试片段下可以添加的组件类型和线程组是完全一样的。
    但是,位于测试片段下的请求是不会主动执行的,而线程组下是会执行的。
    位于测试片段下的请求必须被调用才会执行,调用方式有两种:
    ·脚本内的调用:通过逻辑控制器里面的 模块控制器 组件实现调用。
    ·脚本外的调用:通过逻辑控制器里面的 Include控制器 进行调用。

    ·逻辑控制器:就是用来控制组件的执行逻辑的。其本质就是图形化的流程控制组件。
    逻辑控制器只会控制其下的子组件。

    ·配置元件:全局组件,一般来说就是用来服务于请求类组件的,提供一些额外的配置支持。

    ·定时器:是和时间控制有关的组件。

    ·前置处理器:运行在请求之前的处理器。

    ·Sampler:取样器,又叫请求,其实就是各种不同协议的请求的模板。
    属于必选组件。

    ·后置处理器:运行在请求之后的处理器。
    常用的就是正则表达式提取器

    ·断言:运行在请求之后,用来对响应进行检测的组件。

    ·监听器:日志组件,提供了各种日志监控类的组件。

    ·非测试元件:这个和测试无关,其中最重要的就是http代理服务器组件,用于脚本的录制。


    注意事项:
    在jmeter中,同一类型的组件的图标是一样的,一般我们都会根据图标去查看。


    ·作用域:在Jmeter中,配置元件、定时器、前置处理器、后置处理器、断言和监听器这六大类组件都是用来服务Sampler(取样器、请求)。这六类组件的运行机制都和作用域这个概念有关。

    ·定义:作用域就是组件的作用范围,一般来说,受到作用域影响的组件只会对父级组件、所有同级组件和同级组件的子组件有效。

    其中:
    定时器、前置处理器是运行在作用域内的每一个请求之前,和先后顺序无关。运行次数等于作用域内的请求的数量。
    后置处理器、断言是运行在作用域内的每一个请求之后,和先后顺序无关。运行次数等于作用域内的请求的数量。

  • 相关阅读:
    Linux性能监控
    程序员技术练级攻略
    使用 GDB 调试多进程程序
    nginx下面部署fast-cgi和C++【原】
    ROS Learning-024 (提高篇-002) rviz的安装和使用
    ROS Learning-023 (提高篇-001) 准备工作 --- 安装一些必要的软件包
    STM32 C++编程 005 I2c(Soft)类
    Python 网络爬虫 005 (编程) 如何编写一个可以 下载(或叫:爬取)一个网页 的网络爬虫
    设置 PyCharm 软件中 Terminal 窗口 中启动的 python 交互命令的版本
    在PyCharm 软件中设置你的项目 使用的Python版本
  • 原文地址:https://www.cnblogs.com/wendy-0901/p/11898586.html
Copyright © 2011-2022 走看看