首页 > 解决方案 > ${__fifoPop(sync_tokensqo, gotTokenq_2)} 清空堆栈,当我们在 Jmeter 中的其他请求需要相同的令牌时我们应该做什么

问题描述

我总结了我的代码如下用户登录 -100 次 Jsr233 后处理器放置 100 个令牌。While loop {counter user login-100 times Jsr 223 preprocessor -pop 100 tokens } 在循环计数 1 上,它会弹出所有令牌,计数 2 什么都没有。如何处理?

标签: jmeter

解决方案


只是不要使用线程间通信插件

  1. 如果 Login 和 While 循环在同一个线程组中- 使用JMeterVariables类实例vars的简写,例如:

    vars.put('gotTokenq_2', 'token_value_here') // store the variable
    
  2. 如果 Login 和 While 循环在不同的线程组中 - 请改用props简写:

    设置值:

    props.put('token_' + ctx.getThreadNum(), 'token value here')
    

    读取值:

    vars.put('gotTokenq_2', props.get('token_' + ctx.getThreadNum()))
    

在这两种情况下,您都可以根据需要访问令牌${gotTokenq_2}

有关这些varspropsctx快捷方式的更多信息:您应该在 Groovy 中使用的 8 个 JMeter Java 类


推荐阅读