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的搜索了很多次)
    在这里插入图片描述
JMeter中进行多用户并发测试可以通过配置线程组来实现。线程组是定义并发用户的地方,你可以设置线程数、线程启动延迟、循环次数等参数以模拟多个用户同时访问系统。 以下是进行多用户并发测试的步骤: 1. 创建测试计划:在JMeter中,你需要创建一个测试计划。右键点击测试计划 -> 添加 -> Threads(Users)-> 线程组。 2. 配置线程组参数:选中线程组,右键点击 -> 添加 -> Config Element -> HTTP Cookie Manager(如果需要管理Cookie)和HTTP Cache Manager(如果需要模拟缓存)。 3. 添加Sampler:选中线程组,右键点击 -> 添加 -> Sampler -> HTTP Request(用于发送HTTP请求)或其他类型的Sampler。 4. 设置Sampler参数:在Sampler中,你可以设置请求的URL、请求方法、参数、头部信息等。 5. 添加断言:选中Sampler,右键点击 -> 添加 -> Assertions -> Response Assertion(用于验证响应内容)或其他类型的断言。 6. 添加监听器:选中线程组,右键点击 -> 添加 -> Listener -> 聚合报告或其他类型的监听器。监听器用于收集和展示测试结果。 7. 配置并发用户数:选中线程组,设置“Number of Threads(users)”参数为你想要模拟的并发用户数。 8. 配置循环次数:选中线程组,设置“Loop Count”参数为每个用户执行请求的次数。 9. 运行测试:点击工具栏上的运行按钮(绿色三角形按钮)来开始运行测试。你可以在监听器中查看测试结果。 10. 分析结果:根据监听器中的结果,你可以分析系统的性能情况,如响应时间、吞吐量等。根据结果进行优化和调整。 通过配置合适的线程组参数和Sampler,你可以实现多用户并发测试。记得根据被测试系统的实际情况和性能需求来设置合理的并发用户数和循环次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值