jmeter-ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: 报错原因

转载自:https://www.cnblogs.com/zhangfeivip/p/9450403.html

Jmeter 多个threadgroup 中的配置元件会一次性进行初始化

 

例如3个threadGroup,每一个threadGroup中都会定义了 一些配置原件,例如 用户定义变量,  jdbc 链接配置等。  当执行testplan(测试计划)时, 这些配置元件会一起初始化, 而且变量是全局共享,不是属于自己threadgroup 独立使用的。  

例如此类场景下, 我会看到一些错误日志。

2017-06-05 16:53:04,755 ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: MySQL
2017-06-05 16:53:04,756 ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: MySQL_finance
2017-06-05 16:53:04,756 ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: MySQL_pay
2017-06-05 16:53:04,756 ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: MySQL
2017-06-05 16:53:04,756 ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: MySQL_finance
2017-06-05 16:53:04,756 ERROR o.a.j.p.j.c.DataSourceElement: JDBC data source already defined for: MySQL_pay

是因为我在多个threadgroup中,定义了同样变量的 数据库连接配置。 这样他会提示一些重复定义的。 可见。

1)  多个threadgroup中的配置元件,是在测试开始之前一起进行初始化的。 (不管你的testplan是否勾选了,  顺序执行 threadgroup 的选项。 )

2) 配置元件中的变量是测试计划共享的, 所以会有潜在的冲突问题。 这是一个多人写作进行开发jmeter测试脚本时必须要提前考虑的问题。 !

原文地址:https://www.cnblogs.com/erchun/p/11926672.html