软件测试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命令分类及其示例,但请注意,这不是一个全面的列表,因为列出所有命令…...
仅剩最后47套!《ChatGPT脑筋急转弯生成军规手册》PDF+127个经A/B测试验证的高互动Prompt模板(含儿童/职场/银发三版适配)
更多请点击: https://kaifayun.com 第一章:ChatGPT脑筋急转弯生成的核心价值与认知重构 传统脑筋急转弯创作依赖人类经验直觉,存在耗时长、多样性受限、语义陷阱设计不精准等瓶颈。而基于大语言模型的自动化生成,不仅突破了创意密…...
ThinkPHP 5.x远程代码执行漏洞(CVE-2018-1002015)深度解析与实战防御
1. 这个漏洞不是“理论存在”,而是真实打穿过生产环境的子弹ThinkPHP 5.x远程代码执行漏洞(CVE-2018-1002015)在2018年3月被公开时,很多团队第一反应是“又一个框架RCE”,随手打个补丁就扔进待办清单底部。我见过最典型…...
3步搞定Mac Boot Camp驱动自动化部署:Brigadier完全指南
3步搞定Mac Boot Camp驱动自动化部署:Brigadier完全指南 【免费下载链接】brigadier Fetch and install Boot Camp ESDs with ease. 项目地址: https://gitcode.com/gh_mirrors/bri/brigadier 还在为Mac电脑安装Windows系统后的驱动问题头疼吗?Br…...
AppImageLauncher终极指南:10分钟掌握Linux便携应用系统集成
AppImageLauncher终极指南:10分钟掌握Linux便携应用系统集成 【免费下载链接】AppImageLauncher Helper application for Linux distributions serving as a kind of "entry point" for running and integrating AppImages 项目地址: https://gitcode.c…...
DeepSeek微调吞吐量翻倍实践:LoRA+梯度检查点+FlashAttention-3三重协同调优(附A100/A800实测QPS对比表)
更多请点击: https://codechina.net 第一章:DeepSeek性能调优指南 DeepSeek系列大模型在推理与训练阶段的性能表现高度依赖于硬件适配、计算图优化及内存管理策略。本章聚焦于可落地的调优实践,涵盖推理加速、显存压缩与计算精度协同配置三大…...
三分钟掌握roop-unleashed:零门槛AI换脸终极指南
三分钟掌握roop-unleashed:零门槛AI换脸终极指南 【免费下载链接】roop-unleashed Evolved Fork of roop with Web Server and lots of additions 项目地址: https://gitcode.com/gh_mirrors/ro/roop-unleashed 你是否想过将视频中的人物面孔轻松替换&#x…...
UnityExplorer自由视角相机终极指南:3种模式带你突破游戏视角限制
UnityExplorer自由视角相机终极指南:3种模式带你突破游戏视角限制 【免费下载链接】UnityExplorer An in-game UI for exploring, debugging and modifying IL2CPP and Mono Unity games. 项目地址: https://gitcode.com/gh_mirrors/un/UnityExplorer 你是否…...
Win11Debloat终极指南:如何快速清理Windows 11系统,提升电脑性能
Win11Debloat终极指南:如何快速清理Windows 11系统,提升电脑性能 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other change…...
Struts2 S2-061漏洞深度解析:OGNL沙箱绕过与零代码应急加固
1. 这个漏洞不是“又一个Struts2漏洞”,而是权限失控的临界点S2-061(CVE-2020-17530)在2020年12月被Apache官方披露,但直到2022年中后期,我在三家不同行业的客户现场做渗透复测时,仍发现超过40%的存量Strut…...
基于RCT数据评估新模型因果效应:边界估计方法与实践
1. 项目概述与核心挑战 在医疗、金融、教育等高风险领域部署机器学习或人工智能模型时,我们面临一个根本性的难题:如何可靠地评估一个 从未在真实世界随机对照试验中测试过的新模型 的因果效应?随机对照试验是评估干预措施因果效应的黄金标…...
