软件测试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命令分类及其示例,但请注意,这不是一个全面的列表,因为列出所有命令…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...