接上文,继续介绍Jmeter,本文关注点为如何解决上文中提到的第一个问题,即:
- 需要实现Request1的返回作为Request2的RequestBody或Header
Jmeter支持后置处理器,即对http请求(或其他取样器)的返回值进行提取并赋值给变量。
本例中从Request1的ResponseBody中提取token,并作为Request2的header输入。
创建后置处理器,此处使用Json提取器用于解析Json返回值:
Http请求的返回值:
Json提取器参数:
参数没什么需要特别说明的,注意如果提取多个值的化,用;隔开,并且Match No. 和 Default Values不能省略,且必须与提取var数量一致
创建request2,并添加http头管理器:
header管理器配置:
这里应该很好理解,${xToken}就是之前通过Json提取器解析的xToken变量值,有疑问?比如在Query Params中或者Request Body中如何使用变量呢?跟header一样,大胆的试试。
顺便说下,Jmeter对于每个线程来说都是顺序执行的,即当配置压测文件时, Request1在Request2上面,则对于单个线程来说,会先执行Request1,所以不用担心顺序问题。
另外常用的还有正则表达式提取器,网上资料很多,可自行搜索,如果还满足不了你的需求,就用BeanShell直接写代码,后面将单独介绍。
看下效果:
至此,问题1解决。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/206144.html