首页 > 解决方案 > 检查会话中的值是否在加特林中为空

问题描述

如何检查响应中是否存在值并在这种情况下保存?此外,我正在尝试在执行 get 之前检查 session 中的可选值是否为 null,但是在执行 doIf 时遇到问题,这是我的代码:

    builder
  .doWhile("${scrollId.exists()}") {
    exec(http(s"$title")
      .post(endpoint)
      .headers(headers)
      .body(ElFileBody(requestBodyFilePath))
      .check(jsonPath("$.scrollId").saveAs("scrollId")) //how can I check if exists before saving it?
      .check(status.is(200)))
      .pause(1)
      //save value from response
      .exec(session => {
        //.doIf(session("scrollId").asOption[String].isEmpty) here is the problem
      val scrollId = session("scrollId").asOption[String].get
      session.set("scrollId", scrollId)
    })
  }
}

标签: javagatling

解决方案


session("scrollId").asOption[String].isDefined

推荐阅读