Jmeter JDBC连接配置用于访问MySQL数据库的数据库URL的参数化

时间:2017-06-15 19:49:25

标签: jdbc parameters jmeter

如何在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}

2 个答案:

答案 0 :(得分:2)

关键是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,)}
    

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

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

答案 1 :(得分:0)

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

1) Provide User Defined Variables, like, db host, db port, user name, password...

2)create JDBC Connection Configuration, and use defined variables

3)do your JDBC Request

4) Check results