Ejecutar un proyecto de Jmeter que usa Kafka desde azure devops

Buenas lectores.

Existen varias maneras de ejecutar Jmeter desde azure, sea integrado, sea como tarea para descargarlo, sea como maven, en fin, todo depende de tu necesidad. El problema es cuando usamos librerias que no están incluidas normalmente en Jmeter, aquí se nos dificulta un poco nuestra tarea de ejecutar nuestros scritps.

De momento no existe una manera optima de realizar el proceso, es decir, puedes simplemente agregando en tu pipeline la opción que descargue Jmeter y luego copias tus librerias a la carpeta de lib/ext , sin  embargo el proceso de descarga es lento , yo opté por tener todo versionado usando una versión fija y estandarizada para los procesos internos, así evito en el mismo pipeline problemas de descarga y configuraciones que siempre van a ser las mismas. La contra es que el proyecto se vuelve más pesado y demasiado estático, sin embargo, en mi caso es la más optima.

Los pasos son sencillos:

1- Subo el proyecto a azure repos, si no lo sabes hacer ya tengo un post relacionado con eso.

2- Creo un pipeline y le agrego una tarea cmd, en la línea de comandos ingresamos lo siguiente:

jmeter -n -t "$(Build.SourcesDirectory)/bin/projects/Trip/Genertor_Trip.jmx"

3- Ejecutamos

El archivo yml quedaría de la siguiente manera:

steps:

- script: 'jmeter -n -t "$(Build.SourcesDirectory)/bin/projects/Recorrido_Diario/Generar_Recorrido.jmx"'

  workingDirectory: bin

  displayName: 'Generate_Report'

Cabe anotar que le estamos diciendo que el workingDirectory sea el bin, esto para poder ejecutar directamente con la palabra jmeter, tu lo puedes configurar a tu antojo.

Adicional te dejo muchas fuentes para que pases una tarde entretenida resolviendo dudas que te vayan resultado.


Cordial saludo


Fuentes:

https://www.youtube.com/watch?v=pFt5G5lVgFA

https://jmeter-plugins.org/wiki/PluginsManagerAutomated/

https://www.youtube.com/watch?v=5sURQwGvy1Y

https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Remote-Server-Configuration

https://www.youtube.com/watch?v=zE5qg3YDYas

https://betterprogramming.pub/automate-on-premise-performance-testing-with-azure-devops-and-linux-59e5f777eb80

https://www.youtube.com/watch?v=-bImzB3N6Cc

https://stackoverflow.com/questions/76261237/how-to-integrate-jmeter-web-driver-to-azure-pipeline

https://github.com/algattik/azure-pipelines-jmeter-extension/blob/master/overview.md

https://github.com/Azure-Samples/jmeter-aci-terraform

https://www.linkedin.com/pulse/creating-devops-jmeter-cicd-pipeline-using-taurus-haider-ali

https://q-automations.com/2019/05/29/run-apache-jmeter-load-tests-with-azure-devops/

https://colinsalmcorner.com/executing-jmeter-tests-in-an-azure-pipeline/

https://iwconnect.com/how-to-run-jmeter-performance-and-functional-tests-on-azure-devops/

https://learn.microsoft.com/en-us/azure/load-testing/how-to-create-and-run-load-test-with-jmeter-script?tabs=portal

https://learn.microsoft.com/en-us/previous-versions/azure/devops/all/load-test/get-started-jmeter-test?view=tfs-2017

https://www.youtube.com/watch?v=arbbf9MfcJw

https://www.youtube.com/watch?app=desktop&v=7gBECXzLe7Y

https://stackoverflow.com/questions/74156497/installing-jmeter-for-tests-in-azure-devops-pipeline-job

https://medium.com/swlh/running-jmeter-load-tests-and-publishing-jmeter-report-within-azure-devops-547b4b986361

https://medium.com/@gabriel.starczewski/jmeter-and-azure-pipelines-55f0594239ac

https://github.com/Azure-Samples/jmeter-aci-terraform/blob/main/pipelines/azure-pipelines.load-test.yml

https://github.com/testsmith-io/example-jmeter-azure-devops-integration/blob/master/azure-pipelines.yml

https://colinsalmcorner.com/executing-jmeter-tests-in-an-azure-pipeline/

https://www.testsmith.io/en/blog/integrate-jmeter-performance-tests-with-azure-devops-controlled-by-an-azure-pipeline

https://www.youtube.com/watch?v=Oo0XthhTuMQ


Comentarios

Entradas populares de este blog

Tiempo de espera "muerto" explicito en Playwright

SerenityBDD - Almacenar valores en memoria (pasar información entre steps)

Subir mi proyecto local a Azure repos