·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(取样器、请求)。这六类组件的运行机制都和作用域这个概念有关。

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

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

性能测试基础---jmeter基础的更多相关文章

  1. 性能测试工具JMeter 基础(六)—— 测试元件: 线程组

    线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...

  2. 性能测试工具JMeter 基础(三)—— 创建测试计划

    如何创建一个完整的测试计划? 安装好JMeter后,通过根目录下的bin目录中的jmeter.bat启动JMeter 添加线程组(Thread Group) 在 Test Plan 鼠标右键 Add- ...

  3. 性能测试工具JMeter 基础(四)—— 录制脚本

    对于JMeter中HTTP请求除了手动添加以为还可以进行脚本录制,有两个方法: 使用badboy录制,录制完成后,将录制的文件导入JMeter中 使用JMeter自带的录制原件进行录制(HTTP(S) ...

  4. 性能测试工具JMeter 基础(二)—— 主界面介绍

    主界面介绍 JMeter的主界面主要分为菜单导航栏.工具栏.计划树标签栏.内容栏 菜单导航栏:全部的功能的都包含在菜单栏中 工具栏:相当于菜单栏常用功能的快捷按钮 计划树标签栏:显示测试用例(计划)相 ...

  5. 性能测试工具JMeter 基础(一)—— 安装、配置环境变量

    JMeter下载 下载地址:https://jmeter.apache.org/download_jmeter.cgi 下载完成后解压后可直接使用,不用进行安装 环境变量配置 新增变量名:JMETER ...

  6. 性能测试工具JMeter 基础(九)—— 测试元件: 逻辑控制器之交替控制器

    交替控制器:根据被控制器触发执行次数,去依次执行控制器下的子节点(逻辑控制器.采样器),可以由线程组的线程数.循环次数.逻辑控制器触发. 交替控制器(lnterleave Controller) 简单 ...

  7. 性能测试工具JMeter 基础(八)—— 测试元件: 逻辑控制器之事物控制器

    事物控制器是将控制器下的所有取样器作为一个事物统计.分析 事物控制器(Transaction Controller) 事务控制器一共有两个选项: Generate parent sample:默认不勾 ...

  8. 性能测试工具JMeter 基础(七)—— 测试元件: 逻辑控制器之if逻辑控制器

    逻辑控制器线程组指定了其取样器执行的逻辑条件.顺序,并且执行顺序是按照位置顺序从上至下执行的 if逻辑控制器(If Controller) 在逻辑控制器中可设置条件,当条件满足的时候才会被执行 一共有 ...

  9. 性能测试工具JMeter 基础(五)—— 测试元件: 测试计划

    测试计划的定义: 测试计划是测试脚本的容器,定义了要执行什么.怎么执行对测试做总体的设置,且都是从线程组开始执行 在测试计划中可自定义用户变量(User Defined Variables),可通过A ...

随机推荐

  1. b站滑动验证码图片的获取-python

    本文仅是获取验证码图片,python+selenium实现 图片的处理,算出偏移位置网上都有现成的:而由于b站的更新,图片的获取则与之前完全不同,不能直接从html中拿到 过程比较曲折所以记录一下,可 ...

  2. [BJOI2019]勘破神机(第一类斯特林数,斐波那契数列)

    真的是好题,只不过强行多合一有点过分了…… 题目大意: $T$ 组数据.每个测试点中 $m$ 相同. 对于每组数据,给定 $l,r,k$,请求出 $\dfrac{1}{r-l+1}\sum\limit ...

  3. Linux性能优化实战学习笔记:第五十五讲

    一.上节回顾 上一节,我们一起学习了,应用程序监控的基本思路,先简单回顾一下.应用程序的监控,可以分为指标监控和日志监控两大块. 指标监控,主要是对一定时间段内的性能指标进行测量,然后再通过时间序列的 ...

  4. [LeetCode] 99. Recover Binary Search Tree 复原二叉搜索树

    Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...

  5. PKUWC2020游记

    PKUWC2020在2019年举行是真的沙雕 晚个两星期我就能逃掉期末考了 Day \(-\infty\) 开始停课训练,和ntf.lzy一起. atcoder真好玩,只可惜我没脑子-- kenkoo ...

  6. Magisk —— 安卓新一代的第三方拓展,systemless模式

    Magisk由宝岛台湾学生 topjohnwu 开发, XDA主贴:https://forum.xda-developers.com/apps/magisk 使用方法:第三方rec刷入zip 介绍: ...

  7. ros wifi把信号弱的客户端踢出去的脚本

    以下脚本为小于75强度的都踢出去 非capman脚本: /interface wireless registration-table :do {:foreach i in=[find] do={:lo ...

  8. Lambda 表达式已阅

    Lambda 表达式已阅 君子之间淡如水,何谓淡如水?并不时常想起,但却无处不在. 背景:This is f**king why we code? 可以让Java 代码异常简洁的Lambda 表达式, ...

  9. LeetCode 75. Sort Colors (颜色分类):三路快排

    Given an array with n objects colored red, white or blue, sort them in-place so that objects of the ...

  10. java8 HashMap源码 详细研读

    HashMap原理 目的: 单纯分析和学习hashmap的实现,不多说与Hashtable.ConcurrentHashMap等的区别. 基于 jdk1.8 在面试中有些水平的公司比较喜欢问HashM ...