【发布时间】:2021-09-03 02:14:28
【问题描述】:
我使用 JDBC 请求从 SQL 表中选择数据并在测试中使用它。 为了从表中获取值并插入到请求中,我使用 ForEach 控制器
但是当测试运行时,控制器在一次测试中从表中获取所有值并执行该表具有值的次数的事务。
如何每次测试只使用一个值并且每次测试只执行一次事务? 当我不使用 ForEach 控制器时,变量也没有使用,我在请求中只看到变量名:${variable}
我的调试采样器图片。变量名已更改。
【问题讨论】:
我使用 JDBC 请求从 SQL 表中选择数据并在测试中使用它。 为了从表中获取值并插入到请求中,我使用 ForEach 控制器
但是当测试运行时,控制器在一次测试中从表中获取所有值并执行该表具有值的次数的事务。
如何每次测试只使用一个值并且每次测试只执行一次事务? 当我不使用 ForEach 控制器时,变量也没有使用,我在请求中只看到变量名:${variable}
我的调试采样器图片。变量名已更改。
【问题讨论】:
使用 Debug Sampler 和 View Results Tree 侦听器组合来检查 JDBC 请求采样器生成的变量,这样您就可以选择包含“有趣”值的变量。
使用以下模式生成变量:
variable_1=value from 1st row
variable_2=value from 2nd row
...
variable_#=number of rows returned by your query
更多详情请参阅Debugging JDBC Sampler Results in JMeter 文章。
因此,如果您想使用第一行的值 - 使用 ${variable_1},第二行 - ${variable_2},如果您想要一个随机值 - 使用 __V() 和 __Random() 函数组合,如 ${__V(variable_${__Random(1,${variable_#},)},)} .如果你想要别的东西 - 用你的“变量”显示调试采样器的输出,并指出你想如何在下一个请求中重用它们
【讨论】: