起因:
之前为了偷懒我token都是直接在页面登录一个用户然后直接把token放进去,果不其然我踩雷了,token时效我们设置的是30分钟,压着压着我的token就失效OMG,然后我意识到这种行为不太好,我决定认真的写了一个登录接口通过正则去把token提出来
照例我要放一个参考的blog:我觉得大佬的处理方式是我在一众blog里看到的最好的方式
jmeter登录接口获取token及token过期问题解决_beishida123的博客-CSDN博客_jmeter的token失效怎么办问题一、如何获取token问题解决:登录完成后,通过json提取器获取问题二、多线程组参数如何传递问题解决:添加一个beanshell后置处理程序,并通过函数设置全局变量:KaTeX parse error: Expected group after '_' at position 2: {_?_setProperty(to…{token},)}获取全局变量token问题三、因为token会过期,所以需要每过一段时间执行一次登录接口问题解决:通过添加测试活动,来暂停运行线程。例如下图,则是https://blog.csdn.net/beishida123/article/details/120343402/*当然我遇到了问题,我不知道加了测试活动的那个线程组咋配,我私聊大佬但是说了三句废话,然后试图通过留言评论让大佬注意到我,也不知道他能不能看见。 */
我自己悟了一下那个线程组的配法
解决:
思路:?
1.首先要通过登录接口拿到token
2.其次要把拿到的token作为变量传到HTTP信息头管理器里面,思考或者观察压测大概要压多少时间,如果压测时间过长的话需要去找开发问一下token/session设置的失效时间
3.如果时间比较短且确保这段时间token不会过期,那就直接在线程里设置一个仅一次控制器把登录接口放在里面,然后拿token放token
4.如果测试时间比较长觉得token可能会过期的话,那除了在当前线程组里添加一个仅一次控制器拿登录接口的token之外,还需要另外创建一个专门的线程组去拿token
5. (承接4)当前线程组添加仅一次控制器是为了确保跑请求的时候一定能拿到token,不会影响到接口执行,另外开一个线程拿接口,设置测试活动或者固定定时器,设置时间间隔,如果token是30分钟过期那25分钟左右拿一次token(当然也可以30分钟)。
? 要另开一个线程去拿token的原因是登录的请求量不会很频繁,比如你要测的查询接口压着压着可? ?能请求数就到10w个了,如果你把登录接口也放线程里,那么登录接口也会执行那么多次,你将会拿到非常多的token,服务器会出问题的
6.? (承接5)配置
??
|