java - 在加特林中执行请求时遇到 doWhile 问题

标签 java gatling

我正在尝试执行 doWhile 但收到此编译错误:

missing argument list for method doWhile in trait Loops Unapplied methods are only converted to functions when a function type is expected. You can make this conversion explicit by writing doWhile _ or doWhile(_,_)(_) instead of doWhile.

这是我的代码:

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

谢谢!

最佳答案

doWhile 的正确语法是 doWhile(condition) { chain },例如:

builder
        .doWhile("${scrollId.exists()}") {
        exec(http(s"$title")
          .post(endpoint)
          .headers(headers)
          .body(ElFileBody(requestBodyFilePath))
          .check(jsonPath("$.scrollId").saveAs("scrollId"))
          .check(status.is(200)))
        .pause(1)
      //save value from response
          .exec(session => {
            val scrollId = session("scrollId").asOption[String].get
            session.set("scrollId", scrollId)
          })
   }

关于java - 在加特林中执行请求时遇到 doWhile 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68438008/

相关文章:

java - spring框架 spring-data-redis 序列化异常

java - 通过 Java REST 发送大文件,如 ISO

scala - 当盖特林测试失败率过高时,maven-build失败

scala - 类型不匹配 : found String, 需要 io.gadling.core.validation.Validation[String]

java - 在多个线程中运行 Junit 测试。 Gatling 可以执行 JUnit 测试吗?

gatling - 如何循环加特林注入(inject)?

java - 将多个列映射到作为数组 JPA 一部分的对象的同一字段

java - Rally:给定项目的 UserStory 计数

Java Base64 和 Android Base64

csv - 如何将加特林日志文件导出到 csv