Как мы можем параметризовать переменные Gatling и передавать параметры из командной строки в Gatling? В большинстве случаев, когда вы создаете сценарий производительности, вы хотите запустить моделирование с другим набором параметров, таких как пользователи, время и продолжительность нарастания, или даже другая среда.
В этом руководстве по Gatling мы будем использовать Maven в качестве инструмента сборки и покажем, как параметризовать тест, чтобы мы могли передавать различные значения из командной строки или инструмента CI, такого как Jenkins, в наш класс моделирования.
Во-первых, в разделе сборки файла pom.xml должно быть следующее:
io.gatling
gatling-maven-plugin
${gatling-plugin.version}
simulations.LoginSimulation
-Denv=stable
-Dusers=${users}
-Drampup=${rampup}
-Dduration=${duration}
-Dthroughput=${throughput}
-Xms2g
-Xmx5g
true
Затем в объекте конфигурации мы можем ссылаться на указанные выше переменные для ввода значений, переданных из командной строки:
object Configuration { val t_concurrency = Integer.getInteger('users', 10).toInt val t_rampUp = Integer.getInteger('rampup', 1).toInt val t_holdFor = Integer.getInteger('duration', 60).toInt val t_throughput = Integer.getInteger('throughput', 100).toInt }
Если пользователь не предоставляет никаких значений для переменных, используются значения по умолчанию. Например, значение по умолчанию для пользователей - 10.
После того, как у нас будет указанная выше настройка, мы можем использовать командную строку или из инструмента CI для передачи параметров в файл pom.xml, который, в свою очередь, вводит их в класс моделирования.
mvn clean gatling:execute -Dusers=20 -Drampup=2 -Dduration=60 -Dthroughput=100