JMeter工具介绍、元件和组件的介绍

news2025/3/14 4:19:59
  • Jmeter功能概要

  • JDK常用文件目录介绍

Bin目录:存放可执行文件和配置文件
在这里插入图片描述

Docs目录:是Jmeter的API文档,用于开发扩展组件
在这里插入图片描述

printable_docs目录:用户帮助手册
在这里插入图片描述

lib目录:存放JMeter依赖的jar包和用户扩展所依赖的Jar包
在这里插入图片描述

  • 修改默认配置——Jmeter界面的汉化

临时性:
启动Jmeter->选择菜单“option"->Choose language->Chinese(Simplified)
在这里插入图片描述

永久性——修改配置文件:
找到Jmeter安装目录下的bin目录
打开jmeter.properties文件,把第37行修改为”language=zh_CN"
重启Jmeter即可。
在这里插入图片描述

  • 修改默认配置——修改主题

Jmeter默认主题是黑色的,可以通过以下步骤修改:
启动Jmeter->选择菜单“选项”->外观->windows(选择自己喜欢的主题即可)
在这里插入图片描述

  • Jmeter元件和组件的介绍
  • 元件的基本介绍

元件:多个类似功能组件的容器(类似于
在这里插入图片描述

  • 组件的基本介绍

组件:实现独立的某个功能(类似于方法
在这里插入图片描述
在这里插入图片描述

  • Jmeter元件作用域和执行顺序

  • 元件的作用域

元件的作用域:是靠测试计划的树形结构中元件的父子关系来确定的。
在这里插入图片描述

  • 元件的执行顺序

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

在这里插入图片描述

  • 案例:执行顺序

在这里插入图片描述

  • 元件的作用域都围绕 取样器 为 核心
  • 固定定时器3是HTTP请求3的子节点,所以只对HTTP请求3起作用
  • 固定定时器2的父节点是 if 控制器(非取样器),所以只对HTTP请求2起作用(父节点下的所有后代节点起作用)
  • 固定定时器1的父节点是 线程组,所以对HTTP1,HTTP2,HTTP3都起作用

由于 相同作用域下的相同元件从上到下的顺序依次执行,
所以执行顺序为:定时器1 - HTTP请求1 - 定时器1 - 定时器2 - HTTP请求2 - 定时器1 - 定时器3 - HTTP请求3

  • Jmeter第一个案例
  • 需求:使用Jmeter访问百度首页接口,并查看请求和响应信息

步骤:

  1. 启动Jmeter
  2. 在“测试计划”下添加“线程组”
  3. 在“线程组”下添加“HTTP请求“取样器
  4. 填写”HTTP请求”的相关请求数据
  5. 在”线程组“下添加”查看结果树“监听器
  6. 点击”启动“按钮运行,并查看结果
    在这里插入图片描述
  • 线程组

作用:线程组就是控制JMeter用于执行测试的一组用户
位置:右键点击”测试计划“->添加->线程(用户)->线程组
特点:

  • 模拟多人操作
  • 线程组可以添加多个,多个线程组可以并行或串行
  • 取样器(请求)和逻辑控制器必须依赖线程组才能使用
  • 线程组下可以添加其他元件下组件
    在这里插入图片描述
  • 线程组分类
  • 线程组(编写脚本)
    普通的、常用的线程组,可以看做一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户。
  • SetUp线程组(前置处理、初始化)
    一种特殊类型的线程组,可用于执行预测试操作
  • TearDown线程组(后置处理、环境恢复等)
    一种特殊类型的线程组,可用于执行测试后工作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 线程组参数详解
    在这里插入图片描述

练习:编写JMeter脚本,访问百度
要求:

  • 模拟10个用户并行执行;
    在这里插入图片描述
  • 模拟10个用户5s内启动完成;
    在这里插入图片描述
  • 模拟2个用户各循环3次;
    在这里插入图片描述
  • 模拟2个用户运行30s;
    在这里插入图片描述
  • 模拟2个用户等待10s后开始执行(持续时间5s)(
    在这里插入图片描述
  • 案例分析

使用1个线程组,添加HTTP请求(百度)

  • 配置线程数为2,循环次数为3时,运行观察结果
  • 配置线程数为3,循环次数为2时,运行观察结果,对比是否有不同

相同点:从请求数量来说,是完全相同的

不同点:场景不同

  • 线程数:代表用户数,即性能测试时的负载量(线程数为2比线程数为3对应的负载量小)
  • 循环次数:代表时间,即性能测试时的运行时间(循环次数3比循环次数2对应的时间长)
  • HTTP请求

作用:向服务器发送http及https请求
位置:选择线程组->右键->添加->取样器->HTTP请求
参数:
端口号:http默认80,http默认443在这里插入图片描述

  • 案例一(使用HTTP请求路径来传递get请求参数)

(1)使用1个线程组,添加HTTP请求(百度),路径为/S

  • 使用HTTP协议,GET请求方法,路径中添加参数为:wd=test,运行观察结果。
    在这里插入图片描述
  • 案例二(使用参数列表传递get请求的参数)
  • 使用HTTPS协议,GET请求方法,路径中添加参数为: wd = test,运行观察结果
    在这里插入图片描述
  • 案例三(使用参数列表来传递POST请求的form格式参数)
  • 使用HTTPS协议,POST请求方法,消息体数据中添加参数为: wd = test,运行观察结果
    在这里插入图片描述
  • 案例四:(消息体数据来传递post请求的form格式参数)
  • 使用HTTP协议,POST请求方法,消息体数据中添加参数为: wd = test,运行观察结果
    在这里插入图片描述
  • 查看结果树

案例1:查看结果树种的HTTP请求种,有多个子请求的HTTP请求
在这里插入图片描述
原因分析:

  • 第一个HTTP请求中,URL错误,导致服务器产生了重定向,提供了新的URL路径
  • JMeter会自动发送第二个HTTP请求(使用第一个HTTP请求中返回的URL路径)
  • 点击最外层HTTP请求时,显示的内容与最后一个HTTP请求的请求和响应数据一致在这里插入图片描述

案例2:HTTP响应数据中存在乱码,需要修改取样器结果的编码格式
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2300269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DeepSeek 引领AI 大模型时代,服务器产业如何破局进化?

2025 年 1 月,DeepSeek - R1 以逼近 OpenAI o1 的性能表现,在业界引起轰动。其采用的混合专家架构(MoE)与 FP8 低精度训练技术,将单次训练成本大幅压缩至 557 万美元,比行业平均水平降低 80%。这一成果不仅…

安卓burp抓包,bypass ssl pinning

好久好久没有发东西了。主要是懒。。。 这几天在搞apk渗透,遇到了burp无法抓包问题,觉得可以写下来。 问题描述 1. 一台安卓手机,装了面具,可以拿到root 2. 电脑上有burp,设置代理 3.手机和电脑连同一个网段&…

服务器中部署大模型DeepSeek-R1 | 本地部署DeepSeek-R1大模型 | deepseek-r1部署详细教程

0. 部署前的准备 首先我们需要足够算力的机器,这里我在vultr中租了有一张A16显卡一共16GB显存的服务器作为演示。部署的模型参数为14b的。如果需要部署满血版本671b的,需要更大的算力支持,这里由于是个人资金有限,就演示14b的部署…

rust学习笔记2-rust的包管理工具Cargo使用

首先先解决一个配置文件,目前rust版本升级后,config已经改成 config.toml 内容也做了如下调整 [source.crates-io] replace-with tuna[source.tuna] registry "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" 1.Rust 编程…

DeepSeek + Vue实战开发

利用DeepSeek V3模型、siliconflow大模型一站式云服务平台以及vue3.0实现一个在线人工智能客服对话系统。 因为deepseek官网的api密钥使用起来比较缓慢,所以可以使用第三方的,具体操作请自行查阅资料。 siliconflow官网 SiliconFlow, Accelerate AGI …

【数据结构】(8) 二叉树

一、树形结构 1、什么是树形结构 根节点没有前驱,其它节点只有一个前驱(双亲/父结点)。所有节点可以有 0 ~ 多个后继,即分支(孩子结点)。每个结点作为子树的根节点,这些子树互不相交。 2、关于…

Web 后端 请求与响应

一 请求响应 1. 请求(Request) 客户端向服务器发送的HTTP请求,通常包含以下内容: 请求行:HTTP方法(GET/POST等)、请求的URL、协议版本。 请求头(Headers):…

CEF132 编译指南 Linux 篇 - CEF 编译实战:构建 CEF(六)

1. 引言 经过前几篇的精心准备,我们已经完成了所有必要的环境配置和源码下载。现在,我们将进入激动人心的 CEF 编译阶段。本篇将详细指导你在 Linux 系统上编译 CEF 6834 分支(对应 Chromium 132 版本),包括创建项目文…

【Spring+MyBatis】_图书管理系统(上篇)

目录 1. MyBatis与MySQL配置 1.1 创建数据库及数据表 1.2 配置MyBatis与数据库 1.2.1 增加MyBatis与MySQL相关依赖 1.2.2 配置application.yml文件 1.3 增加数据表对应实体类 2. 功能1:用户登录 2.1 约定前后端交互接口 2.2 后端接口 2.3 前端页面 2.4 单…

【苍穹外卖】学习

软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。那么这一小节,我们将从 软件开发流程、角色…

DeepSeek-V2-技术文档

DeekSeek-v2-简述 1. DeepSeek-V2是什么? DeepSeek-V2是一个基于混合专家(Mixture-of-Experts,简称MoE)架构的语言模型。它是一种新型的人工智能模型,专门用于处理自然语言处理(NLP)任务,比如文本生成、翻译、问答等。与传统的语言模型相比,DeepSeek-V2在训练成本和…

Linux中线程创建,线程退出,线程接合

线程的简单了解 之前我们了解过 task_struct 是用于描述进程的核心数据结构。它包含了一个进程的所有重要信息,并且在进程的生命周期内保持更新。我们想要获取进程相关信息往往从这里得到。 在Linux中,线程的实现方式与进程类似,每个线程都…

什么是蒸馏技术

蒸馏技术(Knowledge Distillation, KD)是一种模型压缩和知识迁移的方法,旨在将一个复杂模型(通常称为“教师模型”)的知识转移到一个小型模型(通常称为“学生模型”)中。蒸馏技术的核心思想是通…

Python——寻找矩阵的【鞍点】(教师:恒风)

在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点 恒风的编程 思路: 使用while循环找到行中最大值,此时列的坐标已知,利用列表推导式生成列不变的纵列,利用min()函数得到纵…

处理项目中存在多个版本的jsqlparser依赖

异常提示 Correct the classpath of your application so that it contains a single, compatible version of net.sf.jsqlparser.statement.select.SelectExpressionIte实际问题 原因:项目中同时使用了 mybatis-plus 和 pagehelper,两者都用到了 jsqlpa…

【iOS】包大小和性能稳定性优化

包大小优化 图片 LSUnusedResources 扫描重复的图片 ImageOptim,压缩图片 压缩文件 优化音视频资源 ,使用MP3 代替 WAV ffmpeg -i input.mp3 -b:a 128k output.mp3 视频 H.265(HEVC) 代替 H.264 ffmpeg ffmpeg -i input.mp4 -vcodec lib…

Jenkinsdebug:遇到ERROR: unable to select packages:怎么处理

报错信息: 报错信息解释: musl-1.2.5-r0 和 musl-dev-1.2.5-r1: 这里说明 musl-dev 需要一个特定版本的 musl,即 musl1.2.5-r1,但是当前版本的 musl(1.2.5-r0)并不满足这个条件。版本冲突: 当尝试安装新…

3、树莓派5 安装VNC查看器 开启VNC服务器

在前序文章中( 2、树莓派5第一次开机),可以使用三种方式开机,其中使用网线及wifi的方式均需要使用到VNC查看器进行远程桌面控制,本文将介绍如何下载安装并配置及使用VNC查看器及服务器,对前序文章做一些补充…

数据结构——单向循环链表、双链表、双向循环链表

目录 一、单向循环链表 1.1 单向循环链表的概念 1.2 单向循环链表的操作 1.2.1 单向循环链表的创建 1.2.2 单向循环链表的头插 1.2.3 单向循环链表的遍历 1.2.4 单向循环链表的头删 1.2.5 单向循环链表的尾插 1.2.6 单向循环链表的尾删 1.2.7 约瑟夫环 1.3 单向循环列表所有程…

冒险岛079 V8 整合版源码搭建教程+IDEA启动

今天教大家来部署下一款超级怀旧游戏冒险岛,冒险岛源码是开源的,但是开源的代码会有各种,本人进行了加工整合,并且用idea进行了启动测试,经过修改后没有任何问题。 启动截图 后端控制台 前端游戏界面 声明 冒险岛源码…