超详细,Jmeter性能测试-模拟100个用户并发(实战)

news2024/9/23 11:28:00

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

100个真实的用户

1、一个账号模拟100虚拟用户同时登录和100账号同时登录
区别:
1个账号100个人用,同时登录;
100个人100个账号,同时登录;

相同:
两个都是100人同时登录,具体看项目需求;

2、账号来源
利用“注册”或“创建”账号接口,创建100个用户;
“查询”接口,保存100个账号的账号、密码到一个文件;

3、提取100个账号、密码的文件

Jmeter脚本整体布局
线程组(一级)---->请求默认值、请求头、http请求、察看结果树(二级)----->正则表达式、BeanShell 后置处理程序(三级)。

HTTP请求默认值:是存放系统通用ip的位置(协议:http; 服务名称或ip:127.0.0.1);

HTTP信息头管理:接口请求之前需要带的信息,部分接口不带不能运行(Authorization、Content-Type、Accept、User-Agent),例如必须带的token就在信息头中存放;

登录请求:请求方法、请求路径、消息体;正则表达式提取token
创建请求:请求方法、请求路径、消息体;参数化用户名,创建多个用户;
查询账号:请求方法、请求路径、消息体;正则表达式提取用户名、密码;BeanShell 后置处理程序存储返回值到文件中。

请添加图片描述

查询请求中的正则表达式和BeanShell 后置处理程序
正则表达提取----->获取想要的字段内容

请添加图片描述

BeanShell 后置处理程序---->将提取到的字段内容存储在指定文件4.csv中

FileWriter fs=new FileWriter("D://近期//4.csv",true);
BufferedWriter ut =new BufferedWriter(fs);
out.write(vars.get("username")+","+vars.get("id"));    //username、id为正则定义名称
out.write(System.getProperty("line.separator"));      //相当于"\n"自动换行
out.close();
fs.close();

请添加图片描述

线程组线程数设置数目等于提取到的条数,执行脚本得到100个用户的账号和密码

请添加图片描述

100个用户同时登录

1、设置线程组
线程数:并发用户数
Ramp-up时间(秒):启动所有线程所需要的时长

0---->代表同时并发;
100---->线程数100,时间100秒。代表每隔1s启动一个线程(100/100=1)

循环次数:Loop Count
默认值是1;
2---->线程数100,循环次数2。代表启动200个线程;
勾选“永远”,会一直执行,需要人工停止,一般配合调度器使用。

请添加图片描述

2、模拟多用户登录
线程组下添加----->CSV 数据文件设置
将存储用户账号、密码的文件引入,并命名变量名称,在登录时调用。

请添加图片描述

调用,传参${name}
注释:本系统账号密码一致,所以只需要调用一列值

/api/v1/oauth/token?username=${name}&password=${name}&scope=all&grant_type=password

请添加图片描述

3、执行测试,查看结果
100用户同时登录

请添加图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

生活不会等待你,只有付出汗水和努力,才能收获辉煌;每一次跌倒都是成长的机遇,坚持不懈才能迎来辉煌的明天。相信自己,勇往直前,你定能创造属于自己的辉煌人生!

无论遇到多大困难,只要坚持奋斗,努力不懈,你就能超越自己的极限,创造属于自己的辉煌。相信你的能力,追逐你的梦想,未来的成功将属于你!

勇往直前,只有拼尽全力的奋斗,才能翻过生活的高山大海,实现自己的梦想。无论遭遇何种困难与挑战,始终相信自己的潜力与坚持,不放弃,不退缩,努力向前,必将收获辉煌的人生。

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

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

相关文章

【uniapp调用微信支付】uniapp开发小程序-调用微信支付

哈喽大家好~我是马小跳。一名进阶中的程序媛。 在这里记录下自己成长的每一次进步,希望遇到志同道合的猿友 一起努力,一起把技术up up up!!! 使用uniapp开发小程序时,调用微信支付的步骤如下: …

Web项目中耗时操作,用异步请求,减少请求等待时间,使用Redis保证操作幂等性

最近项目中碰到了一个接口需要比较耗时的操作,但是我们公司前后端交互的网关设置了超时时间。因此我需要设置出一个方案保证给用户比较快的响应,又保证任务执行了。因此我采用了,下面的操作方式。 客户端发送请求后,我会先去Redis…

MySQL数据库,创建表及其插入数据和查询数据

首先,由上图创建表 mysql> create table worker(-> dept_id int(11) not null,-> emp_id int (11) not null,-> work_time date not null,-> salary float(8,2) not null,-> poli_face varchar(10) not null default 群众,-> name varchar(20…

中文模型的奋起直追:MOSS、baichuan-7B和ChatGLM2-6B的原理、部署与微调

第一部分 复旦MOSS MOSS是复旦大学邱锡鹏团队推出的一个支持中英双语和多种插件的开源对话语言模型,moss-moon系列模型具有160亿参数,在FP16精度下可在单张A100/A800或两张3090显卡运行,在INT4/8精度下可在单张3090显卡运行 其基座语言模型…

【React笔记】react循环列表的写法

react循环的写法 简单循环输出人名简单循环输出json格式数组 简单循环输出人名 循环输出people数组中的四个人名 import ReactDOM from react-dom/client;const people [宋江,卢俊义,吴用,公孙胜 ]; const root ReactDOM.createRoot(document.getElementById(root)); root.…

深度学习入门知识总结

0、前言:学习了深度学习入门的鱼书,很多基础概念有了大概了解,及时总结,方便日后查找 1、神经网络(深度学习)的起源算法——感知机: 定义:感知机接收多个输入信号,输出一…

【C++修炼之路】33.特殊类设计

每一个不曾起舞的日子都是对生命的辜负 特殊类设计 一.设计一个类,不能被拷贝二.设计一个类,只能在堆上创建对象1. 普通类的创建对象2.只能在堆上创建对象的类 三.设计一个类,只能在栈上创建对象四.设计一个类,不能被继承五.单例模…

Flink使用总结

本文主要是为Flink的java客户端使用和flink-sql使用的大致介绍&#xff0c;具体使用查看文档页面。 java client使用 文档 Apache Flink Documentation | Apache Flink 数据处理模型 maven依赖 <?xml version"1.0" encoding"UTF-8"?> <pro…

【YOLOv8-Seg】实战二:LabVIEW+OpenVINO加速YOLOv8-seg实例分割

‍‍&#x1f3e1;博客主页&#xff1a; virobotics的CSDN博客&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f384;所属专栏&#xff1a;『LabVIEW深度学习实战』 &#x1f37b;上期文章&#xff1a; 【YOLOv8-seg】实战一&#xff1a;手把手教你使用YOLOv8实现实例分割 …

【数据分析 - 基础入门之NumPy⑥】- NumPy案例巩固强化

文章目录 前言一、NumPy基础训练1.1 创建一个长度为10的一维全为0的ndarray对象&#xff0c;并让第5个元素为11.2 创建一个元素为从10到49的ndarray对象1.3 将第2题的所有元素位置反转1.4 创建一个10*10的ndarray对象并打印最大最小元素1.5 创建一个10*10的ndarray对象&#xf…

程序设计相关概念

计算机概念 计算机是根据指令操作数据的设备。具有功能性和可编程性的特点。 功能性&#xff1a;对数据的操作&#xff0c;表现为数据计算、输入输出处理和结果存储等。 可编程性&#xff1a;根据一系列指令自动地、可预测地、准确地完成操作者的意图。 计算机的发展 计算机…

【LVS负载均衡集群】

文章目录 一.什么是集群1.集群的含义 二.集群使用在那个场景三.集群的分类1.负载均衡器集群2.高可用集群3.高性能运算集群 四.负载集群的架构1.第一层&#xff0c;负载调度器2.第二层&#xff0c;服务器池3.第三层&#xff0c;共享存储 五.负载均衡集群的工作模式1.地址转换 &a…

Unity减少等待快速进入运行

我们平时播放时一旦修改了c#的脚本总要加载进行等待&#xff0c;网上也缺乏如何设置&#xff0c;以及为什么&#xff1f;这样做可以达到这样的效果。 ------如何设置&#xff1f;【默认并不会开启】 Edit->Project Settings->Editor->Enter Player Mode Options 这样…

企业为什么要做自动化测试?如何成功实施自动化测试?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 企业为什么需要自…

【LeetCode热题100】打卡第33天:环形链表LRU缓存

文章目录 【LeetCode热题100】打卡第33天&#xff1a;环形链表&LRU缓存⛅前言 环形链表&#x1f512;题目&#x1f511;题解 LRU缓存&#x1f512;题目&#x1f511;题解 【LeetCode热题100】打卡第33天&#xff1a;环形链表&LRU缓存 ⛅前言 大家好&#xff0c;我是知…

C++ 实现生产者消费者模型 (线程同步、互斥锁、条件变量锁)详细注释

代码结构 任务&#xff1a;这里用一个int类型的taskNumber代替任务任务队列类&#xff1a;封装了任务队列&#xff0c;存&#xff0c;取等操作。生产者工作函数&#xff1a;生产者执行的函数&#xff0c;向任务队列中添加任务&#xff0c;每个生产者生产3个任务消费者工作函数…

脱离产品怎么可能完成测试?

“脱离应用场景谈技术毫无意义”。其实很多东西都是如此&#xff0c;这个有点哲理的味道了。我们是做engineering&#xff0c;软件工程也是工程&#xff0c;工程的特点就是不能停留在理论和方法&#xff0c;最后要做出东西来&#xff0c;软的也好&#xff0c;硬的也好。 人有…

爬虫反反爬

目录 为什么要反爬&#xff1f; 经常被反爬的主要人群 常见的反爬策略 通过headers字段来反爬 通过headers中的User-Agent字段来反爬 通过referer字段或者是其他字段来反爬 通过cookie来反爬 通过请求参数来反爬 通过从html静态文件中获取请求数据(github登录数据) 通…

【Go】vscode 安装go环境gopls失败

项目场景&#xff1a; 想要在VSCode安装go环境&#xff0c;但是gopls下载失败&#xff0c;导致vscode无法使用language server 问题描述 自动下载失败&#xff0c;在打开命令面板&#xff08;CtrlshiftP&#xff09;之后&#xff0c;输入go install/update 下载也失败 $ g…

并发编程 - Event Bus 设计模式

文章目录 Pre设计CodeBus接口自定义注解 Subscribe同步EventBus异步EventBusSubscriber注册表RegistryEvent广播Dispatcher 测试简单的Subscriber同步Event Bus异步Event Bus 小结 Pre 我们在日常的工作中&#xff0c;都会使用到MQ这种组件&#xff0c; 某subscriber在消息中间…