【问题标题】:How to test Database methods in Apache jmeter?如何在 Apache jmeter 中测试数据库方法?
【发布时间】:2018-07-24 04:06:23
【问题描述】:

我正在尝试使用 apache jmeter 测试一些 JDBC 方法,例如 getFunctions。我已成功创建数据库连接并执行查询以创建一个函数。 现在我想测试 getFunctions 方法的输出。为此,我使用 JDBC 请求采样器。我已经为 JDBC 请求 Sampler 完成了下面的配置来测试这个方法

当我运行这个测试时,我遇到了错误

响应消息:java.sql.SQLSyntaxErrorException:[XXXX][SQLServer JDBC Driver][SQLServer]第 1 行:'NULL' 附近的语法不正确。

我尝试了 'NULL' 、 "NULL" 和 $NULL$ 但都给出了相同的异常。

有人可以指导我如何在 Apache Jemeter 中使用 JDBC 请求测试这些方法

【问题讨论】:

    标签: jdbc jmeter


    【解决方案1】:

    据我从getFunctions() 方法描述中可以看出,它适用于DatabaseMetaData,因此很遗憾,您将无法使用 JDBC 请求采样器来测试此方法。

    解决方案是切换到JSR223 SamplerGroovy 语言,相关代码如下:

    def conn = org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection('foo')
    def resultSet = conn.getMetaData().getFunctions(null,null,null)
    

    演示:

    【讨论】:

    • 我用下面的代码def conn = org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection('test1') def resultSet = conn.getMetaData().getFunctions(null,null,null) def resultSetMetaData = resultSet.getMetaData() log.info('out put is ' + resultSet) 尝试了 JSR223 Sampler,但在日志中我可以看到它正在打印连接 URL。在我的代码中,def conn 中的“test1”是我的 jdbc 连接配置名称。你能建议这里的错误是什么
    • 为了获得您的连接 URL,您需要类似:log.info('My URL is: ' + org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection('test1').getMetaData().getURL())i.stack.imgur.com/fOHPt.png。我还建议查看Using JDBC Sampler in JMeter 文章,了解有关使用 JMeter 的 JDBC 测试元素进行数据库负载测试的更多信息
    • 感谢您的回复,我的问题是如何测试 JDBC 元数据方法,如 getFunctions 或 getProcedures。我尝试了这组代码def conn = org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection('test1') def resultSet = conn.getMetaData().getFunctions(null,null,null) def resultSetMetaData = resultSet.getMetaData() log.info('out put is ' + resultSet) 但在日志中它正在打印连接 URL。这是我不想要的。我想打印getFunctions方法输出
    猜你喜欢
    • 1970-01-01
    • 2014-06-07
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    相关资源
    最近更新 更多