如何使用jMeter发送两个逻辑上相关的HTTP请求

在前一篇文章使用jMeter构造大量并发的随机HTTP请求里我经过jMeter构造了大量的HTTP GET并发请求,对服务器产生了大量读操做。正则表达式

如今我有另外一个需求场景:假设我开发了一个建立Service Request的微服务,须要使用HTTP post调用。为了防止Cross Site Request Forgery(跨站域请求伪造),这个微服务调用时须要传一个XSRF token,这个XSRF token须要另外一个HTTP get请求从服务器请求。服务器

所以,这里存在两个逻辑上相关的HTTP请求:并发

1. 先调用HTTP get从服务器读取XSRF token微服务

2. 将第一步得到的XSRF token做为HTTP post 请求头部的一个参数传至服务器。post

用jMeter怎么实现这个场景呢?csrf

总的思路就是使用Transaction Controller,将http get请求和http post请求包在一块儿,以下图所示。blog

在第一个http get请求里,使用HTTP头部参数x-csrf-token去读取token。token

建立一个参数jerrycsrftoken,使用正则表达式将服务器经过HTTP响应头部返回的token解析出来并保存。开发

而后建立第二个HTTP post请求,在请求头部使用第一个请求建立的参数jerrycsrftoken便可。get

这是我HTTP post请求的body内容,里面使用了jMeter自带的随机数发生器做为建立成功的Service Request的后缀。

最后使用jMeter成功建立的Service Request在系统显示如图:

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

相关文章
相关标签/搜索