关于Jmeter的学习笔记

在使用过Postman之后,我发现他并不能很好的满足并发测试,因此我使用Jmeter来进行并发接口的测试,主要测试并发操作下,是否正确处理商品库存逻辑

2023/11/29

使用Jmeter来进行接口并发测试

在官方下载Jmeter然后配置好Jmeter之后,我们打开Jmeter界面

那么如何测试接口?

首先,我们的项目中是带有session验证的,所以我们不可能绕过登录页面来进行其他接口的访问

所以要完成将商品添加购物车逻辑的测试,应该同时发送两个请求,一个是登录请求,一个是添加购物车请求,具体页面如下:

让我们来进行每个页面的介绍

1.添加线程组

要进行接口测试,我们首先添加一个线程组,配置线程数,本次我想要模拟两个用户登录,因此选择2;配置Ramp-Up时间,这个指的是两个线程之间的时间间隔,因为我要模拟并发,所以间隔为0,同时进行,循环次数 1次

2.添加HTTP请求默认值

本页面,是为了方便我们进行接口测试,不用每次都写前缀,如图我的默认地址为http://localhost:8080/

3.csv数据文件配置

因为我要使用不同的用户登录,所有我需要录入账号密码,选择你的csv文件,然后配置变量名,我这里是username,password

csv文件内容直接写两列即可

4.HTTP Cookie管理器

 这个无需任何配置,只需要添加即可,作用是自动管理你登录后获得的session,如果不加这个,那么你的login请求和接口请求是没有任何联系的,加了之后,接口请求就会带上你login获得的session

5.login请求

使用用户登录我们的网页,我使用的post带参数的方法,如果是json就需要去消息体数据里面写了,因为之前我们使用的用户配置文件来加载账户密码,所以参数的value是${username},${password},这样jmeter会自动加载我们配置文件里的账号密码

6.固定定时器

因为在项目开发过程中,我设置了秒杀需要等待10s中才可以添加购物车,所以这里添加一个固定定时器,等待10s

7.添加购物车请求

这里到了我们真正的接口测试了,我想要将库存为1的商品利用两个进程同时加到他们各自的购物车里面,这里传递一个id和num的参数,两个进程来抢占这个库存余量

8.查看结果树

我们点击运行按钮后,在这里查看运行的结果,无需任何配置

结果分析:我们可以看到,两个进程同时运行的情况下,都抢占到了最后一个库存,成功加入到了购物车,因为我们的controller中没有添加事务注解,而在没有开启事务的情况下,mysql的默认隔离级别为可重复读,也就是说,进程刚开始读取到的数据直到进程结束都不会改变,所以两个进程都读到了库存为1的商品数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值