Я новичок в Scala и Gatling и пытаюсь выяснить, как лучше всего определить пользовательскую историю и передать ее ChainBuilder в сценарий Gatling.
Когда я говорю «Пользовательская история» В моем случае я имею в виду поток, который будет состоять из входа в систему, множества различных вызовов, а затем цикл по другому списку вызовов на весь период теста.
Я создал следующую функцию для создания сценария:
def createScenario(name: String, feed: FeederBuilder, chains: ChainBuilder*): ScenarioBuilder = {
scenario(name).feed(feed).forever() {
exec(chains).pause(Config.pauseBetweenRequests)
}
}
И вот как я выполняю эту функцию:
val scenario = createScenario(Config.testName, feeder.random,
setSessionParams(PARAM1, Config.param1),
setSessionParams(PARAM2, Config.param2),
login,
executeSomeCall1,
executeSomeCall2,
executeSomeCall3,
executeSomeCall4,
executeSomeCall5,
executeSomeCall6,
executeSomeCall7,
executeSomeCall8,
executeSomeCall9,
)
Вот пример того, чтоФункция executeSomeCall выглядит следующим образом:
def executeSomeCall = {
exec(http("ET Call Home")
.post("/et/call/home")
.body(ElFileBody("/redFingerBody.json")).asJson
.check(status is 200))
}
Мой первый вопрос:
Это правильный способ определить цепочку вызовов покоя и передать ее в сценарий?Я спрашиваю об этом, потому что когда я определяю такой поток, я вижу, что по какой-то причине не все мои вызовы REST фактически выполняются.Как ни странно, если я меняю порядок вызовов, он работает и все функции вызываются.(Так что я определенно делаю что-то не так)
Мой второй вопрос:
Как я могу определить бесконечный цикл в этом потоке?(Бесконечно, пока выполняется тест)
Так, например, я бы хотел, чтобы вышеописанный поток запустился, и когда он достигнет executeSomeCall8, он будет затем выполнять циклы executeSomeCall8 и executeSomeCall9 на протяжении всей продолжительности теста.,