【问题标题】:Jmeter JDBC Connection Configuration Parametrization of Database URL for accessing MySQL Database访问 MySQL 数据库的数据库 URL 的 Jmeter JDBC 连接配置参数化
【发布时间】:2017-11-18 10:31:30
【问题描述】:

如何在 JDBC 连接配置下参数化数据库 URL?正常的参数化在这里不起作用。

这不起作用:

Database URL: jdbc:mysql://${mysql_hostname}:${mysql_port}/${mysql_database}
JDBC Driver Class: com.mysql.jdbc.Driver
Username: ${mysql_username}
Password: ${mysql_username}

【问题讨论】:

  • 法线参数化是什么意思?你得到什么错误?
  • 我在这里遇到了同样的问题。 JDBC Connection Configuration 元素内的变量不会被替换。我有人找到了解决方法,请告诉我。

标签: jdbc parameters jmeter


【解决方案1】:

关键是JDBC Connection Configuration 测试元素正在被初始化之前 JMeter 变量所以如果你想参数化它你应该做的有点不同:

  • 在需要的地方使用__P() function,例如:

    Database URL: jdbc:mysql://${__P(mysql_hostname,)}:${__P(mysql_port,)}/${__P(mysql_database,)}
    JDBC Driver Class: com.mysql.jdbc.Driver
    Username: ${__P(mysql_username,)}
    Password: ${__P(mysql_password,)}
    

相关的 JMeter 属性可以在 user.properties 文件中设置,例如:

mysql_hostname=localhost
mysql_port=3306
mysql_database=test
mysql_username=johndoe
mysql_passowrd=secret

或通过-J command-line argument 喜欢:

jmeter -Jmysql_hostname=localhost -Jmysql_port=3306 -Jmysql_database=test -Jmysql_usename=johndoe -Jmysql_password=secret

有关 JMeter 属性以及设置和覆盖它们的方法的更多信息,请参阅 Apache JMeter Properties Customization Guide

【讨论】:

  • 这适用于从命令行运行,但不适用于 gui。这令人沮丧,因为那是您想要设置开发值的时候
  • 这很可悲。创建 JDBC 配置后有什么方法可以修改它(使用 groovy 代码)?如果我们可以基于 CSV 文件而不是参数来配置它的属性,那就太好了。
【解决方案2】:

在 Jmeter (5.1.1) 中,您可以使用“用户定义的变量”。添加-> 配置元素-> 用户定义的变量。

【讨论】:

    【解决方案3】:

    如果能够在 JMeter 变量之后初始化 DB 连接,那就太好了。我有一个调用数据库存储过程的 JMeter JMX。我通过 Jenkins 自动化调用 JMX。

    我对多个数据库执行相同的调用。从 Jenkins 调用 JMX 一次并使用 CSV 文件让它针对多个 DB 运行要比在 Jenkins 文件中多次调用并传入不同的 DB 名称要容易得多每次通话。

    另外,当我需要针对另一个数据库运行此程序时,将新数据库添加到 CSV 文件比向 Jenkins 文件添加另一个调用要容易得多。

    在 Jenkins 文件中有一些可能的解决方法,但没有一个像能够从 JMeter JMX 本身中的 CSV 文件设置 JDBC 连接设置一样好或简单。

    【讨论】:

      猜你喜欢
      • 2017-06-08
      • 2012-02-16
      • 1970-01-01
      • 2017-03-13
      • 2015-04-01
      • 1970-01-01
      • 2021-08-17
      • 2014-12-13
      • 2013-08-14
      相关资源
      最近更新 更多