You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter如何实现每半小时中断式执行登录操作?

JMeter实现每半小时自动重新登录的方案

核心思路

放弃仅执行一次的setUp Thread Group,改用独立定时登录线程组+全局变量共享的方式,实现每半小时自动执行登录,同时让业务线程自动使用最新登录凭证。

具体实现步骤

    1. 创建独立的定时登录线程组
    • 设置线程组的循环次数为永远,线程数设为1(避免重复登录)。
    • 勾选测试计划的Run Thread Groups Concurrently选项,让登录线程组和主业务线程组同时运行。
    1. 控制登录间隔(含首次立即执行)
    • 移除默认定时器,添加JSR223 Timer,用Groovy脚本实现首次无延迟、后续每30分钟触发一次:
      // 首次运行立即执行,之后每30分钟(1800000毫秒)执行一次
      if (ctx.getThreadNum() == 0 && ctx.getThreadGroup().getIteration() == 0) {
          return 0
      } else {
          return 1800000
      }
      
    1. 实现可中断的登录逻辑
    • 若需要中断旧会话(比如强制登出),在登录请求前添加登出请求,通过全局属性获取旧凭证执行登出。
    • 执行登录请求,登录成功后用__setProperty函数将最新凭证(如token、cookie)存入全局属性:
      ${__setProperty(global_token,${response_token},true)}
      
      (response_token是登录请求返回的token变量,true表示属性可跨线程组访问)
    1. 主业务线程组使用最新凭证
    • 所有需要登录凭证的请求,用__property函数获取全局属性中的最新值:
      ${__property(global_token,,)}
      
      每半小时登录后,业务线程会自动切换到新凭证。

额外注意事项

  • 如果后端登录凭证会自动失效,可省略登出步骤,直接执行新登录覆盖旧凭证即可。
  • 可添加响应断言监控登录状态,确保登录失败时能及时告警或重试。

内容的提问来源于stack exchange,提问作者EBDS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 12:12:14