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…

Python3 笔记:math模块

要使用 math 函数必须先导入math模块 语法:import math Python math 模块提供了许多对浮点数的数学运算函数。 math 模块下的函数,返回值均为浮点数,除非另有明确说明。 如果需要计算复数,需使用 cmath 模块中的同名函数。 m…

【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…

vb.net,C#强制结束进程,“优雅”的退出方式

在VB.NET中,Application.Exit()和Environment.Exit(0)都用于结束程序,但它们的使用场景和背后的逻辑略有不同。 **Application.Exit()**: Application.Exit()通常用于Windows Forms应用程序中。当调用Application.Exit()时,它会触…

cocos 屏幕点击坐标转换为节点坐标

let scPos event.getLocation(); let camera find(Canvas/Camera).getComponent(Camera).screenToWorld(new Vec3(scPos.x,scPos.y,0));//摄像机 let p this.node.getComponent(UITransform).convertToNodeSpaceAR(camera);//this.node为指定的节点为原点(0,0&…

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…

Unix环境高级编程--8-进程控制---8.7函数waitid 8.8函数wait3 wait4

1、Single Unix Specification支持一个取得进程终止状态的函数--waitid,此函数类似于waitpid: pid_t wait(int *status); pid_t waitpid(pid_t pid, int *status, int options); int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options); …

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

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

【axios】的浅度分析

一、Axios的拦截器能干些什么? Axios拦截器的实现原理主要涉及两个方面:请求拦截器和响应拦截器,它们分别在请求发送前和响应返回后进行预处理和后处理。 Axios内部维护了两个数组,一个用于存储请求拦截器,另一个用于…

数据库基础+增删查改初阶

数据库基础增删查改初阶 一。数据库操作 1.概念: 一个mysql服务器上有很多的表,把有关系的表放在一起就构成了一个数据集合,此时称为“数据库”,一个mysql1服务器上可以有多个这样的数据库 2.创建数据库: create …

稳住!一招制胜:打造JavaScript防抖函数的终极指南【含代码示例】

稳住!一招制胜:打造JavaScript防抖函数的终极指南【含代码示例】 防抖函数:概念与作用基础实现:案例一简单防抖函数使用示例 进阶功能:案例二 - 立即执行版本性能优化与安全考量实战技巧与问题排查实际问题与解决方案结…

基于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…

现代操作系统上创建各类链接的方法汇总

文章目录 现代操作系统上创建各类链接的方法汇总windows: cmd下的mklink创建链接示例 powershell 创建链接创建常规文件和目录创建链接 linux shell 创建硬链接NAMESYNOPSIS详细说明常用选项示例 检查与辨识符号链接🎈linux下检查ls -l 命令file 命令 windows下检查…