软件测试jmeter基本使用
1安装与配置
1.jdk下载

下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windows(压缩包中会给)




2.jmeter下载
Apache JMeter - Download Apache JMeter(压缩包中有)




3.操作教学
打开软件后新建计划(新用户不用)


1.添加线程组
线程组——选择测试计划,右键-->添加-->线程-->线程组


补充

(1)线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。
(2)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。
(3)循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
2.HTTP请求——选择线程组:右键-->添加-->取样器-->HTTP请求
作用:录入接口请求参数信息
(1)请求名称,可不改
(2)Web服务器信息,网络协议(http/https)、域名或IP、端口号,可自行修改
(3)接口请求:请求方法(post/get)、请求路径、编码格式(utf-8),可自行修改
(4)参数传递:消息体数据存储JSON信息
http请求填写以这个为例


注意请求URL 、请求方法、请求负载 与下面类容相对应(名称自定义)
这里用户名密码是{"username": "NMG0001", "password": "123456", "nodeCode": "ZHYZ_BOSS"}
3.HTTP信息头管理器——选择线程组:右键-->添加-->配置元件-->HTTP信息头管理器
作用:可以存储请求头里面的信息



4.查看结果——选择线程组:右键-->添加-->监听器-->查看结果树
作用:查看接口运行结果

运行后
5.Http请求默认值——选择测试计划:
右键-->添加-->配置元件-->HTTP请求默认值

可以将后续线程或者Http请求公共的内容提取出来共同使用
比如协议和服务器ip等
原本的Http请求就可以改为

加了http请求默认值之后,在单个http请求里面还填写了同样的数据,那么以哪个为准就近原则——就近原则!
6.Beanshell后置处理器——选择线程组:
右键-->添加-->后置处理器-->Beanshell后置处理器

Beanshell后置处理器处理接口加入prev.setDataEncoding("utf-8") 返回中文的解析

7.接口与线程之间的传参 需求:
登录接口的返回token传给查询列表接口
①json提取器
(1)添加json提取器:右键http请求-》添加-》后置处理器-》json提取器,JSON提取公式:$..字段名


我是取的token(Authorization)

添加调试后置处理器便于查看

②正则表达式 (1)添加正则表达式:右键http请求-》添加-》后置处理器-》正则表达式提取器


参数说明: 引用名称:下一个请求要引用的参数名称,如token ,则可用${token }引用。
正则表达式:():要提取的部分。
.:匹配任何字符串。
*:零次一次或多次。
?:在找到第一个匹配项后停止
模板:用$$引用起来,如果表达式中有多个表达式,用$1$$2$...,如"data":"(.*?)","id":"(.*?)", 模板为: $1$$2$
匹配数字:0代表随机取值,-1代表全部取值,一般默认0
缺省值:选中的情况下,若没有取得到值,给出默认值。
账号从文件表格中获取

8.参数化
(1)CSV Data Set Config方式
①新建CSV格式文件或者txt文件
我这用的txt

②CSV——选择测试计划,
右键-->添加-->元件-->CSV data Sat config



使用参数化变量:${变量名}

(3)数据库提取数据
①MySQL连接 拷贝解压后.jar驱动文件到JMeter安装目录“lib”文件夹下

Jmeter中建立“JDBC Connection Configuation":配置元件 --JDBC Connection Configuation

①MySQL连接

参数说明:
a) Variable Name: 数据库连接池的名称,可以有多个jdbc connection configuration,每个可以起个不同的名称,与JDBC Request中Variable Name必须保持一致
b) Database URL: 数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称, 如: jdbc:mysql://localhost:3306/test
c) JDBC Driver class: com.mysql.jdbc.Driver
d) username:数据库登录的用户名
e) passwrod:数据库登录的密码
JDBC Request配置

参数说明:
a) Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
b) Parameter values:参数值
c) Parameter types:参数类型
d) Variable names:保存sql语句返回结果的变量名
e) Result variable name:创建一个对象变量,保存所有返回的结果
f) Query timeout:查询超时时间 g)
Handle result set:定义如何处理由callable statements语句返回的结果
②JDBC Request配置
参数说明: SQL Query:输入sql语句;多条sql语句必须用“;”
Query Type:
Select Statement:仅支持测试select语句,并且一次只能测试一条
Callable Statement:只要语法正确,任何语句,再多的条数都能支持
如果是同时执行多条语句:JDBC Connection Configuration 中Database URL:配置中加上?allowMultiQueries=true 如:jdbc:mysql://localhost:3306/test?allowMultiQueries=true

③对提取的数据进行遍历
ForEach控制器 逻辑控制器->ForEach控制器
参数说明: Input Variable Prefix:输入变量前缀,本例中为:order_sn (与JDBC Requset中返回结果的Variable names:变量名一致)
Output variable name:输出变量名称,提供给其它控件引用 ,可自由命名,调用时使用该参数 Start index for loop(exclusive):循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)
End index for loop(inclusive):循环结束的索引 Add”_”before number:输入变量名称中是否使用“_”进行间隔。

查看结果

也可以加上 聚合报告便于观察

1.聚合报告
聚合报告中可以查看接口响应时间的情况,以及接口脚本执行过程中的错误率等情况,聚合报告中的时间单位为毫秒 响应时间主要参考平均值;测试目标对接口要求较高时参考90%


2.生成HTML格式的测试报告
dos窗口命令行方式 运行方法: ①保证cmd在Jmeter脚本所在目录打开 ②jmeter -n -t 脚本路径和名称 -l 日志名.txt -e -o 报告文件路径和目录名称


如果出现这个问题

就将
删掉
在运行指令
点击index.html 成功出现
相关文章:
软件测试jmeter基本使用
1安装与配置 1.jdk下载 下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windows(压缩包中会给) 2.jmeter下载 Apache JMeter - Download Apache JMeter(压缩包中有) 3.操作教学 打开软件后新…...
一文讲透Python函数中的局部变量和全局变量
变量的作用域就是变量能够发挥作用的区域,超出既定区域后就无法发挥作用。根据变量的作用域可以将变量分为局部变量和全局变量。 1.局部变量 局部变量是在函数内部定义并使用的变量,也就是说只有在函数内部,在函数运行时才会有效࿰…...
【LeetCode】每日一题 2023_11_23 HTML 实体解析器(调库/打工)
文章目录 刷题前唠嗑题目:HTML 实体解析器题目描述代码与解题思路 结语 刷题前唠嗑 题目:HTML 实体解析器 题目链接:1410. HTML 实体解析器 题目描述 代码与解题思路 func entityParser(s string) (ans string) {return strings.NewRepla…...
Flask SocketIO 实现动态绘图
Flask-SocketIO 是基于 Flask 的一个扩展,用于简化在 Flask 应用中集成 WebSocket 功能。WebSocket 是一种在客户端和服务器之间实现实时双向通信的协议,常用于实现实时性要求较高的应用,如聊天应用、实时通知等,使得开发者可以更…...
软著项目推荐 深度学习 植物识别算法系统
文章目录 0 前言2 相关技术2.1 VGG-Net模型2.2 VGG-Net在植物识别的优势(1) 卷积核,池化核大小固定(2) 特征提取更全面(3) 网络训练误差收敛速度较快 3 VGG-Net的搭建3.1 Tornado简介(1) 优势(2) 关键代码 4 Inception V3 神经网络4.1 网络结构 5 开始训练5.1 数据集…...
自动驾驶HWP 功能规范
目 录 概述 1 目的 1范围 1术语及缩写 1设计与实验标准 1 设计标准 2设计标准执行优先顺序 2功能规范 Specification 4 功能描述 Functional Description 4 工作条件与应用范围 Application Scope 4道路交通 4天气与光线 4传感器方案及需求 5 驾驶员状态监控系统 5前视摄像…...
Ubuntu 环境下 NFS 服务安装及配置使用
需求:公司内部有多台物理服务器,需要A服务器上的文件让B服务器访问,也就是两台服务器共享文件,当然也可以对A服务器上的文件做权限管理,让B服务器只读或者可读可写 1、NFS 介绍 NFS 是 Network FileSystem 的缩写&…...
vue.js如何根据后台返回来的图片url进行图片下载
原创/朱季谦 最近在做一个前端vue.js对接的功能模块时,需要实现一个下载图片的功能,后台返回来的是一串图片url,试了很多种方法,发现点击下载时出来的效果,都是跳到一个新的图片网页,后来经过一番琢磨&…...
获取WordPress分类链接
CMS模板主题首页多以分类列表的形式展示内容,一般需要在适当位置添加某分类归档页面链接的按钮,下面的代码可以帮你实现。 代码一、通过分类别名获取Wordpress分类链接: <?php $catget_category_by_slug(‘wordpress’); $cat_linksget_…...
<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 5》(9)
《Linux操作系统原理分析之Linux 进程管理 5》(9) 4 Linux 进程管理4.5 Linux 信号4.5.1 信号的作用和种类1.信号机制2.信号种类 4.5.2 信号的处理4.5.3 信号处理函数1.数据结构2. 处理函数 signal3.程序例 4 Linux 进…...
Anthropic推出Claude 2.1聊天机器人;使用AI工具写作:挑战与策略
🦉 AI新闻 🚀 Anthropic推出Claude 2.1聊天机器人,支持20万个Token输入和提高准确度 摘要:Anthropic推出了Claude 2.1聊天机器人及对应的AI模型,支持输入多达20万个Token,并在准确度上有所改善。Claude已…...
2023-11-30 LeetCode每日一题(确定两个字符串是否接近)
2023-11-30每日一题 一、题目编号 1657. 确定两个字符串是否接近二、题目链接 点击跳转到题目位置 三、题目描述 如果可以使用以下操作从一个字符串得到另一个字符串,则认为两个字符串 接近 : 操作 1:交换任意两个 现有 字符。 例如&…...
进程间通信基础知识【Linux】——上篇
目录 一,理解进程之间的通信 1. 进程间通信目的 2. 进程间通信的技术背景 3,常见的进程间通信 二,管道 1. 尝试建立一个管道 管道的特点: 管道提供的访问控制: 2. 扩展:进程池 阶段一:…...
OpenSSH(CVE-2023-38408)OpenSsh9.5一键升级修复
yum install -y git cd /root git clone https://gitee.com/qqmiller/openssh-9.5p1-.x86_64.git cd openssh-9.5p1-.x86_64/ bash openssh_update.sh重启sshd: systemctl restart sshd 查看sshd状态: systemctl status sshd 重要的是按此操作升级完成…...
10.30 作业 C++
设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream>using namespace std;clas…...
Python开发运维:PyMongo 连接操作 MongoDB
目录 一、理论 1.PyMongo模块 2.Mongo Shell 二、实验 1. Windows11安装MongoDB 7.0.4 2.Windows11安装MongoDB Shell 2.1.0 3.PyMongo 连接 MongoDB(无密码方式) 4.PyMongo 连接 MongoDB(有密码方式) 5.PyMongo 操作 Mo…...
【Github】本地管理github分支
本地管理github分支 学习一些开发tips。以下是万能的GPT教我的: 以下是一套基本的本地管理 GitHub 仓库的指令集。在执行这些指令之前,请确保已经在你的本地机器上安装了 Git 工具,并且已经在 GitHub 上创建了一个仓库。 克隆仓库࿱…...
Spring Boot 项目中读取 YAML 文件中的数组、集合和 HashMap
在 Spring Boot 项目中,我们经常使用 YAML 文件来配置应用程序的属性。在这篇博客中,我将模拟如何在 Java 的 Spring Boot 项目中读取 YAML 文件中的数组、集合和 HashMap。 1. 介绍 YAML(YAML Aint Markup Language)是一种人类…...
Python正则表达式:match()和search()函数全面解读
更多资料获取 📚 个人网站:ipengtao.com 在Python中,正则表达式是强大的工具,能够用于文本匹配、搜索和替换。re模块提供了许多函数来处理正则表达式,其中match()和search()是两个常用的函数。本文将深入探讨这两个函…...
AIGC ChatGPT4总结Linux Shell命令集合
在Linux中,Shell命令的数量非常庞大,因为Linux提供了各种各样的命令来处理系统任务。这些命令包括GNU核心工具集、系统命令、shell内置命令以及通过安装获得的第三方应用程序命令。以下是一些常见的Linux命令分类及其示例,但请注意,这不是一个全面的列表,因为列出所有命令…...
Web全栈开发学习路径规划:Phi-3-mini-gguf你的个性化导师
Web全栈开发学习路径规划:Phi-3-mini-gguf你的个性化导师 1. 为什么需要个性化学习路径 学习Web全栈开发就像建造一栋房子,不同的人需要不同的施工图纸。传统学习路径往往千篇一律,忽略了学习者的基础差异和目标差异。Phi-3-mini模型通过分…...
2025届最火的六大AI辅助论文助手推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,学术研究愈发深入,AI论文工具成了科研人员和学生的得力帮手&…...
告别卡顿!Windows播放器为何需要LAV Filters解码器加持?
告别卡顿!Windows播放器为何需要LAV Filters解码器加持? 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 你是否曾经遇到过这样的尴尬时…...
CSS 网格容器:全面解析与最佳实践
CSS 网格容器:全面解析与最佳实践 引言 CSS 网格布局(CSS Grid Layout)是 CSS3 中的一项重要特性,它允许开发者以更加灵活和高效的方式对页面布局进行设计。相较于传统的布局方式,CSS 网格布局提供了更为丰富的布局选项和更好的兼容性。本文将全面解析 CSS 网格容器,并…...
文墨共鸣大模型在网络安全领域的应用:模拟攻击脚本分析与安全报告撰写
文墨共鸣大模型在网络安全领域的应用:模拟攻击脚本分析与安全报告撰写 最近和几个做安全的朋友聊天,他们都在抱怨同一个问题:每天面对海量的告警日志和五花八门的攻击脚本,分析起来耗时费力,写报告更是头疼。技术细节…...
英雄联盟身份定制完全指南:3步打造专属游戏形象
英雄联盟身份定制完全指南:3步打造专属游戏形象 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 想在英雄联盟中展示与众不同的游戏形象吗?LeaguePrank正是你寻找的解决方案!这个开源工具通过…...
Phi-4-mini-reasoning vLLM模型服务化:gRPC接口与Protobuf定义详解
Phi-4-mini-reasoning vLLM模型服务化:gRPC接口与Protobuf定义详解 1. 模型概述 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理。作为Phi-4模型家族的一员,它特别针对数学推理能力进行了…...
Pixel Aurora Engine 环境配置详解:Anaconda创建独立Python运行环境
Pixel Aurora Engine 环境配置详解:Anaconda创建独立Python运行环境 1. 为什么需要独立Python环境 在开始配置Pixel Aurora Engine的开发环境之前,我们先聊聊为什么需要创建独立的Python运行环境。想象一下,你的电脑就像一个大型工具箱&…...
张毕贺的音乐故事《越说越明》
张毕贺的音乐故事,始于一把吉他,成于不懈创作,最终汇成一条连接梦想与大众的河流。他的音乐历程,既是个人才华的绽放,也是对音乐教育与本土文化推广的坚定投入。 音乐之路:从翻唱走红到原创深耕 张毕贺的…...
AgentCPM深度研报助手使用技巧:三个参数让报告更专业
AgentCPM深度研报助手使用技巧:三个参数让报告更专业 1. 为什么你的AI研报总像“流水账”?问题可能出在参数上 你用过AI写报告,结果是不是这样:内容看起来都对,但读起来总觉得“差点意思”?结构松散像拼凑…...
