【问题标题】:JMeter for each controller - beanshell sampler display multiple variables每个控制器的 JMeter - beanshell 采样器显示多个变量
【发布时间】:2019-06-28 20:42:31
【问题描述】:

我有 JSON 请求,其中多个产品节点从那里返回,我在每个控制器中使用产品 SKU 作为输入,并在后续请求中使用 sku_value 作为输出。 在每个控制器的内部,我有另一个 beanshell 采样器,我希望打印/显示使用第一个 JSON 请求返回的其他值我试过这个 Jmeter counter function value to be displayed in Benashell Post Processor or sampler vars.get("productId_" + vars.get("counter")) 但它返回 NULL 如果我在采样器名称处使用 ${__V(productId_${__counter(TRUE,)})} 它会正确打印该值,但我希望使用 log.info 打印该值 请帮忙。

【问题讨论】:

    标签: foreach controller jmeter beanshell


    【解决方案1】:

    使用Debug Sampler and View Results Tree listener 组合再次检查${counter} 变量是否存在并且具有有效数值

    如果您的 ${__V(productId_${__counter(TRUE,)})} 工作正常,您可以在 Beanshell Sampler 的“参数”部分中使用它,并在脚本中将值引用为 Parameters

    还要注意starting from JMeter 3.1 it's recommended to use JSR223 Test Elements and Groovy language for scripting,因此请考虑在下次有机会时迁移到 Groovy。

    【讨论】:

    • 这会正确显示值,但现在我面临一个问题,即计数器不会重置 1,即使每个控制器的第二个输入值也只会继续递增 1。虽然 for each 的实际原始输入值循环通过所有正确的变量,但由于我试图访问与传递给每个控制器的变量不同的变量
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多