When my script is in %GATLING_HOME%/user-files/simulations, it works fine. Then I moved it to my source control workspace and tried to run it with options:
%GATLING_HOME%\bin\gatling.bat -sf …\scripts -df …\data -bdf …\bodies -bf …\target
And I got the result as below:
There is no simulation script. Please check that your scripts are in user-files/simulations
Do I misunderstand -sf option?
Seems that the problem is -bf option. After executing the command above, I found that the classes are still compiled to the default location: %GATLING_HOME%\target, and the folder specified via -bf option is still empty. I opened gatling.bat and found lines as below:
rem Run the compiler
for %%i in ("%GATLING_HOME%\lib*.jar") do call :addToPath “%%i”
java %COMPILER_OPTS% -cp %COMPILER_CLASSPATH% io.gatling.compiler.ZincCompiler -ccp %COMPILATION_CLASSPATH% %USER_ARGS% 2>NUL
rem Run Gatling
java %JAVA_OPTS% -cp %GATLING_CLASSPATH% io.gatling.app.Gatling %USER_ARGS%
Seems %USER_ARGS% is not used during the compilation, but my understanding is that -bf option is compilation related. Can somebody give me some clues here?
And in the zincCache file, the beginning lines also confirms that the folder specified via -bf option is not used during compilation, and the default folder is used instead.
format version: 5
0 → single
output dir → C:\gatling\target\test-classes
Assuming you are using 2.1.X version of gatling, looks like the compiler does not support the -bf option.
Check it our here. https://github.com/gatling/gatling/blob/2.1.X/gatling-compiler/src/main/scala/io/gatling/compiler/config/cli/ArgsParser.scala
2.2.X should have it supported.
Thanks Yifan. Yes, I’m using 2.1.7, so that explains it. Will have a try with the latest snap shot.