【问题标题】:JMeter JDBC - use one row from the table per one test executionJMeter JDBC - 每次测试执行使用表中的一行
【发布时间】:2021-09-03 02:14:28
【问题描述】:

我使用 JDBC 请求从 SQL 表中选择数据并在测试中使用它。 为了从表中获取值并插入到请求中,我使用 ForEach 控制器

但是当测试运行时,控制器在一次测试中从表中获取所有值并执行该表具有值的次数的事务。

如何每次测试只使用一个值并且每次测试只执行一次事务? 当我不使用 ForEach 控制器时,变量也没有使用,我在请求中只看到变量名:${variable}

我的调试采样器图片。变量名已更改。

【问题讨论】:

    标签: loops jdbc foreach jmeter


    【解决方案1】:

    使用 Debug SamplerView 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_#},)},)} .如果你想要别的东西 - 用你的“变量”显示调试采样器的输出,并指出你想如何在下一个请求中重用它们

    【讨论】:

    • 将调试采样器的屏幕截图添加到问题中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 2015-11-13
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    相关资源
    最近更新 更多