Este artículo explica cómo parametrizar pruebas en Gatling y enviar valores desde la línea de comandos a una simulación escrita en Scala. A continuación se muestra un ejemplo de cómo invocar Maven para ejecutar una prueba Gatling pasando parámetros de usuarios y repeticiones
mvn -ntp -f $retDir/gatling/pom.xml gatling:test -Dusers=2000 -Drepeat=3
En la simulación Scala se pueden leer esos parámetros con Integer.getInteger y java.lang.Long.getLong para fijar el número de usuarios y el número de repeticiones. El siguiente fragmento muestra cómo usar esos parámetros dentro de una clase que extiende Simulation. Se han escapado los símbolos angulares para evitar interpretaciones HTML y las comillas literales se representan con entidades HTML
class LoadTest extends Simulation { val nbUsers = Integer.getInteger("users", 1000) val myRepeat = java.lang.Long.getLong("repeat", 2) val httpProtocol = http.baseUrl("https://localhost:8080") val scn = scenario("hello").repeat(myRepeat.toInt) { exec(http("GetApplicationInfo") .get("/hello") .check(status.is(200)) .check(jsonPath("$.name"))) } setUp( scn.inject( rampUsers(nbUsers) during (5 seconds) ).protocols(httpProtocol) ) }
Con esta configuración la prueba enviará nbUsers peticiones hacia https://localhost:8080/hello repetidas myRepeat veces. Los parámetros users y repeat se pasan desde la línea de comandos mediante las opciones -Dusers y -Drepeat al invocar Maven. Esto permite ejecutar varias combinaciones de carga sin modificar el código fuente, facilitando pruebas automatizadas y pipelines CI CD.
Consejos prácticos para parametrizar y ejecutar pruebas Gatling
1. Validar valores por defecto: siempre proporcione valores por defecto en el código para evitar fallos si no se pasa un parámetro. 2. Tipos y conversiones: Integer.getInteger y java.lang.Long.getLong devuelven valores empaquetados; convierta a Int cuando sea necesario. 3. Integración con CI CD: exporte variables de entorno o pase -D en los scripts de ejecución para automatizar variaciones de carga. 4. Recolección de métricas: configure checks y reportes para medir tiempos de respuesta, errores y throughput y así tomar decisiones basadas en datos.
En Q2BSTUDIO somos especialistas en desarrollo de software a medida y aplicaciones a medida. Además de pruebas de rendimiento y automatización, ofrecemos servicios en inteligencia artificial, ia para empresas, agentes IA y soluciones de inteligencia de negocio incluyendo power bi. También cubrimos ciberseguridad, servicios cloud aws y azure y consultoría para arquitecturas escalables y seguras.
Si necesitas ayuda para integrar pruebas de carga Gatling en pipelines, parametrizar escenarios para pruebas automatizadas, o diseñar aplicaciones a medida con capacidades de inteligencia artificial y análisis con power bi, en Q2BSTUDIO podemos asesorarte y desarrollar la solución adaptada a tus necesidades. Palabras clave para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.