如何使用 Jmeter 里面的 Regular Expression Extractor?
有个统计多少用户登陆的功能始终显示用户数量稳定在一个数字,没有增加。仔细观察了 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 里面。