Jmeter:捕获全局变量中的JDBC值
我对Jmeter非常陌生,我想知道是否有某种方法可以将查询结果存储在全局变量中,以便在不同的线程中使用 换句话说,我需要一个设置线程,从DB设置开始日期和结束日期(2个值)。 然后,在第二个线程(主线程)中,我必须使用开始日期和结束日期作为测试的参数 这可能吗 提前谢谢!,Jmeter:捕获全局变量中的JDBC值,jdbc,properties,global-variables,jmeter,Jdbc,Properties,Global Variables,Jmeter,我对Jmeter非常陌生,我想知道是否有某种方法可以将查询结果存储在全局变量中,以便在不同的线程中使用 换句话说,我需要一个设置线程,从DB设置开始日期和结束日期(2个值)。 然后,在第二个线程(主线程)中,我必须使用开始日期和结束日期作为测试的参数 这可能吗 提前谢谢!, Nahuel使用以下元素: 组织如下: 其工作如下: JDBC连接配置将设置到DB的连接,命名为Variable name,以便它匹配JDBC请求的变量名,在我的例子中,我将其命名为conn 安装线程组将通过J
Nahuel使用以下元素:
- JDBC请求的变量名必须与SQL查询返回的列数匹配,请注意,在示例中,我有3列,我放置了3个变量,并将使用clt_nom_1名称,因为我确保查询只返回行
- 在Bean Shell sampler中,我输入了以下代码:
props.put("toto",vars.get("clt_nom_1"));
- clt_nom_1是这样命名的,因为它是第一行值
- 最后,在线程组中,我可以通过以下方式使用属性toto:
${__P(toto)}
- 在Bean Shell sampler中,我输入了以下代码:
${__setProperty(toto,${clt_nom_1})};
它将变量存储在属性中我的做法不同: 我创建了一个BSF后处理器,使用“Javascript”作为语言:
var strData = prev.getResponseDataAsString(); //This is a string delimited with character return
var listData = strData.split('\n');
然后,您可以从列表数据中执行各种操作,例如vars.putObject
注意:它与JDBC请求上的SELECT query一起工作。使用调试采样器名称设置属性非常简单。谢谢你的提示。