JMeter特殊情况二:针对某些请求数据每次请求都是变化的情况
来源:互联网 发布:蜂王浆胶囊 知乎 编辑:程序博客网 时间:2024/06/05 21:13
概要:某些post请求,例如,登录的请求除了有我们再页面上需要输入的一些值(用户名、密码、是否记住密码等)之外,还有其他的参数,例如token等等,而且这些参数不固定,也就是说每一次post请求这些参数都不一样,那么针对这样的请求,我们就不能够直接给参数赋值,而需要动态获取参数的值,进而传递给post请求这个动态获取的值。
1. 下面是一个csdn网站登录的审查元素:其中username,password,_eventId是一般的参数,lt和execution是不固定的,每次请求值都不一样,所以需要动态获取这两个值。
[ 图1:csdn登录请求的审查元素 ]
2. 动态获取的方式便是查看登录所在的那个页面(未点击登录前的页面),可以看到如下图:
[ 图2:页面查看源代码 ]
因为我们需要在Jmeter中提取出这两个数据,所以需要使用jmeter先访问这个登录之前的页面,通过这个页面的后置处理器动态获取到相应的值之后,才可以进行下一步的登录请求操作。
下面是整个测试的全过程:
一、创建用户定义的变量(用于存储一些constant的值)、创建HTTP cookie 管理器、创建HTTP信息头管理器。
[ 图3:创建用户定义的变量 ]
[ 图4:创建HTTP信息头管理器 ]
二、下面是如何在jmeter中提取出这两个元素:
通过jmeter建立HTTP 请求,访问点击登录button之前的那个页面,通过后置处理器提取出来
[ 图5:建立HTTP请求,访问点击登录button之前的页面 ]
[ 图6:利用后置处理器提取lt的值 ]
[ 图7:利用后置处理器提取execution的值 ]
三、下面是创建登录请求,获取了lt和execution的值之后,直接引用${Lt},${execution}即可,原理和一般的http请求一样。
[ 图8:登录的HTTP请求的设置 ]
四、因为登录之后的response不易观察,所以这里添加一个http请求,观察个人主页,看能否显示出个人信息,若显示,则说明登录成功。
[ 图9:查看登录后的页面 ]
[ 图10:查看运行结果_retrieve lt value(提取动态值) ]
[ 图11:查看运行结果_mycsdn(我的csdn) ]
注意:这种请求的特殊性是需要访问页面通过后置处理器提取出动态的数据,其他处理和一般的post请求一致。
- JMeter特殊情况二:针对某些请求数据每次请求都是变化的情况
- JMeter特殊情况二:针对某些请求数据每次请求都是变化的情况
- JMeter特殊情况二:针对某些请求数据每次请求都是变化的情况
- JMeter特殊情况二:针对某些请求数据每次请求都是变化的情况
- Jmeter特殊情况一:登录请求中密码加密的情况
- Jmeter特殊情况一:登录请求中密码加密的情况
- Jmeter特殊情况一:登录请求中密码加密的情况
- Jmeter特殊情况一:登录请求中密码加密的情况
- 关于网络请求返回数据是nil的情况
- 数据请求结果value中有null的情况
- swift get请求action乱码的情况
- Ajax异步请求的各种使用情况
- Ajax异步请求阻塞情况的解决办法
- GET请求net::ERR_CONNECTION_RESET的一种情况
- @RequestMapping请求方式发生冲突时候的情况
- GET请求中参数含有某些特殊字符的处理
- 在每次request请求时变化session
- 每次每次请求都是项目初始地址加访问地址
- poj1847Tram (最短路)
- 半小时学会上传本地项目到github
- solr-4.10.0、tomcat7、IKAnalyzer2012FF_u1中文分词器相整合以及相关配置
- 寒風的Cocos之旅之Lua篇---2048项目的结构
- 【闲】用PPT制作弹幕效果
- JMeter特殊情况二:针对某些请求数据每次请求都是变化的情况
- 关于C语言字符串处理之可变字符串
- nc工具使用
- SLICK+SQLITE+SCALA
- 自定义dialog二三事
- onCreate中获取控件宽高等于0的解决办法
- undefined reference问题总结
- Java开源电商项目比较
- 使用xcode git pull成功一些文件没有下载下来的原因