Gatling更新文件,用于在调用之前在feed()中提供模拟

问题描述 投票:0回答:1

我需要更新.csv文件,其中包含在加特林模拟中使用的一些ID,因为我需要事先创建数据。我试图在before()调用中更新该文件,但是它不起作用。惰性评估也不起作用。

  before {
    Helper.CreateDocuments()
  }

  lazy val documentIds = csv("data/documentIds.csv").circular

  val scn: ScenarioBuilder = scenario("PutFile")
    .feed(documentIds)
    .exec(http("Dynamic id")
      .put("files/${documentId}"))...

我该如何解决该问题以使用刷新的ID来提供模拟?

scala load-testing gatling scala-gatling
1个回答
-1
投票

您应该可以在before步骤中修改一个csv文件。例如:

  before {
    val pw = new PrintWriter(new File("data.csv"))
    for (i <- 0 to 10) {
      pw.write(i + "\n")
    }
    pw.close
  }

记住要导入库import java.io._

然后在模拟中使用它来调用文件:

val orderId = csv("data.csv").queue

但是,这可能是多余的,因为您可以使用saveAs步骤来创建值,如Gatling Session API documentation中所述。例如,您可以执行以下操作:

val someHttpCall = http("Create data for the feeder").get("/my/resource").saveAs("data")

然后在供料器中使用:

val scn = feed(data).exec(somethingElse)

如果这还不够,请记住,您也可以在模拟类中的任何时候创建自己的feeder

© www.soinside.com 2019 - 2024. All rights reserved.