在加特林初始化后向场景添加步骤

Add step to scenario after initialization in gatling

我是 scala 的新手,也是 gatling 的新手。我正在尝试创建某种基于特定条件执行不同步骤的 scenarioBuilder,但我遇到了问题。我不知道我是否可以在我的场景中添加步骤。 类似的东西

val scn = scenario("scenario")
    for(req <- requestsList.requests)
      if(req.method == "GET")
       scn.exec("do something")

是否可以在循环中添加步骤,也可以根据条件添加步骤?

将您的请求列表转换为 Feeder and then use doSwitch

假设您的请求被放入一个包含两列的 .csv 文件中:

method, endpoint
GET,/api/bar
POST,/api/bar
GET,/api/foo
val requestFeeder = csv("requests.csv") 

val scn: ScenarioBuilder =
    scenario("Foo Scenario")
      .feed(requestFeeder)
      .doSwitch("${method}")(
        "GET" -> exec(http("Get request")
          .get("${endpoint}")
          .check(status.in(200 to 210))),
        "POST" -> exec(http("Get request")
          .post("${endpoint}")
          .check(status.in(200 to 210))))