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

Gatling Feeder/参数异常:无请求发送导致仿真失败

问题定位与解决步骤

1. 检查Feeder初始化与数据有效性

  • 确认CSV文件路径:仿真类中edlToRender feeder的路径需与实际文件位置匹配,若文件在src/test/resources下,需写为csv("edlToRender.csv").circular(),路径错误会导致feeder无数据,进而无请求生成。
  • 验证CSV内容:确保文件包含表头edlAssetId,且至少有一行有效数据。空文件或表头不匹配时,feeder无法提供参数,后续请求不会执行。

2. 确认Feeder与Chain的绑定逻辑

  • 检查场景绑定顺序:仿真类中场景定义需为scenario("SendToRender").feed(edlToRender).exec(chnSendToRender),若漏写feed(edlToRender)或把exec放在feed之前,参数无法传入链中。
  • 核对参数引用格式:链内调用searchAsset接口时,参数必须写成#{edlAssetId},拼写错误或使用其他占位符格式(如$edlAssetId)会导致参数解析失败,请求可能被静默跳过。

3. 开启日志排查参数问题

  • 调整Logback配置:在src/test/resources/logback.xml中,将io.gatling的日志级别设为DEBUG,可查看feeder数据加载、参数替换的详细过程:
    <logger name="io.gatling" level="DEBUG" />
    
  • 临时添加控制台日志:在链中插入代码打印session参数,直接验证参数是否成功获取:
    exec(session => { 
      println("EDL Asset ID: " + session("edlAssetId").asOption[String])
      session 
    })
    

4. 排查请求执行条件

  • 简化链逻辑:暂时移除链中的doIf、check等条件判断,只保留feed和请求步骤,排除因前置步骤失败导致请求被跳过的可能。

5. 验证请求参数占位符位置

  • 检查请求结构:GET请求需确保URL中的占位符正确(如"/search?assetId=#{edlAssetId}");POST请求的JSON Body需将占位符包裹在字符串内(如"""{"assetId": "#{edlAssetId}"}"""),避免占位符未被Gatling解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:01:16