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

软件还得用芯学 2024-07-12 16:14:41

在使用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}中读取值,实现了不同的用户访问。

0 阅读:0

软件还得用芯学

简介:感谢大家的关注