使用Maven命令运行Gatling测试时无法识别gatling.conf配置文件
根因分析
你通过Maven命令执行时指定的-Dgatling.conf.file=gatling.conf参数,默认会从**执行命令的当前工作目录(通常是项目根目录,和pom.xml同级的目录)**读取文件系统路径下的配置文件,而非读取类路径下的src/test/resources/gatling.conf。而IDE运行Engine类时会自动把src/test/resources加入类路径,默认优先加载类路径下的gatling.conf,所以能生效。
解决方案
以下三种方案任选其一即可:
- 方案1:保留参数,增加类路径前缀
把命令中的配置文件路径参数加上classpath:前缀,明确告知Gatling从类路径加载配置,修改后命令如下:mvn clean gatling:test -Dgatling.simulationClass=PerformanceTest -Dgatling.conf.file=classpath:gatling.conf - 方案2:删除显式指定配置文件的参数
Gatling默认会自动扫描加载类路径下名为gatling.conf的配置文件,只要你的文件确实放在src/test/resources路径下,直接删掉-Dgatling.conf.file=gatling.conf参数即可,修改后命令如下:mvn clean gatling:test -Dgatling.simulationClass=PerformanceTest - 方案3:把配置文件放到项目根目录
如果你不想修改运行命令,直接把src/test/resources/gatling.conf复制一份放到项目根目录(和pom.xml同层级),原命令即可正常读取配置,不推荐该方案,会导致同一份配置需要维护两份。
生效验证
你可以在gatling.conf中修改一个可直观观测的配置项,比如调整控制台日志输出级别、修改压测报告输出路径,运行命令后检查对应配置是否生效即可。
内容的提问来源于stack exchange,提问作者Lusitha
相关产品推荐
相关产品推荐

