如何从JMeter中的JDBC Sampler获取对象结果集

我无法从JMeter的JDBC Sampler获取结果集对象。JMeter文档准确地说:

Result Variable Name

If specified, this will create an Object variable containing a list of

row maps. Each map contains the column name as the key and the column

data as the value.

Usage:

columnValue = vars.getObject("resultObject").get(0).get("Column Name");

因此,我像这样配置了它,并且可以正常工作。但是由于上面的文档说我创建了一个“行映射列表”,所以我想我会尝试在BeanShell中创建一个List对象以使其更具可读性。我尝试这样做,但是没有用。有人知道答案吗?

List<Map<String,Integer>> results = vars.getObject("resultList");

错误大致是这样的:

jmeter.util.BeanShellInterpreter: Error invoking bsh 

method: eval In file: inline evaluation of:

``List<Map<String,Integer>> results = vars.getObject("resultList")

回答:

Beanshell不是Java,您需要对其进行一些不同的访问。

Beanshell不太支持那些“钻石”括号。请修改您的代码,如下所示:

ArrayList result = vars.getObject("resultList");

for (HashMap table : result) {

for (Object column : table.keySet()) {

log.info(column + "=" + table.get(column));

}

}

上面的代码假定您已resultList在JDBC Request Sampler中设置为“结果变量名称”。

那应该将查询结果打印到 jmeter.log 文件中。

有关更多详细信息和Beanshell食谱的种类,请参见如何使用BeanShell指南。

以上是 如何从JMeter中的JDBC Sampler获取对象结果集 的全部内容, 来源链接: utcz.com/qa/416467.html

回到顶部