JMeter-连接MySql数据库而不使用JDBC连接配置和采样器

JMeter-连接MySql数据库而不使用JDBC连接配置和采样器,jmeter,jmeter-5.0,jmeter-maven-plugin,Jmeter,Jmeter 5.0,Jmeter Maven Plugin,如何在不使用JDBC连接配置和JDBC采样器的情况下连接我的Sql数据库 我想在不使用JDBC连接配置和JDBC采样器的情况下与我的SQL数据库建立连接,因为出于安全原因,我不想将数据库凭据保留在.JMX文件中。您不需要将密码(/user)放在JMX文件中,您可以使用属性加载值 例如,用于从属性而不是硬编码值获取值: ${__property(password)} property函数返回JMeter属性的值 可以通过添加到属性文件或命令行参数来设置属性 Java系统属性和JMeter属性可以

如何在不使用JDBC连接配置和JDBC采样器的情况下连接我的Sql数据库


我想在不使用JDBC连接配置和JDBC采样器的情况下与我的SQL数据库建立连接,因为出于安全原因,我不想将数据库凭据保留在.JMX文件中。

您不需要将密码(/user)放在JMX文件中,您可以使用属性加载值

例如,用于从属性而不是硬编码值获取值:

${__property(password)}
property函数返回JMeter属性的值

可以通过添加到属性文件或命令行参数来设置属性

Java系统属性和JMeter属性可以直接在命令行上重写(而不是修改JMeter.properties)

-J
[prop_name]
=
[value]
定义本地JMeter属性


如果您不想使用JDBC测试元素来构建数据库测试计划,您可以随时切换到Groovy语言,并使用Groovy语言编写任何您想要的程序,在您的情况下,您的朋友就是

示例代码:

def dburl = 'jdbc:mysql://192.168.99.100:3306/mysql'
def user = 'root'
def password = props.get('db.password')
def driver = 'com.mysql.cj.jdbc.Driver'
groovy.sql.Sql.withInstance(dburl, user, password, driver) { sql ->
    sql.query('select name,url from help_topic order by rand() limit 2;') { resultSet ->
        while (resultSet.next()) {
            def name = resultSet.getString(1)
            def url = resultSet.getString('url')
            log.info('Topic name: ' + name + ' topic url: ' + url)
        }
    }
}
示例输出:

这一行:
props.get('db.password')
正在从读取值,您可以使用如下方法设置属性值:

有关Jmeter中Groovy脚本的更多信息,请参阅本文


你仍然需要有足够的时间

jmeter -Jdb.password=secret -n -t test.jmx -l result.jtl