jmeter多用户并发登录教程

有时候为了模拟更真实的场景,在项目中需要多用户登录操作,大致参考如下

jmx脚本:百度网盘链接
提取码:0000

一: 单用户登录

先使用1个用户登录(先把1个请求调试通过)

  1. 发送一个登录请求,线程数:1,时间:1,循环次数:1
    在这里插入图片描述
  2. 启动后查看返回结果,查看返回登录成功后 OK
    (为什么请求1次返回3个结果呢,这个项目对登录接口做了重定向2次,既先使用get自动请求网站1次获取sessionid)
    再通过HTTP Cookie管理器自动获取到sessionid进行登录

在这里插入图片描述

  1. 设置多个线程数进行登录(线程组设置-线程数:10,时间:1,循环次数:1),给登录加一个断言
    在这里插入图片描述
    在这里插入图片描述

  2. 执行后查看结果,有的请求会被挤下线,被挤出来的没有对服务器造成任何压力
    在这里插入图片描述
    这里涉及到多点登录限制------浅谈一下多点登录和单点登录的区别
    多点登录:同一账号可以在不同终端同时登录,同时收发信息
    多点登录原则:多点登录限制(禁止用户多点在线):一个端同一个账号只能登录一个实例,例如一个账号在网站端登录后,后一个人使用这个账号在网站端登录,前一个人会被挤下去并会收到通知“你已在别处登录…”
    单点登录:指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的系统。简而言之,多个系统,统一登陆。
    最简单的单点登录实现方式,用cookie作为媒介存放用户凭证。 用户登录系统之后,会返回一个加密的cookie,当用户访问子应用的时候会带上这个cookie,授权以解密cookie并进行校验,校验通过后即可登录当前用户。
    依豆瓣网站电影Top250为例:https://movie.douban.com/top250?start=
    豆瓣旗下有:读书、音乐、同城、阅读、FM等等
    简单理解:就是如果登录了豆瓣,如果还需要访问子应用,就不需要再次使用账号了,可以直接访问

优化,单用户请求过多会被挤下线,而且和想要的测试也不一样,帐号提前在数据库创建,然后使用CSV元件引如

二、多用户登录实现1
  1. 在当前线程组下添加CSV数据文件设置,文件名:你准备的txt帐号和密码文件,文件编码UTF-8,其他可默认
    在这里插入图片描述
  2. 登录接口引入CSV变量,然后线程组内的设置不变,继续执行
    在这里插入图片描述
  3. 查看多用户请求结果,从断言上看没有报错,就是全部10个帐号都登录成功了
    在这里插入图片描述
三、多用户登录实现2
  1. 既然项目是先获取sessionid的,那么先请求一次,添加1个登录前请求(主要是获取返回的sessionid)
    在这里插入图片描述

  2. 给登录前接口加一个正则表达式(主要是来提取sessionid)
    在这里插入图片描述

  3. 给登录接口添加一个HTTP信息头管理器,添加一个cookie参数
    在这里插入图片描述

  4. 给登录接口添加断言,和上面一致
    在这里插入图片描述

  5. 先跑1个请求,线程组和上面设置一样,返回登录成功的数据
    在这里插入图片描述
    跑多个账户登录

  6. 添加一个CSV,设置和上面的一致
    在这里插入图片描述

  7. 更改线程组:线程数10,时间1s,循环1
    在这里插入图片描述

  8. 设置登录参数变量
    在这里插入图片描述

  9. 启动查看结果,从01帐号到10帐号登录成功
    在这里插入图片描述

扩展: 模拟真实场景(1个用户可以搜索N次),增加一个搜索请求
  1. 添加一个仅1次控制器,把登录前和登录接口加入到仅一次控制器
    在这里插入图片描述
  2. 线程组设置: 线程数:2 时间:1s 循环:永远, 持续时间:2s
    在这里插入图片描述
  3. 搜索请求添加一个信息头管理器
    在这里插入图片描述
  4. 发送请求,查看结果(除了登录前和登录接口请求3次意外,其他的都是搜索请求,有可能是用户1或用户2或用户3的搜索了很多次)
    在这里插入图片描述

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

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

相关文章

贪心(临项交换)+01背包,蓝桥云课 搬砖

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 0搬砖 - 蓝桥云课 (lanqiao.cn) 二、解题报告 1、思路分析 将物品按照w[i] v[i]升序排序然后跑01背包就是答案 下面证明:(不要问怎么想到的,做题多了就能想到&#xff…

AVB协议分析(一) FQTSS协议介绍

FQTSS协议介绍 一、AVB整体架构二、概述三、协议作用及作用对象四、协议的实现五、参考文献: 一、AVB整体架构 可见FQTSS位于MAC层的上面,代码看不懂,咱们就从最底层开始,逐层分析协议,逐个击破,慢就是快。…

基于GO 写的一款 GUI 工具,M3u8视频下载播放器-飞鸟视频助手

M3u8视频下载播放器-飞鸟视频助手 M3u8视频飞鸟视频助手使用m3u8下载m3u8 本地播放 软件下载地址m3u8嗅探 M3u8视频 M3u8视频格式是为网络视频播放设计,视频网站多数采用 m3u8格式。如腾讯,爱奇艺等网站。 m3u8和 mp4的区别: 一个 mp4是一个…

【PB案例学习笔记】-12秒表实现

写在前面 这是PB案例学习笔记系列文章的第11篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…

【2.文件和目录相关(下)】

一、查看文件内容命令 1、cat 文件名:用于显示文件内容,比如 cat test.c。 (1)cat -b test.c 表示加行号显示文件内容。 (2)cat -s test.c 表示多个空行合并成一个空行显示。 2、nl 文件名:…

2024 京麟ctf -MazeCodeV1

文章目录 检查代码思路一个字节的指令注意附上S1uM4i佬们的exp https://www.ctfiot.com/184181.html 检查 代码 __int64 __fastcall check_solve(char *a1) {__int64 result; // rax__int64 v2; // rax__int64 index_step; // rax__int64 v4; // rax__int64 v5; // rax__int64…

MVC架构中的servlet层重定向404小坑

servlet层中的UserLoginServlet.java package com.mhys.servlet; /*** ClassName: ${NAME}* Description:** Author 数开_11* Create 2024-05-29 20:32* Version 1.0*/import com.mhys.pojo.User; import com.mhys.service.UserService; import com.mhys.service.impl.UserSer…

MySQL之创建高性能的索引(六)

创建高性能的索引 选择合适的索引列顺序 当使用前缀索引的时候,在某些条件值的基数比正常值高的时候,问题就来了。例如,在某些应用程序中,对于没有登录的用户,都将其用户名记录为"guest",在记录…

基于python flask的旅游数据大屏实现,有爬虫有数据库

背景 随着旅游行业的快速发展,数据在旅游决策和规划中的重要性日益凸显。基于 Python Flask 的旅游数据大屏实现研究旨在结合爬虫技术和数据库存储,为用户提供全面、实时的旅游信息展示平台。 爬虫技术作为数据采集的重要手段,能够从各种网…

错误记录:从把项目从Tomcat8.5.37转到Tomcat10.1.7

错误信息:在本地Servlet项目里没有报错,但是浏览器跳转该servlet时报错 型 异常报告 消息 实例化Servlet类[com.wangdao.lx.MyServlet1]异常 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 jakarta.servlet.ServletExceptio…

Generative Action Description Prompts for Skeleton-based Action Recognition

标题:基于骨架的动作识别的生成动作描述提示 源文链接:https://openaccess.thecvf.com/content/ICCV2023/papers/Xiang_Generative_Action_Description_Prompts_for_Skeleton-based_Action_Recognition_ICCV_2023_paper.pdfhttps://openaccess.thecvf.c…

解决文件传输难题:如何绕过Gitee的100MB上传限制

引言 在版本控制和代码托管领域,Gitee作为一个流行的平台,为用户提供了便捷的服务。然而,其对单个文件大小设定的100MB限制有时会造成一些不便。 使用云存储服务 推荐理由: 便捷性:多数云存储服务如: Dro…

零基础学习图生图

目录 一、图生图是什么二、安装秋叶整合包2.1 秋叶包安装2.2 秋叶包拓展安装:2.3 ckpt配置:2.4 界面常用功能配置: 三、图生图基本功能展示3.1 图生图的界面3.2 重要的参数设置:3.3 涂鸦功能3.4 局部重绘功能3.5 涂鸦重绘3.6 上传…

网络智能化的发展对仿真环境的需求

1. 网络智能化背景介绍 1.1 什么是网络智能化 网络智能化是指利用人工智能(AI)、机器学习(ML)、优化算法等技术来实现网络的信息化、自动化和智能化。相对5G、6G、算力网络等领域,网络智能化是针对网络全场景、全要素…

使用C语言openssl库实现 RSA加密 和 消息验证

Q:什么是RSA? A:RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,是最早的一种用于公开密钥加密和数字签名的算法。它使用一对公钥(public key)和私钥(private key&…

IEEE Latex模版踩雷避坑指南

参考文献 原Latex模版 \begin{thebibliography}{1} \bibliographystyle{IEEEtran}\bibitem{ref1} {\it{Mathematics Into Type}}. American Mathematical Society. [Online]. Available: https://www.ams.org/arc/styleguide/mit-2.pdf\bibitem{ref2} T. W. Chaundy, P. R. Ba…

基于 FastAI 文本迁移学习的情感分类(93%+Accuracy)

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…

[vue3后台管理二]首页和登录测试

[vue3后台管理二]首页和登录测试 1 修改main.js import ./assets/main.cssimport { createApp } from vue import App from ./App.vue import router from ./router createApp(App).use(router).mount(#app)2 路由创建 import {createRouter, createWebHistory} from vue-ro…

计算机网络学习笔记——运输层(b站)

目录 一、 运输层概述 二、运输层端口号、复用与分用的概念 三、UDP和TCP的对比 四、TCP的流量控制 五、TCP的拥塞控制 六、TCP超时重传时间的选择 七、TCP可靠传输的实现 八、TCP报文段的首部格式 一、 运输层概述 物理层、数据链路层、网络层实现了主机到主机的通信…

剪映网页版

https://www.capcut.cn/web 免费,免安装,跨平台,视频云合成,简直太好用了!