Как параметризовать переменные Гатлинга

Как мы можем параметризовать переменные 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