Выполнять сценарии Гатлинга на основе логического флага - PullRequest
0 голосов
/ 29 сентября 2019

Можно ли в Gatling выполнять сценарии на основе логического флага из файла свойств application.conf

config {
  isDummyTesting = true,

  Test {
    baseUrl = "testUrl"
    userCount = 1
    testUser {
      CustomerLoginFeeder = "CustomerLogin.getLogin()"
      Navigation = "Navigation.navigation"
    }
  },
  performance {
    baseUrl = "testUrl"
    userCount = 100
    testUser {
      CustomerLoginFeeder = "CustomerLogin.getLogin()"
    }
  }
}

и в моем файле моделирования

var flowToTest = ConfigFactory.load().getObject("config.performance.testUser").toConfig
if (ConfigFactory.load().getBoolean("config.isDummyTesting")) {
 var flowToTest = ConfigFactory.load().getObject("config.Test.testUser").toConfig
}

при выполнении потока, яЯ использую сценарий с кодом

(«Вход для клиентов»). exec (flowToTest)

и с ошибкой

ERROR : io.gatling.core.structure.ScenarioBuilder
 cannot be applied to (com.typesafe.config.Config)

Я хочу, если флаг установлен в true, он выполняет двасценарии еще один.

1 Ответ

0 голосов
/ 30 сентября 2019

Я думаю, что вы делаете ошибку, пытаясь задать поток, определенный в конфиге, а не только флаг.Затем вы можете загрузить значение флага isDummyTesting и передать его в переменную сеанса.Оттуда вы можете использовать стандартную конструкцию doIf gatling, чтобы включить Navigation.navigation, если он указан.

, поэтому в вашем файле симуляции вы можете иметь

private val isDummyTesting = java.lang.Boolean.getBoolean("isDummyTesting")

, а затем в вашем сценарии

.exec(session => session.set("isDummyTesting", isDummyTesting)) 
...
.exec(CustomerLogin.getLogin())
.doIf("${isDummyTesting}") {
  exec(Navigation.navigation)
}
...