性能测试之(六):JMeter 元件

news/2025/3/28 15:38:53/

元件(多个类似功能组件的容器)

组件:封装的方法,比如取样器中的发送请求的方法

一、常见的元件
	1、取样器:发送请求2、逻辑处理:控制语句执行顺序3、前置处理器:在请求(取样器)发送之前执行4、后置处理器:在请求(取样器)发送之后执行5、断言:对响应结果进行断言,assert6、定时器:等待一定时间7、测试片段:封装的一段代码,供脚本调用,不直接执行8、配置元件:对参数进行赋值(参数化),设置参数9、监听器:查看脚本运行结果

元件执行顺序

不同元件的执行顺序:线程组-->配置元件--->前置处理器--->定时器--->取样器--->后置处理器--->断言--->监听器
相同元件执行顺序:从上到下依次执行
二、元件作用域

作用域原则:

取样器是JMeter的核心,不作用于其他的组件
逻辑控制器,只对子节点起作用
其他组件,如果父节点是取样器的话,则只对父节点起作用;如果父节点不是取样器的话,则对父节点下所有组件起作用。
三、示例

操作步骤:启动JMeter–>添加线程组–>添加取样器(http请求)–>在http请求下填写相关请求数据–>添加监听器—>执行并查看结果

四、元件之线程组
1、线程组特点

1.1、模拟多用户操作(设置线程数量)
1.2、线程组可以添加多个,多个线程组可并行或串行(在测试计划下勾选 独立运行每个线程组 即可实现串行执行)
在这里插入图片描述
1.3、取样器和逻辑控制器必须依赖线程组才能运行
1.4、线程组下可以添加其他元件的组件

2、线程组的分类

2.1、线程组:普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户
2.2、setUp线程组:一种特殊类型的线程组,可用于执行预测试操作(在所有线程组之前执行)
2.3、tearDown线程组:一种特殊类型的线程组,可用于执行测试后工作(在所有线程组之后执行)

3、线程组的参数(线程数和启动时间)

3.1、线程数:并发用户数
3.2、启动时间(Ramp-up时间):在设置的启动时间内启动所有线程,目的是为了模拟性能测试的场景,使其更接近用户的使用习惯
3.3、循环次数:线程数循环5次
3.4、持续时间:设置持续运行时间(设置持续时间后,循环次数要勾选 永远 )
线程数和循环次数的关系:线程数代表并发用户数,体现服务器的负载量;循环次数代表执行时间
3.5、延迟创建线程直到需要:勾选前(10个线程5秒启动,10个线程所需资源在点击启动时到位);勾选后(10个线程5秒启动,启动一个用户则分配一个资源)
3.6、延迟启动:设置延迟n秒启动,则脚本的请求发送在等待n秒后进行

五、察看结果数

查看


http://www.ppmy.cn/news/1291531.html

相关文章

学习调整echarts中toolbox位置toolBox工具栏属性

学习调整echarts中toolbox位置toolBox工具栏属性 toolbox工具栏属性介绍示例代码代码参数说明 toolbox工具栏属性介绍 参考网址:https://echarts.apache.org/zh/option.html#tooltip 属性类型说明toolbox.showbooleanboolean 默认值为true,是否显示工具…

静态S5在项目管理中的应用与案例分享

静态S5作为一种强大的数据分析工具,不仅在数据处理和可视化方面表现出色,还在项目管理中发挥着重要作用。本篇将通过实际案例分享,探讨静态S5在项目管理中的应用与优势。 一、静态S5在项目管理中的应用 项目进度管理:静态S5通过…

CMake入门教程【核心篇】属性管理set_property和get_property

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「本文的内容」:CMake入门教程 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1.概述2.设置属性 - …

Python3 列表--20240104

Python3 列表 序列是 Python 中最基本的数据结构。 序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。 Python 有 6 个序列的内置类型,但最常见的是列表和元组。 列表都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Pyth…

SpringBoot实用开发(九)-- RedisTemplate处理ZSet类型的数据

目录 1.添加元素(有序集合是按照元素的score值由小到大进行排列) 2.删除对应的value,value可以为多个值

【C语言数据结构】堆排序讲解

>>知识传送站&#xff1a; 排序算法&#xff1a;堆排序【图解代码】_哔哩哔哩_bilibili 一.代码部分&#xff1a; //堆排序 #include<stdio.h> #include<stdlib.h> #include<string.h> void swap(int* a,int* b)//用于换位 {int tamp;tamp*a;*a*b;*…

【Spring】AOP的AspectJ开发

AOP基础不了解可以阅读&#xff1a;【Spring】AOP原来如此-CSDN博客 AspectJ是一个居于JAVA开发的AOP框架 基于XML的声明式AspectJ 基于XML的声明式AspectJ是通过XML文件来定义切面&#xff0c;切入点及通知&#xff0c;所有的切面、切入点和通知必须定义在内&#xff0c; 元…

Excelize 入选“2023开源创新榜”优秀开源项目

近日&#xff0c;由中国科协科学技术传播中心、中国计算机学会、中国通信学会、中国科学院软件研究所共同主办&#xff0c;CSDN 承办的 2023 开源创新榜专家评审会在国家科技传播中心成功举办。Excelize 电子表格文档开源基础库入选“2023开源创新榜”优秀开源项目。 评审委员…