·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. 洛谷 P1156 垃圾陷阱 题解

    题目传送门 dp+排序+01背包 就完事了??? 貌似就是这样的 代码: //dp 排序 01背包 #include<iostream> #include<cstdio> #i ...

  2. B1042 字符统计 (20 分)

    #include<cstdio> #include<iostream> #include<algorithm> #include<string> usi ...

  3. [LeetCode] 32. Longest Valid Parentheses 最长有效括号

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  4. Kubernetes 学习(十)Kubernetes 容器持久化存储

    0. 前言 最近在学习张磊老师的 深入剖析Kubernetes 系列课程,最近学到了 Kubernetes 容器持久化存储部分 现对这一部分的相关学习和体会做一下整理,内容参考 深入剖析Kuberne ...

  5. 第19课 lambda vs std::bind

    一. std::bind (一)std::bind实现的关键技术 [编程实验]探索bind原理,实现自己的bind函数 #include <iostream> #include <t ...

  6. Oracle之PL/SQL

    基础语法 [declare --定义部分] begin --执行部分 [exception --异常处理部分] end; 其中,定义部分以declare开始,该部分是可选的;执行部分以begin开始, ...

  7. Python OpenCV 显示图片,图片分类

    def divide_image(path,g_path1,g_path0): img_lst = os.listdir(path) for i in img_lst: print('类别1,类别0' ...

  8. github 白嫖记(一)

    位运算 按位操作符:0或者1之间的运算 a|b 或 任意一个为1结果为1 console.log(0 | 1) //1 console.log(1 | 0) //1 console.log(1 | 1 ...

  9. docker系列之二:构建docker容器

    1.创建在FlaskApp/app中创建Flask项目: 2.生成web项目所需的运行环境:pip3 freeze > ../requirements.txt 3.编辑Dockerfile: # ...

  10. 不依赖Spring使用AspectJ达到AOP面向切面编程

    网上大多数介绍AspectJ的文章都是和Spring容器混用的,但有时我们想自己写框架就需要抛开Spring造轮子,类似使用原生AspectJ达到面向切面编程.步骤很简单,只需要两步. 1.导入依赖 ...