登录验证机制

  为什么你不登录的时候直接访问计算账单的url,系统会自动帮你跳转到登录界面呢?因为它通过一些机制判断了你不是“登录中”的状态。 而这机制中,简单的来说就是用一个值的合法性来判定,即Cookie(假设这个系统是用的cookie校验机制,当然还有什么token之类的啦,具体看系统)

1、用户在浏览器中输入账号和密码,发起登录请求(requests);

2、服务器端收到请求,校验账号和密码的正确性。如果正确,返回一个“登录成功”的响应(response)给用户,这个response中会有一个字段Cookie;

3、然后用户之后发起的每个request中都会带上cookie这个字段;

4、服务器之后会通过这个cookie来识别这个用户,进而判断用户是否合法; 说明:有些登录是用户名和密码鉴权的 有些是登录返回的cookie或者token鉴权的 用户名鉴权在jmeter中是用HTTP授权管理器, cookie鉴权的是用cookie管理器或者信息头管理器 (Session—Cookie)

常见的解决方法有两种: 方法1:在登录请求后面加个后置处理器-->正则提取表达器,把登录后response中的cookie提取出来,然后当做一个参数塞进计算账单的Sampler中。

方法2:通过抓包等方式获取登录后的cookie,然后在线程组下面加个配置元件-->HTTP Cookie管理器,把Cookie写进去,这样这个线程组中的所有Sampler执行的时候都会带上这里面的参数。(注意cookie的有效期) 方法3:也可以用信息头管理器

cookie管理器相当于管理cookie,接受返回的cookie信息,并且转发。 header的话。比较暴力,直接把每个请求上都加上了相关的信息 

猜你喜欢

转载自www.cnblogs.com/wangjun66/p/9489367.html