9.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测试脚本时必须要提前考虑的问题。 !