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

Gatling运行提示RecordedSimulation场景为空但实际非空如何解决

运行环境
  • Gatling 版本:3.8.1
问题现象

通过Gatling Recorder录制测试场景后,命令行运行时抛出错误:"Scenario RecordedSimulation is empty",但实际录制生成的场景文件包含有效请求逻辑,相关运行截图如下:
运行截图1
运行截图2

根因排查&解决方案

该错误本质是Gatling加载到的Simulation类没有绑定有效场景执行链路,常见诱因和对应修复方式如下:

  • 类全限定名不匹配(最高发)
    录制生成的Scala文件如果顶部声明了package,运行时如果直接选择无包路径的RecordedSimulation,Gatling会加载到空的占位类而非录制的有效类。

    排查方式:打开录制生成的RecordedSimulation.scala文件,查看顶部的package声明,运行时选择「包名.RecordedSimulation」格式的完整类名即可。

  • 场景未绑定到setUp执行块
    如果录制过程中出现中断、或Recorder配置错误,可能出现请求链路定义完成,但未被注册到启动入口的情况。

    排查方式:打开生成的Scala文件,确认文件末尾存在如下完整结构,缺失部分手动补全即可:

    // 公共HTTP协议配置
    val httpProtocol = http
      .baseUrl("录制的目标服务地址")
      .acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
      // 其余自动生成的公共头、配置项
    
    // 录制的场景链路
    val scn = scenario("RecordedSimulation")
      .exec(/* 自动生成的所有请求执行步骤 */)
    
    // 启动入口,必须正确引用上面定义的scn
    setUp(
      scn.inject(atOnceUsers(1))
    ).protocols(httpProtocol)
    
  • 文件存放路径错误
    Gatling默认只会扫描<Gatling安装根目录>/user-files/simulations路径下的Simulation类,如果录制生成的文件被存放到其他路径,Gatling无法读取到有效逻辑就会抛出空场景错误,将文件移动到上述指定目录即可。
  • 同名类冲突
    如果之前创建过空的同名RecordedSimulation类,运行时可能出现类加载优先级冲突,加载到旧的空类,删除目录下所有无效的同名空类文件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:27:17