千家信息网

Jmeter使用BeanShell进行关联

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,所谓关联,多大数是通过相应信息抓取部分信息,例如hidden或session等。在jmeter中要使用关联,分为2步:Step 1. 在Sampler请求下添加正则表达式,获得信息,Add > Pos
千家信息网最后更新 2025年02月01日Jmeter使用BeanShell进行关联

所谓关联,多大数是通过相应信息抓取部分信息,例如hiddensession等。

jmeter中要使用关联,分为2步:

Step 1. Sampler请求下添加正则表达式,获得信息,Add > Post Processors>Regular Expression Extractor;

1.1绝大多数我们需要截取部分信息,可以通过查看源代码,找到需要的代码,然后通过正则处理,下面举一个例子:

功能是提取userSession中的值

1.2有时候,我们需要提取所有的响应信息,可采用下面的正则:

Step2. 添加PostProcessers,选择BeanShell PostProcessor,继而进一步操作。


BeanShell中我们可以使用java代码处理正则提取出来的内容,一般的步骤为:接收正则表达提取的值,如果这个值需要作为之后Sampler的参数使用,我们还要将它保存为变量,方便以后调用。

继续以第一个例子中的userSession来说明:

由于在登录urlpost需要提交session,所以我保存为变量Session,下面是登录url的调用Session值。

如果我们需要将正则抓取的内容打印到本地文档中,则可以在BeanShell PostProcesser中加入如下的代码:

import java.io.*;


String value = bsh.args[0];

print(value);

File f= new File("D:"+File.separator+"log.txt");

FileWriter w = new FileWriter(f,true);

w.write(value+"\n");

w.close();

value接收参数值,print是将参数打印到命令行里,本地文件我使用的是D:\log.txt,这个路径可自行设定。保存到文件中,可以用于分析统计。

0