接着我之前的血案,无意间学会了如何使用Jmeter里面的Regular Expression Extractor。
搞定了Jmeter脚本的一些基本配置,然后我开始跑脚本。非常顺利,但是问题也出现了,
有个统计多少用户登陆的功能始终显示用户数量稳定在一个数字,没有增加。
仔细观察了result tree里面的结果(个人十分喜欢result tree,因为可把request,response看个通透。),
发现,由于脚本是录制下来的,所以每次发送的token都是同一个,所以系统自然认为是同一个用户不断的在登陆。
需求出来了,我需要从某个httprequest的response中提取部分参数,作为下一个request的部分参数。
如图,第二个str后面的字串就是用户的token,我需要把它传入下一个request的参数中去。
在需要获取response参数的那个request下面挂上一个Regular Expression Extractor.
对Regular Expression Extractor界面的一些地方做下说明:
response field to check
: 需要你自己选定是对response的内容还是头,还是url进行抓取。
reference name
: 抓取出来的变量名称,自己取名,因为之后你需要用到。
regular expression
: 这个是最重要的,正则表达式就写在这里。 正则表达式的正确与否,是你抓取的关键。
template
: 提取正则表达式里面的内容,通常我们只提取一个字串,所以通常都是$1$。
match number
: 匹配数字, 通常我们只提取一个字串,所以写1无妨。
Default Value
: 缺省值,用于没有抓取到值时的处理。
这样,我们通过{var}
的方式,把变量写入request里面。
然后,跑了一下整个脚本,发现一切都正常了,这场“血案”暂告一个段落。