(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

news2025/3/18 2:49:49

目录

性能测试工具

性能测试工具

jemeter环境搭建

jmeter的常用目录介绍

jmeter修改语言和主题--jmeter界面的汉化

jmeter元件 

jmeter元件和组件的介绍

jmeter的作用域原则

jmeter的执行顺序

案例:执行顺序

jmeter使用案例

jmeter线程组的介绍

jmeter线程组的参数介绍

http取样器参数详解

jemter参数化

参数化的介绍

用户定义的变量

用户参数

CSV数据文件设置

counter函数


现在有两款主流的性能测试工具

性能测试工具

性能测试工具

loadrunner存在我们需要的各种数据指标

loadrunner和jmeter是两款主流的性能测试工具  loadrunner支持的协议比较多 这个工具是使用c编写的 可以让每次发出去的请求都使用不同的ip发出去

缺点就是比较贵 限制使用用户和使用协议 需要支付一定的费用 

在现在很大的企业是会使用的 安装包就比较大 小公司是不会使用的

jemeter是使用千为单位的 

jemeter的所有的功能在loadrunner上都能找到原型  界面是不一样的 是比较开源的   支持的比较多 免费 内存较小 

具有较多的功能组件  不存在ip欺骗 

性能测试的目的:评估当前系统能力 定位系统的性能瓶颈,优化性能 预估对未来的业务的支持情况

jemeter环境搭建

jmeter是Java写的,所有用Java写的必须安装jdk,只有这样才可以运行

安装目录不能出现空格和中文

jmeter的版本要和jdk的版本是匹配的

.bat后缀是Windows下的正常的执行程序 另一种是exe文件

jmeter的常用目录介绍

bin目录:存放可执行文件和配置文件

docs:提供二次开发的文档  用于开发扩展组件 因为jmeter本身就是开源

lib里面存放的就是第三方库  lib中的ext存放的是第三方jar包

jmeter修改语言和主题--jmeter界面的汉化

修改语言:

但是这个并不是永久性的,永久性的要在bin目录中修改配置文件

打开软件:

cmd中直接输入jmeter就可以直接打开

bin目录中有一个启动文件:也可以在这里直接打开

使用配置文件进行修改

修改的时候,去掉注释 然后修改语言

jmeter元件 

jmeter元件和组件的介绍

 元件:一个一个的类 右键添加线程组

线程组就相当于用户  线程组就是用户的意思  因为脚本是用户的意思

右击取样器--用来发送请求 这个就相当于是request

逻辑控制器--控制语句的执行顺序 if else for

前置处理器--对请求参数进行预处理           后置处理器就是对响应结果进行处理

断言:检查接口返回的结果与预期结果是否一致

sleep就是等待

监听器就是查看日志 

元件就是容器的集合 组件就是方法  jdbc就是连接数据库的请求  

jmeter的作用域原则

作用域就是作用范围

jmeter的执行顺序

不同元件的执行顺序按照脚本的写作顺序来执行

写脚本的第一步就是初始化数据--  

同一作用域下的执行顺序是按照作用来排序

定时器永远都在取样器的前面  监听器用来看结果

若是在同一个作用域下有多个相同类型的元件:按照从上往下的顺序进行

案例:执行顺序

分析下面的执行顺序:

其中的定时器1每次都要执行一次  当父节点不是取样器的时候,对父节点下的所有子节点都要起作用

最先执行的是定时器1--http请求1--定时器1--定时器2--http请求2--定时器1--定时器3--http请求3

jmeter使用案例

jmeter线程组的介绍

当用户量很大的时候就可以做性能测试了

特点:可以模拟多人操作 多个线程组可以一起来运行  一个用例就是一个线程组  一个线程组作为一个测试脚本  

测试脚本可以串行和并行 取样器和逻辑控制器必须依赖线程组才能使用

分类:前置处理setup和后置处理

百度京东淘宝属于是并行 qq和搜狐分别位于首尾

setup:前置处理以及初始化的操作

线程数就是虚拟用户数

线程组就是模拟用户 支持多用户操作  多个线程组之间可以串行执行,也可以并行执行

jmeter线程组的参数介绍

为了更好的模拟用户的使用情况  可以虚拟用户启动所需要的时间

线程数就是用户数 

循环次数为永远就是一直在运行

下面的要想生效 就必须勾选调度器  设置等待时间

模拟十个用户并行执行: 5s内启动完成

jmeter是以毫秒为单位的

性能测试就是大量的数据请求

负载测试就是一组一组往上加

性能就是研究大量的数据请求

压力测试 负载测试测试的时间长差不多两个小时 稳定性测试12h

http取样器参数详解

get在path路径中进行传输 也可以在参数列表当中,以键值对的方式进行传输

post只能添加form类型的

响应结果显示乱码:修改配置文件:bin目录下

jemter参数化

参数化的介绍

参数化:使用参数的方式来替代脚本中的固定的测试数据

参数化的形式:实现方式:参数替代脚本---文件定义的方式 数据库的方式参数化

代码:定义变量--参数化  函数传参--参数化

文件定义:实际使用不多 注册登录 添加 测试数据都是固定的情况下 

定义变量多

数据库的方式和函数的方式比较多 适合业务需要

参数化!=文件定义

用户定义的变量

用户定义的变量作为全局参数使用  只要是定义的都是全局变量,不作为局部变量所使用

第一步先添加线程组,所有的脚本都加在线程组下面

第二部添加用户定义的变量

以英文作为变量

添加http请求,应用变量名 和postman很像:一个大括号,前面加一个$

最后查看结果树

因为协议是默认的,所以就是默认的

上面这个就是用来定义全局变量的!!!只要是全局的时候就可以使用了

用户参数

这里多加了一个用户参数!:::

可以添加变量和用户,左边是变量,右边是用户

因为只有张三和李四,所以线程组是2 线程数就设置为2

路径加上/S就不会有重定向

将线程组置为2,查看结果树中直接查看响应结果,有2个http请求,分别是张三和李四

CSV数据文件设置

添加CSV文件设置:

配置文件名:CSV文件

编码格式统一

变量名称:需要读取,存在临时变量

是否忽略首行:第一行是名字写在上面 不是就false:不忽略

以XXX方式进行分割

练习:

添加线程组,次数是3 添加3次循环

添加CSV数据文件设置

counter函数

 当CSV文件当中的数据比较大的时候,十万及以上数据,jemeter就崩了

所以当数据较多,函数就会起到很大的效果

counter函数,保证每次取得的数据是不一样的

函数:可以执行统计的次数  

true就是分开计数

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

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

相关文章

Java 大视界 -- 基于 Java 的大数据实时流处理中的窗口操作与时间语义详解(135)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

数据库的基本知识

目录 一、创建数据库和数据表1.1 创建数据库相关代码1.2 创建数据表1.3 约束条件1.3.1 主键约束1.3.2 非空约束1.3.3 唯一性约束1.3.4 默认约束1.3.5 自增字段 1.4 手工建表 二、数据查询功能2.1 sql 查询的7个关键词2.1.1 select2.1.2 from2.1.3 where2.1.4 group by2.1.5 hav…

失败的面试经历(ʘ̥∧ʘ̥)

一.面向对象的三大特性 1.封装:将对象内部的属性私有化,外部对象不能够直接访问,但是可以提供一些可以使外部对象操作内部属性的方法。 2.继承:类与类之间会有一些相似之处,但也会有一些异处,使得他们与众…

Android 7 及以上夜神模拟器,Fiddler 抓 https 包

文章目录 问题描述解决方案环境准备操作步骤1、导出 Fiddler 证书并修改成 .pem 和 .0 文件2、修改夜神模拟器配置3、打开夜神模拟器设备的 USB 调试选项4、将0725b47c.0证书放入夜神模拟器系统证书目录5、夜神模拟器 cmd 环境配置6、给 0725b47c.0 证书赋予权限7、打开 fiddle…

全国医院数据可视化分析系统

【大数据】全国医院数据可视化分析系统 (完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 🏥 项目名:医疗导航神器!——《基于大数据的微医挂号网医院数据可视…

音视频入门基础:RTCP专题(1)——RTCP官方文档下载

一、引言 实时传输控制协议(Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP)是实时传输协议(RTP)的一个姐妹协议。RTCP由《RFC 3550》定义(取代废弃的《RFC 1889》)。RTP使用一个…

蓝桥杯专项复习——结构体、输入输出

目录 结构体&#xff1a;排序 输入输出 结构体&#xff1a;排序 [NOIP2007]奖学金 #include<iostream> #include<cstring> #include<algorithm>using namespace std;const int N310; int n;struct Student {int chinese,math,eng,sum;int idx; }Stu[N];//定…

工作记录 2017-01-06

工作记录 2017-01-06 序号 工作 相关人员 1 协助BPO进行Billing的工作。 修改CSV、EDI837的导入。 修改邮件上的问题。 更新RD服务器。 郝 修改的问题&#xff1a; 1、 In “Full Job Summary” (patient info.), sometime, the Visit->Facility is missed, then …

LLM(2):准备构建 LLM

在了解大语言模型一文中&#xff0c;对 LLM 做了初步介绍&#xff0c;本文接续前一篇文章的内容&#xff0c;简要介绍 LLM 的应用和构建过程。 1.2 LLM 的应用 由于大型语言模型&#xff08;LLMs&#xff09;在解析和理解非结构化文本数据方面具备先进能力&#xff0c;它们在…

pytest+allure+jenkins

本地运行参考&#xff1a;pytestallure 入门-CSDN博客 jenkins运行如下&#xff1a; 安装插件&#xff1a;allure 配置allure安装目录 配置pytest、allure 环境变量 配置流水线 进行build,结果如下 ,点击allure report 查看结果

【linux篇】--linux常见指令

文章目录 一、Linux基本概念 二、Linux入门 1.目录结构 2.Linux命令 *Linux基础命令 ls命令的选项&#xff1a; 3.目录切换相关命令&#xff08;cd & pwd) 4.相对&绝对路径和特殊路径符 4.1相对路径 4.2绝对路径 4.3 你特殊路径符 5.创建目录命令&#xff08;mkdir) 6.…

Kubernetes的组成和架构

Kubernetes&#xff08;K8s&#xff09;是一个开源的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序。它由多个组件组成&#xff0c;这些组件可以分为两类&#xff1a;控制平面&#xff08;Control Plane&#xff09;组件和节点&#xff08;Node&#xff0…

Android之RecyclerView列表拖动排序

文章目录 前言一、效果图二、实现步骤1.xml布局2.activity代码3.adapter 总结 前言 随着需求的变化&#xff0c;很多地方需要加拖动改变顺序的需求&#xff0c;用RecyclerView就可以实现列表拖动排序&#xff0c;列如像朋友圈图片拖动排序&#xff0c;或者音乐播放器列表拖动排…

C# WPF 基础知识学习(一)

一、WPF 简介 Windows Presentation Foundation&#xff08;WPF&#xff09;是微软推出的一款用于构建用户界面的框架&#xff0c;它为开发 Windows 桌面应用程序提供了统一的编程模型、语言和框架。WPF 将用户界面的设计与业务逻辑分离开来&#xff0c;采用了 XAML&#xff0…

MATLAB基于ResNet18的交通标志识别系统

1. 数据准备 数据集&#xff1a;该数据集包含了大量标注好的交通标志图片&#xff0c;每类标志都有不同的样本。数据预处理&#xff1a;图像需要进行一些基本的预处理&#xff0c;如调整大小、归一化等&#xff0c;以适应ResNet18的输入要求。 2. 网络设计 使用MATLAB自带的…

CSS3-流星雨

1. 绘制标签 <div class"container"><span></span> </div>2. 设置div背景 在百度上搜索一幅星空的图片 <style>* {/* 初始化 */margin: 0;padding: 0;}body {/* 高度100% */height: 100vh;/* 溢出隐藏 */overflow: hidden;}.contai…

数学建模 第一节

目录​​​​​​ 前言 一 优化模型的类型 二 线性规划1 线性规划2 三 0-1规划 总结 前言 数学建模主要是将问题转化为模型&#xff0c;然后再以编程的形式输出出来 算法都知道&#xff0c;数学建模也需要用到算法&#xff0c;但是不是主要以编程形式展示&#xff0c;而是…

平方矩阵问题

Ⅰ 回字形二维数组 #include <iostream> #include <iomanip> using namespace std; int main(){int n;while(cin>>n,n){for(int i0; i<n;i){for(int j0; j<n; j){int upi, downn-i1, leftj, rightn-j1;cout<<min(min(up,down),min(left,right)…

自动化立体仓库堆垛机HMI屏幕程序施耐德HMIGXU系列 Vijeo Designer功能设计

堆垛机HMI屏幕功能概况 在自动化立体仓库堆垛机的HMI屏幕程序里,有着施耐德HMIGXU系列Vijeo Designer功能设计。此HMI程序运用标准的工程组织结构,凭借拖拽方式迅速构建人机交互界面。 其主要功能涵盖:设备参数、设备状态、手动/自动操作控制、报警显示、IO信息监控等模块…

实验- 分片上传 VS 直接上传

分片上传和直接上传是两种常见的文件上传方式。分片上传将文件分成多个小块&#xff0c;每次上传一个小块&#xff0c;可以并行处理多个分片&#xff0c;适用于大文件上传&#xff0c;减少了单个请求的大小&#xff0c;能有效避免因网络波动或上传中断导致的失败&#xff0c;并…