使用jmeter完成完整的web文件下载(二) - 正则表达式

文章目录


为了更灵活的串联起上下文的request组成测试场景,经常需要抽取上一个response中的某个变量作为下个request的输入参数。正则表达式是很有力的工具。

先看某一个请求的response:
使用jmeter完成完整的web文件下载(二) - 正则表达式

这个response是json格式(打码部分)

我们抽取其中的某一部分:
使用jmeter完成完整的web文件下载(二) - 正则表达式
如上图,view results tree组件提供了基于正则表达式的find功能,可以帮助我们事先调试好正确的表达式。绿色部分即

根据调试好的表达式,在对应的request中新增正则表达式提取的post processor:
使用jmeter完成完整的web文件下载(二) - 正则表达式

设置好解析后的value存储的变量名,将调试好的表达式填入:
使用jmeter完成完整的web文件下载(二) - 正则表达式
这里只捕捉$1$即可(即group 1,不懂的同学请学习正则表达式),但是jmeter也会将正则表达式catch其他group放入变量中,这是默认动作,可以用debug查看。例如:
使用jmeter完成完整的web文件下载(二) - 正则表达式
上图看到,在执行后,以变量名PARSED开头,每个group都被存入相应的变量名中。

这里我们需要用到文件名,即PARSED_g3这个变量,既然前面已经提取到,就可以在后面引用了:
使用jmeter完成完整的web文件下载(二) - 正则表达式
上图中,我们将使用正则表达式提取到的变量,放入了downloadfile这个request中作为参数传入。