Uso de las propiedades de usuario de JMeter con Azure Load Testing

En este artículo, aprenderá a configurar y usar las propiedades de usuario de Apache JMeter con Azure Load Testing. Con las propiedades de usuario, puede configurar la prueba manteniendo la configuración de pruebas fuera del script de prueba de JMeter. Entre los casos de uso de las propiedades de usuario se incluyen las opciones:

  • Uso del script de prueba JMX en varios entornos de implementación con distintos puntos de conexión de aplicación.
  • El script de prueba debe adaptarse a varios patrones de carga, como pruebas de humo, carga máxima o pruebas adicionales.
  • Quiere invalidar el comportamiento predeterminado de JMeter mediante la configuración de JMeter, como el formato de archivo de resultados.

Azure Load Testing admite las propiedades estándar de Apache JMeter y le permite cargar un archivo de propiedades de usuario. Puede configurar un archivo de propiedades de usuario por prueba de carga.

Como alternativa, también puede usar variables de entorno y secretos en Azure Load Testing para que las pruebas se puedan configurar.

Nota:

Azure Load Testing invalida las propiedades específicas de JMeter y omite los valores que especifique para estas propiedades. Obtenga más información sobre la lista de propiedades de JMeter que invalida Azure Load Testing.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
  • Un recurso de Azure Load Testing. Si necesita crear un recurso de Azure Load Testing, consulte la guía de inicio rápido Creación y ejecución de una prueba de carga.

Adición de un archivo de propiedades de usuario de JMeter a la prueba de carga

Para definir las propiedades de usuario para el script de prueba de JMeter, puede cargar un archivo .properties en la prueba de carga. Azure Load Testing admite un único archivo de propiedades de JMeter por prueba de carga. Asimismo, se omiten los archivos de propiedades adicionales.

El siguiente fragmento de código muestra un archivo de propiedades de usuario de ejemplo que define tres propiedades de usuario y configura la jmeter.save.saveservice.thread_name configuración:

# peak-load.properties
# User properties for testing peak load
threadCount=250
rampUpSeconds=30
durationSeconds=600

# Override default JMeter properties
jmeter.save.saveservice.thread_name=false

Para agregar un archivo de propiedades de usuario a la prueba de carga mediante Azure Portal, siga estos pasos:

  1. En Azure Portal, vaya al recurso de Azure Load Testing.

  2. En el panel izquierdo, seleccione Pruebas para ver una lista de pruebas.

  3. Para seleccionar la prueba de la lista, active la casilla y, a continuación, seleccione Editar. Como alternativa, seleccione Crear prueba para crear una nueva prueba de carga.

  4. Seleccione la pestaña Plan de prueba.

  5. Seleccione el archivo de propiedades del equipo y, a continuación, Cargar para cargar el archivo en Azure.

    Screenshot that shows the steps to upload a user properties file on the Test plan tab on the Edit test pane.

  6. Seleccione Propiedades de usuario en la lista desplegable Relevancia del archivo.

    Screenshot that highlights the file relevance dropdown for a user properties file on the Test plan pane.

    Solo puede seleccionar un archivo de propiedades de usuario para una prueba de carga.

  7. Seleccione Aplicar para modificar la prueba o Revisar y crear y, a continuación, Crear para crear la nueva prueba.

Propiedades de referencia en JMeter

Azure Load Testing admite la funcionalidad integrada de Apache JMeter para hacer referencia a las propiedades de usuario en el script de prueba de JMeter (JMX). Puede usar las funciones __property o __P para recuperar los valores de propiedad del archivo de propiedad que cargó anteriormente.

En el fragmento de código siguiente se muestra un ejemplo de cómo puede hacer referencia a las propiedades en un archivo JMX:

<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Test home page" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
    <boolProp name="LoopController.continue_forever">false</boolProp>
    <intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">${__P(threadCount,1)}</stringProp>
<stringProp name="ThreadGroup.ramp_time">${__P(rampUpSeconds,1)}</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">${__P(durationSeconds,30)}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>

Como alternativa, también se especifican las propiedades en la interfaz de usuario de JMeter. En la imagen siguiente se muestra cómo puede usar las propiedades para configurar un grupo de subprocesos de JMeter:

Screenshot that shows how to reference user properties in the JMeter user interface.

Puede descargar los registros de errores de JMeter para solucionar errores durante la prueba de carga.

Pasos siguientes