在使用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}中读取值,实现了不同的用户访问。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取