如果条件,则启动多个场景gatling

时间:2018-04-19 09:00:15

标签: scala gatling

我有两个方案可以在同一时间启动,有时我可能只想启动一个。 这是我的代码:

setUp(
  Scenarios.test01LoginMyPostAdmin.inject(rampUsers(1) over (30 seconds))
    .protocols(createHttpConf("mypostadmin", System.getProperty("env.current"), false)),

  Scenarios.test01LoginCiPlatform.inject(rampUsers(1) over (30 seconds))
    .protocols(createHttpConf("ciplatform", System.getProperty("env.current"), false))
)
  .assertions(global.responseTime.max.lte(15000))
  .assertions(global.successfulRequests.percent.gte(90))

我想添加一个条件“IF”来启动设置中的第二个场景,因为有时候,“System.getProperty(”env.current“)”值对于第二个场景是不正确的,我有一个例外。我没有找到这样的函数:

Scenarios.test01LoginCiPlatform.inject(rampUsers(1) over (30 seconds))
.doIf(condition)

1 个答案:

答案 0 :(得分:1)

您可以在方案本身中执行.doIf(),而不是在setUp()中。

val test01LoginCiPlatform: ScenarioBuilder = scenario("ScenarioName")
.doIf(condition) {
   exec(
      The rest of your scenario
   )
}

在这种情况下,您的场景按setUp()中的定义开始,但如果找不到环境变量,则会停止。

但更好的解决方案是从根本上解决环境变量问题。