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

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

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

这证明模拟登录是成功了(侧面证明涉及到接口的时候,了解系统架构和业务是件多么重要的事情╮(╯▽╰)╭)。
那么接下来还有一个问题,我接下来要做客户查询的接口压测(需要先登录),如果我按照平时的来做,只把cookie加上,然后去请求客户查询的接口,还是未登录的状态,只有在加上登录接口之后,才能跑通查询的接口,即:
但是这样就不符合实际使用场景了,压测毫无意义,然后我就卡在这了。后面我试着转换下,用其他的东西加cookie去跑这个查询接口。不出所料,我用python requests和postman都只需要加上cookie,然后就可以调用这个查询接口了,我心中一万头神兽奔腾而过......
最后,截止目前,我还是没处理掉这个问题,我不知道是jmeter工具本身的瑕疵问题,还是我个人理解有问题,或者我们系统登录的校验还涉及到JS层面,亦或是其他等等,反正我是给它跪了,留待后续解决了,此文记录之。
———为梦想灼伤了自己,也不要平庸的喘息
(未解决)记录一次登录&jmeter,留下的一地鸡毛的更多相关文章
- 未解决的问题,登录163邮箱http://mail.163.com/,用xpath的方式定位密码输入框的时候,总是报找不到该元素
退出的时候出现: xpath定位方法: 注意xpath路径写的太长,如果层级全部写完定位不到,就尝试去掉一些层级
- CentOS安装redis-audit 但执行时出错未解决 记录一下安装过程
网上很多安装过程都太老了,测试很多方法终于成功了,但执行时还是出错,哪位熟悉的可以告知一下. yum install -y ruby rubygems ruby-devel git gcc gem s ...
- 解决phpMyAdmin“登录超时 (1440 秒未活动),请重新登录”的问题
问题描述 phpMyAdmin打开一段时间后会出现“登录超时 (1440 秒未活动),请重新登录”的问题: 解决方法 永久有效: vim config.inc.php 然后在里面加上下面这一行: $c ...
- 记录未解决的问题:docker中无法启动mysqld
首先在docker中安装mysql server的包: sudo yum install mysql sudo yum install mariadb-server mariadb /usr/libe ...
- C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
详解link 有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错 ...
- ie6,ie7,ie8 css bug兼容解决记录
ie6,ie7,ie8 css bug兼容解决记录 转载自:ie6,ie7,ie8 css bug兼容解决记录 - 前端开发 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面 ...
- openerp学习笔记 计算字段、关联字段(7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决)
计算字段.关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段.关联字段只读时无法修改保存的问题暂未解决 示例代码: ...
- (转载) C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
转载http://blog.csdn.net/neo_ustc/article/details/9024839 有 些人写C/C++(以下假定为C++)程序,对unresolved external ...
- 错误解决记录------------rhel安装Mysql软件包依赖 mariadb组件
错误解决记录------------软件包依赖 mariadb组件 错误信息: 错误:软件包:akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda) 需要:maria ...
随机推荐
- [转]关于浏览器css选择器性能优化
作为一个前端开发, 我觉得很有必要了解浏览器对css选择器的解析,因为这个关系到页面的渲染,高效的方式.避开开销大的方式这些无疑为网站加载缩短了时间. 最近在新的项目中陷入了一个误区,也是出于对jqu ...
- BZOJ3832: [Poi2014]Rally(拓扑排序 堆)
题意 题目链接 Sol 最直观的思路是求出删除每个点后的最长路,我们考虑这玩意儿怎么求 设\(f[i]\)表示以\(i\)结尾的最长路长度,\(g[i]\)表示以\(i\)开始的最长路长度 根据DAG ...
- IDEA操作maven时控制台中文乱码
windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示,log4j打 ...
- JSP用户登录页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- cnpm 淘宝镜像设置
很简单,一句话 npm install -g cnpm --registry=https://registry.npm.taobao.org
- 前端模块化方案全解(CommonJS/AMD/CMD/ES6)
模块化的开发方式可以提高代码复用率,方便进行代码的管理.通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数.目前流行的js模块化规范有CommonJS.AMD.CMD以及ES6的模块 ...
- 浅谈java动态代理
- 【Java】生成UUID
import java.util.UUID; public class MainProcess { public static void main(String[] args) { UUID uuid ...
- 聊聊 getClientRects 和 getBoundingClientRect 方法
开始表演 今天来聊一下两个相似的方法,它们就是:getBoundingClientRect().getClientRects(). 只见它们俩手拉手地登上了舞台,一个鞠躬,便开始滔滔不绝起来. 自述 ...
- linux ubuntu 本地镜像 软件源 制作方法
1.配置当前软件源,镜像非常大,所以首先要配置一下载速度快的软件源http://fffo.blog.163.com/blog/static/2119130682014322104136601/2.安装 ...