当前位置: 首页 > 面试题库 >

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

林念
2023-03-14
问题内容

我无法从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中创建一个Listhtml" target="_blank">对象以使其更具可读性。我尝试这样做,但是没有用。有人知道答案吗?

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指南。



 类似资料:
  • 我正在使用和Web API来执行某些任务,当任务完成时,API会在OK方法中返回一个对象。 代码: 如何在响应中获取此 blob 对象,我认为,这应该是 IHttp 操作结果? 任何帮助是值得赞赏的!

  • 获取查询对象的结果集 // 查询邮箱或密码是否正确 async checkEmailAndPassword(loginData) { // 解构查询对象中的结果 const { dataValues: {id,username,password,email} } = await this.ctx.model.User.findOne({

  • 问题内容: 我从ResultSet获取Date对象时遇到问题。在数据库中,它具有一个值(例如2014-08-01),并且从resultSet获取它之后,它具有另一个值(2014-08-31)。我知道ResultSet的getDate方法返回java.sql.Date,但是我尝试了一些解决方案,例如: 或 但问题是相同的。如果我尝试, 它将抛出NullPointerException。 有人可以解释

  • 我是Javascript新手,我正试图从包含多个对象的数组中获取id键的值。 通过 for..在循环中,我需要对象的id - 如1,2或3 - 与不同的值进行比较。 我试着这样做: 但是,我这样做了,删除Id值返回未定义。 我想不通为什么返回未定义,我无法解决这个问题。 我希望我能很好地表达自己,对不起我的英语不好。

  • 我试图直接从我的Java代码运行JMeter测试。应该通过JMeter服务器产生负载。在代码中,我使用连接到服务器上运行的JMeter守护进程的ClientJMeterEngine实例。这工作到目前为止,我可以开始和运行我的测试。我目前不明白的是如何从测试运行完成后获得结果。我当前的代码如下所示: 客户端线程必须保持运行状态,以便客户端上的ResultCollector能够从服务器接收结果。我现在

  • 问题内容: 我正在使用CsvJdbc(它是用于csv文件的JDBC驱动程序)来访问csv文件。我不知道csv文件包含多少列。如何获得列数?是否有任何JDBC函数?我在java.sql.ResultSet中找不到任何方法。 为了访问该文件,我使用类似于CsvJdbc网站上示例的代码。 问题答案: 您可以从ResultSetMetaData获取列号:

  • 我做了一个ping实验,结果是: 我需要的是收到的数据包数,丢包数,min,avg和max。 我试图使用