【发布时间】:2016-10-18 01:04:53
【问题描述】:
通过 JSR223 采样器,我可以使用 sampler 变量访问当前测试元素。
从那里,我如何导航TestElement 对象的树?例如,如何访问父测试元素(然后是父元素等),或者如何访问TestPlan 测试元素?
背景:
我想使用 Groovy 从 JSR223 采样器动态创建 JDBC 连接配置元素。
通过其他问题(例如,here)和网络搜索(例如,here),我知道如何自上而下创建测试计划元素(例如,如何创建测试计划并向下构建树从那里)。所以我知道如何执行new DataSourceElement(),即TestElement,但我不知道如何将新元素添加到测试计划中。在采样器脚本中,我可以访问 sampler (Sampler) 和 ctx (JMeterContext) 变量,但我不知道如何导航测试元素树。
我尝试只使用sampler.addTestElement,但配置元素在采样器元素下并不是真正有效的。尽管如此,我确实尝试过,但是当我尝试在 JDBC 请求中使用它时找不到配置元素(错误:“找不到名为:'myDatabaseThreadPool',确保变量名称与 JDBC 连接配置的变量名称匹配 em>")。
我希望如果我能获得TestPlan 元素并将配置元素添加到其中,那么它会起作用。
FWIW,我的测试计划是这样的:
- 测试计划
- 线程组 1(可能是设置线程组)
- JSR223 Sampler(这是我要创建动态配置的地方)
- 线程组 2(多线程)
- JDBC 请求(使用动态配置中指定的池变量名称)
- 查看结果树
- 线程组 1(可能是设置线程组)
我可以更详细地说明我为什么要动态创建 JDBC 连接配置,但是如果有一个简单的答案来说明如何从我的采样器脚本中导航测试元素树,我会喜欢无论如何都要知道。
【问题讨论】:
标签: jmeter