一文解决Jmeter并发压测和多用户登录问题

在使用Jmeter性能测试时,首先要解决的恐怕就是并发压测和多用登录的问题。今天就直接一篇文章讲清楚这两个问题的解决方案:

多并发压测如何配置线程?

1、同时并发:设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数

例1:设置线程数:10设置执行时间:0设置循环次数:5

说明:使10个线程启动并同时运行也就是并发执行10个线程。10个线程为一个样本,每个样本循环执行5次,可用监听树查看线程组执行的效果,是10个一起出现

例2:设置线程数:10设置执行时间:20设置循环次数:5

说明:20秒使10个线程启动并运行,每个线程将在前一个线程启动后20/10秒后启动,也就是间隔2s执行一个线程。

10个线程为一个样本,每个样本循环执行5次;使用监听树可以看到,请求是有间隔的出现的

2、持续压测:设置线程组、循环次数,勾选“永远”,调度器(持续时间),这种方式可以控制压测周期时间持续压测

面试题:对登录功能进行持续24小时的压测?你打算如何处理?

调度器可以控制压测持续的时间和线程启动延迟的时间,具体如下:

图片

对标英文版本:

Loop count:forever(永远)

Duration(seconds):持续时间

Starup delay(seconds):启动延迟时间

例:设置线程数:10设置执行时间:0设置循环次数:勾选“永远”使用调度器,设置持续时间:60

说明:10个线程同时并发执行。持续循环执行60s,不限制样本数(10个线程间隔0s并发进行)

多用户登录压测参数化设置

如登录模式如下图所示,登录界面中需要输入:用户名、密码、验证码

图片

用户名以及密码均是固定值,不需要做处理。验证码需要处理一下,可以后台配置成固定值,具体可以找开发咨询。

在此场景中,我们使用JMETER进行参数化设置,完成模拟多用户登录。

1、准备好数据,多个用户名。

新建一个txt文档,里面的数据为一行一个“username,password”,中间用逗号隔开,逗号要是英文格式的哦。

图片

2、使用Jmeter打开录制好的登录内容,如果录制的脚本中在“http请求”一栏的参数中已经有参数,但值是固定的(如下图)

图片

3、然后现在想让值每次都不同,可如下操作:

在脚本的这个步骤上,右键添加--配置元件--CVS data set config,如下

图片

4、然后点击添加的cvs data,做如下配置

图片

其中,文件名为user1.txt文件存放的位置,user1.txt可先建一个文本文件,里面的数据为一行一个“username,password”,中间用逗号隔开。即步骤1中所准备的数据。

变量名可自己设定,只要后面保持一致即可,其他的按照上图设置

5、然后再http请求的参数设置处改为如下设置

图片

这就表示每个线程都从${username}和${password}中读取值,实现了不同的用户访问。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值