Передача параметров командной строки в проекте gatling sbt

Я хочу передать пользователям наращивание, регулировать продолжительность, продолжительность удержания и т. д., используя параметры командной строки в проекте gatling sbt.

например:

val rampUpUserCount  =  Integer.parseInt(System.getProperty("rampUpUsers"))
val rampUpDuration = Integer.getInteger(System.getProperty("rampUpDuration"))

В тесте я делаю

setUp(
    test.homePageScenario.inject(
      nothingFor(10 seconds),
      rampUsers(rampUpUserCount) over (rampUpDurationInMins minutes)
))

и из командной строки, когда я прохожу

 sbt gatling:testOnly simulations.test.gateway -DrampUpUsers=200 -DrampUpDuration=20

Я получаю NumberFormatException

16:28:44.570 [INFO ] a.e.s.Slf4jLogger - Slf4jLogger started
[error] java.lang.NumberFormatException: null
[error]     at java.lang.Integer.parseInt(Integer.java:542)
[error]     at java.lang.Integer.parseInt(Integer.java:615)
[error]     at simulations.SimulationConfig.$init$(SimulationConfig.scala:185)
[error]     at simulations.engineGateway.GetRecsFromThinkGateway.<init>(GetRecsFromThinkGateway.scala:10)
[error]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[error]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[error]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[error]     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[error]     at java.lang.Class.newInstance(Class.java:442)
[error]     at io.gatling.app.Runner.run0(Runner.scala:79)
[error]     at io.gatling.app.Runner.run(Runner.scala:64)
[error]     at io.gatling.app.Gatling$.start(Gatling.scala:59)
[error]     at io.gatling.app.Gatling$.fromArgs(Gatling.scala:43)
[error]     at io.gatling.sbt.GatlingTask.liftedTree1$1(GatlingTask.scala:51)
[error]     at io.gatling.sbt.GatlingTask.execute(GatlingTask.scala:50)
[error]     at sbt.ForkMain$Run$2.call(ForkMain.java:296)
[error]     at sbt.ForkMain$Run$2.call(ForkMain.java:286)
[error]     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]     at java.lang.Thread.run(Thread.java:748)

Пожалуйста, может кто-нибудь помочь мне с этим? Спасибо


person rv2212    schedule 30.10.2018    source источник


Ответы (1)


Вам нужно переместить параметры перед задачей gatling:testOnly

 sbt -DrampUpUsers=200 -DrampUpDuration=20 gatling:testOnly simulations.test.gateway 
person Luca T.    schedule 31.10.2018
comment
Привет, спасибо за ваш ответ. Я пробовал, но все равно получаю ту же ошибку, то есть исключение числового формата. - person rv2212; 01.11.2018
comment
Эй, я попробовал еще раз, и это сработало. Спасибо за вашу помощь - person rv2212; 02.11.2018