【问题标题】:Gatling loop on multiple commands inside inject注入内多个命令的加特林循环
【发布时间】:2019-06-13 17:26:53
【问题描述】:

我为冗余道歉,这是我之前的问题Gatling for loop inside inject 的延续。我意识到我没有正确表达我的问题,导致了不同的答案。

我想在这样的注入中有一个 for 循环,我可以在其中设置我希望 multiple 命令运行的次数。

scn.inject(
    for (i <- 1 to numTimes){
        atOnceUsers(10),
        nothingFor(10 seconds)
    }
).protocols(httpProtocol)

我得到了以下答案,如果我只有一个要运行的命令,这将非常有用。

scn.inject(
    (1 to numTimes).map(i => atOnceUsers(10))
).protocols(httpProtocol)

但是,我想运行多个命令,但我不确定如何执行此操作。我尝试了类似的方法,但出现错误提示 Too many arguments for method map(A =&gt; B)

scn.inject(
    (1 to numTimes).map(i => atOnceUsers(10), nothingFor(10 seconds))
).protocols(httpProtocol)

我也试过了,报错No implicits found for parameter evidence

def commands() {
    atOnceUsers(10)
    nothingFor(10 seconds)
}

setUp(
    scn.inject(
        (1 to numTimes).map(i => commands())
    ).protocols(httpProtocol)
)

【问题讨论】:

    标签: scala gatling scala-gatling


    【解决方案1】:

    您可以使用 List 或 Seq 在循环中对命令进行分组,但是您需要将 Iterable 返回到 inject 方法。 flatMap 有助于将所有中间 Seq 合并为一个 Sequence,因此它也成为 Iterable。

    scn.inject( 
      (1 to numTimes).flatMap(i => Seq(atOnceUsers(10), nothingFor(10 seconds)))
    )
    

    这将被构造为对象。

    res13: io.gatling.core.structure.PopulationBuilder = PopulationBuilder(
      ScenarioBuilder("BasicSimulation", List(io.gatling.core.action.builder.PauseBuilder@60a07d77, io.gatling.http.action.sync.HttpRequestActionBuilder@76795a95)),
      InjectionProfile(
        Vector(
          AtOnceInjection(10),
          NothingForInjection(10 seconds),
          AtOnceInjection(10),
          NothingForInjection(10 seconds),
          AtOnceInjection(10),
          NothingForInjection(10 seconds),
          AtOnceInjection(10),
          NothingForInjection(10 seconds),
          AtOnceInjection(10),
          NothingForInjection(10 seconds)
        )
      ),
      Protocols(Map()),
      List(),
      None
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-09
      • 2023-03-20
      • 2014-06-15
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 2019-02-02
      相关资源
      最近更新 更多