需要有一定的jmeter基础来看此篇文章,如果没有基础的,翻到最下面拿整理的jmeter教程先学习一下,内容很细致很全,建议主要学习一下非GUI模式的情况,因为正常开发环境GUI模式限制颇多,对接性也比较差。

花半天自学了一下jmeter,然后在压测时碰到这样一个情景:需要动态获取token,用于请求的参数。

咱们来梳理一下思路,画了个草图如下

jmeter的java请求kafka怎么填_正则


一、定位数据位置

这里先看一下我需要获取X-Subject-Token的值,数据在ResponseHeaders里边,也就是在信息头里边。

但是大多数的数据都是在ResponseBody里边的,只是我这个比较特殊。

jmeter的java请求kafka怎么填_正则_02


二、提取数据(我这里是X-Subject-Token的值)1.添加正则表达式提取器

jmeter的java请求kafka怎么填_正则表达式_03


注意如果你的数据在ResponseBody里边,那你在图中你就需要选主体,而不是像我一样选择提取信息头里的数据了,不要搞错。这一部分需要写正则表达式,那怎么才能保证自己写的没问题呢?我这里推介一个在线校验的网址 把你的返回值粘贴进来,然后写正则,直到匹配到你想要的答案为止。这里像我图上匹配的就是正确的,前面的X-Subject-Token: 不用管,你后面引用的时候会自动帮你截取掉的。

jmeter的java请求kafka怎么填_数据_04


可能有些人返回的数据时带 “” 的,那么你就需要写成下面这样,自己灵活应变就行了,不赘述。

"X-Subject-Token": "(.+)"

jmeter的java请求kafka怎么填_测试工程师_05


三、引用获取到的值

jmeter的java请求kafka怎么填_测试工程师_06


这样就可以了,在运行的时候就能引用到先前请求获取到的token值,引用方式为 ${token} ,因为在上图咱们的引用名称就叫token,这两个地方要保持一致,否则引用无效。