Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)
1.简介
上一篇文章已经教你把JMeter的测试环境搭建起来了,那么这一篇我们就将JMeter启动起来,一睹其芳容,首先我给大家介绍一下如何来创建一个测试计划(Test Plan)。
2.创建一个测试计划(Test Plan)
测试计划(Test Plan)描述了一系列Jmeter运行时将要执行的一系列步骤。完整的测试计划包含一个或者多个线程组,逻辑控制器,取样发生控制,监听器,定时器,断言和配置元件组成。
2.1添加和删除元件
可以通过右键单击树中的元素,然后从“ 添加 ”列表中选择一个新元件来将元件添加到测试计划中。或者,可以通过选择“ merge ”或“ open ”选项从文件中加载和添加元素。
要删除元件,请确保已选择该元件,右键单击该元件,然后选择“ 删除 ”选项。
2.2 加载和保存元件
要从文件中加载元件,请右键单击要向其中添加已加载元件的现有树元素,然后选择“ 合并 ”选项。选择保存元素的文件。JMeter将元素合并到树中。
要保存树元素,请右键单击元素,然后选择“ 将选择另存为... ”选项。JMeter将保存选定的元素及其下的所有子元素。这样,您可以保存测试树片段和单个元素以供以后使用。
注意:敲黑板,敲脑壳啦!!!工作台不会自动保存测试计划,但是它可以同上被单独保存的。
2.3 配置树元件
在测试树中的任何元件都在JMeter的右侧框架显示配置。那些配置允许你配置测试元件的细节行为,对于一个元件什么能被配置依赖于它是一个什么类型的元件。测试树中的任何元素都将在JMeter的右侧框中显示控件。这些控件使您可以配置特定测试元素的行为。元素可配置的内容取决于元素的类型。
注意:敲黑板,敲脑壳啦!!!可以通过拖拉测试树周围的元件操作测试树。
2.4 保存测试计划
尽管不是必需的,但我们建议您在运行测试计划之前将其保存到文件中。要保存测试计划,请从“文件”菜单中选择“ 保存 ”或“ 将测试计划另存为... ”(对于最新版本,不再需要先选择“测试计划”元素)。
注意:敲黑板,敲脑壳啦!!!JMeter允许您保存整个测试计划树或仅保存其中的一部分。要仅保存位于“测试计划”树的特定“分支”中的元素,请在树中选择要从其开始“分支”的“测试计划”元素,然后单击鼠标右键以访问“ 另存为... ” 。 ”菜单项。或者,选择适当的测试计划元素,然后从“编辑”菜单中选择“ 将选择另存为... ”。
2.5 运行一个测试计划
要运行测试计划,请从“ 运行 ”菜单项中选择“ 开始 ”(Control + r)。当JMeter运行时,它在菜单栏下方部分的右端显示一个小绿色框。您也可以检查“ 运行 ”菜单。如果禁用了“ 开始 ”,并且启用了“ 停止 ”,则JMeter正在运行您的测试计划(或者至少认为它是这样)。
绿色框左侧的数字是活动线程数/线程总数。这些仅适用于本地运行的测试;使用客户端-服务器模式时,它们不包括在远程系统上启动的任何线程。
注意:敲黑板,敲脑壳啦!!!仅在调试测试计划时,才应使用此处所述的GUI模式。要运行实际负载测试,请使用CLI模式。
2.6停止测试
菜单中有两种类型的停止命令:
- 停止(Control + .)-如果可能,立即停止线程。许多采样器都是可中断的,这意味着可以提前终止活动采样。stop命令将检查所有线程是否已在默认超时(5000 ms = 5秒)内停止。[这可以使用JMeter属性jmeterengine.threadstop.wait进行更改]如果线程尚未停止,则会显示一条消息。可以重试Stop命令,但是如果失败,则必须退出JMeter进行清理。
- 关机(Control + ,)-请求线程在任何当前工作结束时停止。不会中断任何活动样本。模态关闭对话框将保持活动状态,直到所有线程停止。
如果关机时间太长。关闭“关机”对话框,然后选择“运行/停止”,或仅按Control+.。
在CLI模式下运行JMeter时,没有菜单,并且JMeter不会对诸如Control + . 之类的组合键作出反应。。因此,JMeter CLI模式将监听特定端口上的命令(默认为4445,请参见JMeter属性jmeterengine.nongui.port)。如果使用默认端口(例如,另一个JMeter实例),JMeter支持自动选择备用端口。在这种情况下,JMeter将尝试下一个更高的端口,直到到达JMeter属性jmeterengine.nongui.maxport)为止,该属性默认为4455。如果maxport小于或等于port,那么将不会进行端口扫描。
所选端口显示在控制台窗口中。
当前支持的命令是:
- Shutdown -正常关机
- StopTestNow-立即关闭
可以分别使用shutdown [.cmd|.sh]或stoptest [.cmd|.sh]脚本发送这些命令。这些脚本可以在JMeter bin目录中找到。仅当脚本从同一主机运行时,才会接受命令。
2.7 作用域规则
JMeter测试树包含元件总是分等级和顺序的。在测试树中的一些元件是严格分级(监听器,配置元件,后置处理器,前置处理器,断言,定时器),一 些主要是有序的(控制器,取样器)。当你创建测试计划时,你将创建一个有序的取样请求(通过取样器)列表,那些请求描述了一组步骤的执行。那些请求常组织 在也有序的控制器中。给出如下测试树:

测试树例子
请求的顺序是 One,Two,Three,Four。
一些控制器影响它的子元件的顺序,你可以在组件参考读到特定的控制器。
其他元素是分等级的。例如,一个断言在测试树中是分等级的。如果它的父元件是请求,它就被应用于那个请求。如果它的父元件是控制器,它就影响所有那个控制器下的所有请求。如下测试树:
分级例子
Assertion #1 仅被应用于请求 One, Assertion #2 仅被应用于 请求 Two 和 Three。
另一个例子,这次使用定时器:
复杂的例子
在这个例子里,请求的命名表现它们被执行的顺序。Timer #1 应用于 请求 Two, Three, 和 Four (注意对于分等级的元件怎样的顺序是不相关的)。Assertion #1 应用于请求Three。Timer #2 对所有请求有效。
希望那些例子使你弄清了配置(分等级的)元件如何被应用。如果你想每个请求都被树分叉拒绝,到它的父元件,到它的父元件的父元件,等等,每次收集所有它的父元件的配置元件,你将看到它如何工作的。
元件首部管理器, Cookie 管理器和授权管理器的配置和默认元件的配置被视为是不同的.默认元件配置的设置被并入取样器可以到达的一组值里了。然而来自管理器的设置没有并入。如果多于一个管理器在一个取样器范围中,仅仅一个被使用,但是现在没有办法指定那个被使用。
2.8 错误报告
JMeter将警告和错误报告给jmeter.log文件,以及有关测试运行本身的一些信息。JMeter 在其窗口右端的警告图标(三角形)旁边显示jmeter.log文件中找到的警告/错误数量。单击警告图标以在JMeter窗口的底部显示jmeter.log文件。偶尔可能会有一些错误,JMeter无法捕获和记录;这些将显示在命令控制台上。如果测试不符合您的预期,请检查日志文件,以防报告任何错误(例如,函数调用中的语法错误)。
通常不会在日志文件中报告采样错误(例如HTTP 404-未找到文件)。而是将它们存储为样本结果的属性。样本结果的状态可以在各种不同的监听器中看到。
3.小结
3.1GUI与CLI的区别
GUI(图形用户界面)
Graphical User Interface(图形用户接口)
用图形的方式,来显示计算机操作的界面,这样方便更直观。
CLI
Command line User Interface(命令行用户接口)
最常见的DOS命令操作。
需要记忆一些常用的命令,操作不直观。
好了,今天有关如何创建一个测试计划(Test Plan)就分享到这里,感谢您的阅读,如果您觉得不错或者有帮助,就帮忙来一个推荐呗!!!
您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得随手点波 推荐 不要忘记哦!!!
别忘了点 推荐 留下您来过的痕迹
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。未来的你肯定会感谢现在拼命的自己!

相关文章:
Jmeter(二) - 从入门到精通 - 创建测试计划(Test Plan)(详解教程)
1.简介 上一篇文章已经教你把JMeter的测试环境搭建起来了,那么这一篇我们就将JMeter启动起来,一睹其芳容,首先我给大家介绍一下如何来创建一个测试计划(Test Plan)。 2.创建一个测试计划(Test Plan&#x…...
Autosar诊断实战系列06-详解Dem中Event的NvM存储
本文框架 前言1. Dem触发NvM存储的基本流程2. Dem触发NvM存储的layout格式及内容2.1 Event在NvM中的layout格式2.2 Event在NvM中的存储内容2.3 Dem中Event与DTC的存储关系3.组合式Event(多个Event对应一个DTC)的存储处理3.1 仅分配一个Memory Entry3.2 检索方式3.3 一对一方式前…...
04 todoList案例
React全家桶 一、案例- TODO List 综合案例 功能描述 动态显示初始列表添加一个 todo删除一个 todo反选一个 todotodo 的全部数量和完成数量全选/全不选 todo删除完成的 todo 1.1 静态组件构建 将资料包中的todos_page/index.html中核心代码添加到Todo.jsx文件中,…...
海睿思分享 | 浅谈企业数据质量问题
一、数据质量问题场景 在日常工作中,业务领导经常通过BI系统来了解各项业务的业绩情况。倘若某天,他打开某张核心报表,发现当日某个区域的数据一直是空白的。BI开发人员经过几个小时的排查分析,发现是当日该区域的销售数据存在产…...
神经网络:激活函数
在计算机视觉中,激活函数是神经网络中的一种非线性函数,用于引入非线性变换和非线性特性到网络中。激活函数的作用、原理和意义如下: 1. 引入非线性变换: 神经网络的线性组合层(如卷积层和全连接层)只能表…...
图像色彩增强相关论文阅读-Representative Color Transform for Image Enhancement(ICCV2021)
文章目录 Representative Color Transform for Image EnhancementAbstractIntroductionRelated workMethod实验Conclusion Representative Color Transform for Image Enhancement 作者:Hanul Kim1, Su-Min Choi2, Chang-Su Kim3, Yeong Jun Koh 单位:S…...
Elasticsearch介绍与应用
Elasticsearch介绍与应用 Elasticsearch的官方文档。 Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch mvnrepository依赖库地址:http…...
JavaEE规范
Servlet:用于开发 Web 应用程序的 API,定义了处理 HTTP 请求和响应的方式。JSP(JavaServer Pages):一种在服务器端生成动态网页的技术,允许将 Java 代码嵌入到 HTML 页面中。(注意JSP本质就是一个Servlet)J…...
嵌入式实时操作系统的设计与开发New(八)
创建线程 用户在基于RTOS开发应用程序前,首先要创建线程。 用户创建一个线程时须指定用户希望采用的调度策略。 例如,用户想创建一个周期性执行的线程: acoral_period_policy_data_t* data; data acoral_malloc(sizeof(acoral_period_poli…...
MySQL事务相关笔记
杂项 InnoDB最大特点:支持事务和行锁; MyISAM不支持事务 介绍 一个事务是由一条或者多条对数据库操作的SQL语句所组成的一个不可分割的单元,只有当事务中的所有操作都正常执行完了,整个事务才会被提交给数据库。事务有如下特性…...
如何利用AI高效率快速调色
在设计行业中,时间是非常宝贵的资源,而设计师们常常需要应对繁忙的工作日程和紧迫的截止日期。为了提高工作效率和节省时间,越来越多的设计师开始利用人工智能(AI)技术中的高效调色功能。本文将介绍如何利用AI高效率快…...
数据结构--顺序表的基本操作--插入 and 删除
数据结构–顺序表的基本操作–插入 顺序表的插入操作 实现目标 ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。 typedef struct {int data[MaxSize];int len; }Sqlist;代码实现: #include <stdio.h> #include <stdlib.h> …...
BCSP-玄子Java开发之Java Web编程CH01_初识动态网页
BCSP-玄子Java开发之Java Web编程CH01_初识动态网页 1.1 B/S架构 B/S架构:浏览器/服务器 程序完全部署在服务器上使用浏览器访问服务器无需单独安装客户端软件 为什么要使用B/S架构 B/S与C/S比较B/S架构C/S架构软件安装浏览器需要专门的客户端应用升级维护客户…...
【软件教程】农林生环、水文、海洋、水环境、大气科学、人工智能、碳中和、碳排放、3S、R与统计等软件模型
本文涉及领域水文水资源、大气科学、农林生态、地信遥感、统计分析、编程语言等... 从软件基础到实践案例应用操作,手把手教学,提供永久回放观看和助学群长期辅助指导。适合课题组人员一站式学习,科研人员技术提升、企业单位工程项目、高校论…...
如何加入开源社
开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、项目孵化” 为使命的开源社区联合体。开源社积极…...
软件开发中的破窗效应
应该有很多人已经知道破窗效应【注1】这个社会学 (犯罪学)的词语,破窗效应最先由社会学家James Q. Wilson和George L. Kelling在一篇名为《Broken Windows》的文章中提出【注2】: “一个房子如果窗户破了,没有人去修补…...
机器视觉初步6-1:基于梯度的图像分割
把基于梯度的图像分割单独拿出来。 文章目录 一、图像梯度相关算子的原理1. Sobel算子2. Prewitt算子3. Roberts算子 二、python和halcon算子实现1.python实现2.halcon实现 基于梯度的图像分割方法利用像素之间的梯度信息来进行图像分割。 梯度 1是图像中像素灰度值变化最快的…...
从0开始,精通Go语言Rest微服务架构和开发
说在前面 现在拿到offer超级难,甚至连面试电话,一个都搞不到。 尼恩的技术社区中(50),很多小伙伴凭借 “左手云原生右手大数据”的绝活,拿到了offer,并且是非常优质的offer,据说年…...
Sui x KuCoin Labs夏季黑客松|本周Workshop预告
自Sui x KuCoin Labs夏季黑客松推出以来已有四周的时间,期间收获了众多开发者的积极报名和热情参与。随着黑客松报名即将进入尾声,同期举办的Workshop也迎来了本周的最后一波。本周的黑客松Workshop邀请到MoveEX和Mirror World的负责人作为嘉宾为大家带…...
从电源 LED 读取智能手机的秘密?
研究人员设计了一种新的攻击方法,通过记录读卡器或智能手机打开时的电源 LED,使用 iPhone 摄像头或商业监控系统恢复存储在智能卡和智能手机中的加密密钥。 众所周知,这是一种侧信道攻击。 通过密切监视功耗、声音、电磁辐射或执行操作所需…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
