(未解决)记录一次登录&jmeter,留下的一地鸡毛

  一般的登录校验过程是这样的:客户端发起请求,拿到服务器给的“令牌”,再次发起请求,服务器验证“令牌”是否正确,从而返回给客户端是登录成功还是登录失败。然后我按照这个流程,用jmeter去模拟了登录过程,如下,出了点小问题:

这个登录请求返回了三个response,一二的http status都是302,第三个是200。我刚开始以为是开发在后台加的阿里云无痕验证影响了(因为之前的登录传个cookie就可以绕过的),然后让开发在dev环境去掉无痕验证,问题还是没解决。看到这两个302,我很忧桑,然后就一直试图去抓包理解这个登录的过程,最后得到了以下的猜测:

这么一个过程是发生在一个request里面的。根据以上的猜测,我在线程组中加上一个cookie管理器,在模拟登录操作,如下:

这证明模拟登录是成功了(侧面证明涉及到接口的时候,了解系统架构和业务是件多么重要的事情╮(╯▽╰)╭)。

  那么接下来还有一个问题,我接下来要做客户查询的接口压测(需要先登录),如果我按照平时的来做,只把cookie加上,然后去请求客户查询的接口,还是未登录的状态,只有在加上登录接口之后,才能跑通查询的接口,即:

但是这样就不符合实际使用场景了,压测毫无意义,然后我就卡在这了。后面我试着转换下,用其他的东西加cookie去跑这个查询接口。不出所料,我用python requests和postman都只需要加上cookie,然后就可以调用这个查询接口了,我心中一万头神兽奔腾而过......

  最后,截止目前,我还是没处理掉这个问题,我不知道是jmeter工具本身的瑕疵问题,还是我个人理解有问题,或者我们系统登录的校验还涉及到JS层面,亦或是其他等等,反正我是给它跪了,留待后续解决了,此文记录之。

———为梦想灼伤了自己,也不要平庸的喘息

原文地址:https://www.cnblogs.com/zichuan/p/9481800.html