Jmeter 数据库配置池设置IP为参数

我在网上查了很多资料,发现jmter链接数据库的URL都是设置成固定值的。没有参数化。

当我需要使用配置文件链接不同服务器上的数据库的时候,发现无法实现。

原因在于:jmeter的元件执行优先级是配置文件最高,而配置文件内,几个用户定义的变量或者参数优先级是一致的。这就导致了JDBC Connection Configuration的地位与用户读取配置文件的地位一致。进而导致无法读取IP。

所以:

我在线程组之前增加了一个setUp Thread Group,并在里面使用BeanShell Sampler从配置文件读取IP,并将IP设置成全局变量。

 

 1 ${__setProperty(DatabaseHost,${sql_IP},)} 

而真正的我需要使用的线程组内去调用这个全局变量:

 补充说明:

上方的设置IP为全局变量建议使用元件为BeanShell PostProcessor,因为我使用其他sample时,在windown上是成功的,但是将脚本迁移到linux后,就总是会被数据库拒绝,无法读取到IP。

jdbc链接池是跨线程组的,所以在setup内最好使用后置处理器去处理变量。

posted @ 2018-08-17 17:58  Vsky  阅读(508)  评论(0编辑  收藏  举报