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

Gatling测试:如何仅在上步exec响应含konsumentKode=HNNO时执行指定逻辑

Gatling 响应体指定元素判断实现方案

实现思路

首先通过JsonPath筛选出sperringsDetaljer数组中konsumentKode取值为HNNO的所有元素存入会话,再通过Gatling的条件执行结构判断筛选结果是否非空,分别执行对应逻辑。

完整实现代码示例

import io.gatling.core.Predef._
import io.gatling.http.Predef._

// 场景定义部分
scenario("接口测试场景")
  .exec(
    // 1. 发起目标接口请求
    http("查询拦截配置接口")
      .get("/替换为实际接口路径")
      .check(
        // 2. 用JsonPath筛选符合条件的对象,结果存入会话变量hnnoSperringList
        // 无匹配结果时默认返回空列表,不会抛出异常
        jsonPath("$.sperringsDetaljer[?(@.konsumentKode == 'HNNO')]")
          .findAll()
          .saveAs("hnnoSperringList")
      )
  )
  // 3. 条件判断执行对应逻辑
  .doIfElse(session => session("hnnoSperringList").as[Seq[Any]].nonEmpty) {
    // 存在konsumentKode=HNNO的对象,执行逻辑A
    exec(/* 此处填写逻辑A的具体代码,比如后续请求、参数校验等 */)
  } {
    // 不存在konsumentKode=HNNO的对象,执行逻辑B
    exec(/* 此处填写逻辑B的具体代码 */)
  }

注意事项

  • 若后续需要使用HNNO对应对象的属性,可直接从会话变量中读取:session("hnnoSperringList").as[Seq[Map[String, Any]]].head.get("sperringId")即可获取对应sperringId值
  • 无需额外处理空匹配场景,findAll()方法无匹配结果时会自动返回空列表,不会中断执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:30:04