Historial de cambios anteriores

Esta página detalla los cambios realizados en versiones anteriores únicamente.
Los cambios actuales se detallan en Cambios .

Las secciones de cambios están ordenadas cronológicamente de arriba (más reciente) a abajo (menos reciente)

Versión 5.4.2

Resumen

Esta versión es una versión de corrección contra la vulnerabilidad CVE-2021-44228: las características de Apache Log4j2 JNDI no protegen contra LDAP controlado por atacantes y otros puntos finales relacionados con JNDI.

Nuevo y digno de mención

mejoras de experiencia de usuario

Cambios incompatibles

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

Otros muestreadores

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

Informe / Tablero

General

Cambios no funcionales

  • Apache log4j2 actualizado a 2.16.0 (desde 2.13.3).

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

Otros muestreadores

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

Informe / Tablero

Documentación

General

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.
  • Desde Java 11, la implementación de JavaScript Nashorn ha quedado obsoleta . Java emitirá las siguientes advertencias de obsolescencia si utiliza JavaScript basado en Nashorn.
    Advertencia: se planea eliminar el motor Nashorn de una futura versión de JDK
    
    Para silenciar estas advertencias, agregue -Dnashorn.args=--no-deprecation-warning a sus argumentos de Java. Eso se puede lograr configurando la variable de entorno JVM_ARGS
    exportar JVM_ARGS="-Dnashorn.args=--no-advertencia-advertencia"
    
  • Con Java 15, se eliminó la implementación de JavaScript Nashorn . Para volver a agregar un motor JavaScript compatible con JSR-223, tiene dos opciones:
    Usar Mozilla Rhino
    Copie rhino-engine-1.7.13.jar en $JMETER_HOME/lib/ext .
    Usar OpenJDK Nashorn
    La implementación de OpenJDK Nashorn viene como un módulo. Para usarlo, deberá descargarlo y agregarlo a la ruta del módulo. A continuación se describe una forma pirateada de descargar la versión 15.0 y sus dependencias y establecer la ruta del módulo:
    mkdir lib/módulos
    pushd lib/módulos
    wget https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/15.0/nashorn-core-15.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar
    papá
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmetro
          

Versión 5.4.1

Resumen

Nuevo y digno de mención

mejoras de experiencia de usuario

Cambios incompatibles

  • Reinicie después de que se haya restablecido el cambio LAF, se eliminó en JMeter 5.3

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

Otros muestreadores

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

Informe / Tablero

General

  • Error 65028 : agregar documentación para la propiedad client.rmi.localport
  • Error 65012 : mejor manejo de la visualización de comentarios largos en la GUI

Cambios no funcionales

  • SaxonHE actualizado a 9.9.1-8 (de 9.9.1-7)
  • Asm actualizado a 9.0 (desde 7.3.1)
  • Castillo hinchable actualizado a 1.67 (desde 1.66)
  • Cafeína actualizada a 2.8.8 (de 2.8.0)
  • Commons-codec actualizado a 1.15 (desde 1.14)
  • Commons-io actualizado a 2.8.0 (de 2.7)
  • Commons-net actualizado a 3.7.2 (de 3.7)
  • Jackson actualizado a 2.10.5 (de 2.10.3)
  • Junit actualizado a 4.13.1 (desde 4.13)
  • ph-commons actualizado a 9.5.1 (de 9.4.1)
  • ph-css actualizado a 6.2.3 (desde 6.2.1)
  • Groovy actualizado a 3.0.7 (desde 3.0.5)
  • Xstream actualizado a 1.4.15 (desde 1.4.14)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 64955 : la contraseña del almacén de claves no se restablece al recargar
  • Error 65002 : la grabadora de secuencias de comandos de prueba HTTP(S) crea una URL de autenticación básica no válida. Aportado por Ubik Load Pack (https://ubikloadpack.com)
  • Error 65004 : la grabadora de secuencias de comandos de prueba HTTP(S) calcula una solicitud HTTP incorrecta que interrumpe la aplicación. Aportado por Ubik Load Pack (https://ubikloadpack.com)
  • Error 64543 : en MacOSX, el tema Darklaf- IntelliJ lanza NPE en javax.swing.ToolTipManager.initiateToolTip
  • Error 65024 : el envío de tipo MIME con parámetro arroja IllegalArgumentException
  • Error 65029 : esfuércese más para adivinar correctamente la URL de los applets, cuando la descarga de URL incrustadas está habilitada

Otros muestreadores

  • Error 65034 : ignorar SocketTimeoutException en BinaryTCPClientImpl , cuando no se establece ningún byte EOM. Regresión introducida por la confirmación c190641e4f0474a34a366a72364b0a8dd25bfc81 que solucionó el error 52104 - . Ese error se trataba de manejar el caso de esperar un MOE.

Controladores

Oyentes

  • Error 64821 : al importar archivos jtl con formato XML, se cambiará el nombre de las muestras secundarias
  • Error 65052 : falta XPath2 Tester y JSON JMESPath Tester en la propiedad view.results.tree.renderers_order

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

Informe / Tablero

Documentación

  • Error 64960 : cambie la referencia del programador en la documentación del grupo de subprocesos. Contribución de Ori Marko
  • Error 65006 : la ilustración del elemento predeterminado de solicitud HTTP completo (Figura 4.4) contiene información engañosa

General

  • Error 64957 : al importar un plan de prueba de ejemplo, JMeter muestra una NullPointerException
  • Error 64961 - Darklaf: en Windows 7, NPE en BasicEditorPaneUI.cleanDisplayProperties con Darklaf Intellij
  • Error 64963 : se ve información sobre herramientas de comentarios en blanco
  • Error 64969 : RemoteJMeterEngineImpl#rexit no cancela la exportación de RemoteJMeterEngineImpl al salir. Contribuido por luo_isaiah en qq.com
  • Error 64984 - Darklaf LAF: la selección de un elemento de prueba no funciona con ciertas resoluciones de pantalla en Windows. Con la ayuda de Jannis Weis
  • Error 65008 - SampleResult.setIgnore() llamado desde PostProcessor no se considera
  • Error 64993 - Daklaf LAF: la navegación del menú no funciona con atajos de teclado. Con la ayuda de Jannis Weis
  • Error 65013 : el código POST multipart/form-data cURL con argumentos entre comillas no se importa correctamente

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.
  • Desde Java 11, la implementación de JavaScript Nashorn ha quedado obsoleta . Java emitirá las siguientes advertencias de obsolescencia si utiliza JavaScript basado en Nashorn.
    Advertencia: se planea eliminar el motor Nashorn de una futura versión de JDK
    
    Para silenciar estas advertencias, agregue -Dnashorn.args=--no-deprecation-warning a sus argumentos de Java. Eso se puede lograr configurando la variable de entorno JVM_ARGS
    exportar JVM_ARGS="-Dnashorn.args=--no-advertencia-advertencia"
    
  • Con Java 15, se eliminó la implementación de JavaScript Nashorn . Para volver a agregar un motor JavaScript compatible con JSR-223, tiene dos opciones:
    Usar Mozilla Rhino
    Copie rhino-engine-1.7.13.jar en $JMETER_HOME/lib/ext .
    Usar OpenJDK Nashorn
    La implementación de OpenJDK Nashorn viene como un módulo. Para usarlo, deberá descargarlo y agregarlo a la ruta del módulo. A continuación se describe una forma pirateada de descargar la versión 15.0 y sus dependencias y establecer la ruta del módulo:
    mkdir lib/módulos
    pushd lib/módulos
    wget https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/15.0/nashorn-core-15.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar
    papá
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmetro
          

Versión 5.4

Resumen

Nuevo y digno de mención

mejoras de experiencia de usuario

Error 62179 - Error 64658 - La pantalla de inicio ahora es modal de aplicación en lugar de modal de sistema, por lo que no bloquea otras aplicaciones cuando JMeter se está iniciando.

Cambios incompatibles

  • Elimine la funcionalidad del registrador LogKit de algunas clases. Esto tenía la intención de eliminar por completo la clase LoggingManager (ha quedado en desuso desde JMeter 3.2), pero como los complementos de jmeter dependían de él, LoggingManager y nuestro adaptador LogKit permanecerán para esta versión (pero aún están en desuso).

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

Otros muestreadores

  • Error 64555 : establecer el campo de encabezado JMSType a través de JMSProperties. Contribución de Daniel van den Ouden

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

Informe / Tablero

  • Error 64824 - Tablero/Informe HTML: Cambiar el nombre de KO a FAIL
  • Error 64936 : aumente generate_report_ui.generation_timeout a 5 minutos para manejar una prueba de rendimiento grande

General

  • Error 64446 : mejor análisis de los comandos curl con barra invertida en los finales de línea y compatibilidad con el método PUT con argumentos de datos
  • Solicitud de extracción n.° 599 : asegúrese de que todos los botones agregados a la barra de herramientas se comporten o se vean de manera consistente. Contribución de Jannis Weis
  • Error 64581 : Permitir que SampleResult#setIgnore influya en el comportamiento en el error del muestreador
  • Error 64680 : volver a JMETER_HOME al iniciar para detectar el directorio de instalación de JMeter
  • Error 64787 - Solicitud de extracción n.º 630 - Agregar traducción al coreano. Contribución de Woonsan Ko (woonsan en apache.org)
  • Error 64776 : agregue la capacidad de instalar SecurityProvider adicional. Contribución de Timo (ASF.Software.Timo en Leefers.eu)

Cambios no funcionales

  • Sistema de compilación actualizado de Gradle a 6.7 (desde 6.6)
  • Solicitud de extracción n.º 594 - Actualizado neo4j-java-driver a 4.2.0 (desde 1.7.5)
  • Error 64454 : mensaje de error más preciso, cuando no se puede encontrar ningún valor de fuente de datos en la muestra de JDBC
  • Error 64440 : excepciones de registro notificadas a través de JMeterUtils#reportToUser incluso en modo GUI
  • Solicitud de extracción n.º 591 : eliminar el indicador sudo obsoleto del archivo travis. Deng Liming (liming.d.pro en gmail.com)
  • Darklaf actualizado a 2.4.10 (desde 2.1.1)
  • Groovy actualizado a 3.0.5 (desde 3.0.3)
  • Solicitud de extracción n.° 596 : use palabras neutrales en la documentación
  • Error 63809 : solicitud de extracción n.° 557 : se actualizaron las colecciones comunes a 4.4 (desde 3.2.2) y se conservaron los archivos jar para las antiguas colecciones comunes 3.x por compatibilidad.
  • Solicitud de extracción n.º 598 : agregue otra opción para crear diferencias en la página de construcción. Aportado por jmetertea (github.com/jmetertea)
  • Solicitud de extracción n.º 609 : utilice la API más nueva para la instalación de darklaf. jannis weis
  • Solicitud de extracción n.º 612 - Errores tipográficos correctos en README.md . Basado en parches de Pooja Chandak (poojachandak002 en gmail.com)
  • Solicitud de extracción n.º 613 : agregar documentación para las propiedades de Darklaf. jannis weis
  • Actualice SpotBugs a 4.1.2 (desde 4.1.1), actualice spotbugs-gradle-plugin a 4.5.0 (desde 2.0.0)
  • Actualice el complemento org.sonarqube Gradle a 3.0 (desde 2.7.1)
  • Actualice Apache ActiveMQ a 5.16.0 (desde 5.15.11)
  • Actualice Bouncycastle a 1.66 (desde 1.64)
  • Actualice Apache commons-io a 2.7 (desde 2.6)
  • Actualice Apache commons-lang3 a 3.11 (desde 3.10)
  • Actualice Apache commons-net a 3.7 (desde 3.6)
  • Actualice Apache commons-pool2 a 2.9.0 (desde 2.8.0)
  • Actualice Apache commons-text a 1.9 (desde 1.8)
  • Actualizar equalsverifier a 3.4.2 (desde 3.1.13)
  • Actualizar junit5 a 5.6.2 (desde 5.6.0)
  • Actualice Apache log4j2 a 2.13.3 (desde 2.13.1)
  • Actualice rsyntaxtextarea a 3.1.1 (desde 3.1.0)
  • Actualice JUnit5 a 5.7.0 (desde 5.6.2)
  • Actualice Rhino a 1.7.13 (desde 1.7.12)
  • Actualice XStream a 1.4.14 (desde 1.4.14.1)
  • Actualice Apache commons-dbcp2 a 2.8.0 (desde 2.7.0)
  • Solicitud de extracción n.º 635 : corregir algunas proporciones de imagen en la documentación. Parche proporcionado por Vincent Daburon (vdaburon en gmail.com)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 64479 - Regresión: HTTP(s) Script Recorder impide el apagado adecuado en modo no GUI
  • Error 64653 : excluir Javascript y JSON del análisis de conjuntos de caracteres de formularios por proxy

Otros muestreadores

Controladores

  • Error 64795 : es posible que generar un informe de resumen no genere una línea de resumen en el intervalo configurado ( summariser.interval ): aclarar la documentación

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 64638 - Aserción JSON JMESPath/Aserción JSON: la GUI al abrir muestra una barra de desplazamiento horizontal que sigue deslizándose
  • Error 64915 : JMeter Cache Manager se comporta mal cuando se marca "Usar Cache-Control/Expires header"

Funciones

I18N

Informe / Tablero

  • Error 64547 : informe/panel: asegúrese de que los códigos de respuesta de los gráficos por segundo no se interrumpan por un código de respuesta vacío en SampleResult. Aportado por Ubik Load Pack (https://ubikloadpack.com)
  • Error 64617 : informe HTML: en el gráfico, los percentiles de tiempo de respuesta a lo largo del tiempo, los percentiles 90, 95 y 99 corresponden en realidad a los percentiles 0,90, 0,95 y 0,99
  • Error 64553 : al usar Transaction Controller, los bytes enviados y los bytes recibidos se muestran como 0 en influxdb (BackendListener)
  • Error 64624 : use un escape menos agresivo para las cadenas JSON en los mensajes de error de los informes

Documentación

  • Solicitud de extracción n.º 571 : nombre documentado correcto de la CA generada cuando se usa la grabadora de scripts de proxy. Parte de un PR más grande. Vincent Daburon (vdaburon en gmail.com)
  • Cambie la documentación de la funcionalidad de encabezado especial del servidor espejo para reflejar la implementación.

General

  • Error 64448 : Duplicación de variables definidas por el usuario en el menú contextual del botón derecho
  • Error 64499 : salir de JMeter cuando jmeterengine.stopfail.system.exit=true lleva demasiado tiempo si los subprocesos no se detienen
  • Error 64510 : Darklaf: el tema IntelliJ lanza NPE en DarkTreeUI en MacOS
  • Error 64594 : no se pueden ingresar valores de variables en lugar de valores numéricos en componentes que usan PowerTableModel (impacta complementos de terceros como el temporizador de modelado de rendimiento)
  • Error 64475 - Menú Generar informe HTML: cuando la generación del informe falla debido a un tiempo de espera, el mensaje de error no es explícito. Aportado por Ubik Load Pack (https://ubikloadpack.com)
  • Error 64627 : la manipulación programática del flujo de control a través de los métodos API de JMeterContext no funciona como antes de la versión 5.0. Contribución de Till Neunast
  • Error 64647 : falta groovy-dateutil en la distribución
  • Error 64640 : Darklaf: NPE en com.github.weisj.darklaf.ui.DarkPopupFactory.getPopupType(DarkPopupFactory.java:96)
  • Error 64641 : Darklaf: NPE en com.github.weisj.darklaf.ui.tree.DarkTreeUI.isChildOfSelectionPath(DarkTreeUI.java:603) ~[darklaf-core-2.4.2-SNAPSHOT.jar:2.4.2-SNAPSHOT]
  • Error 64453 - Darklaf: error al guardar el plan de prueba como carpeta nueva
  • Error 64625 - Darklaf: intentar seleccionar una carpeta en Examinar genera una ventana emergente de error y seguimiento de pila
  • Error 64711 : los colores del área de texto no son buenos en los modos oscuros. Contribución de Jannis Weis
  • Error 64935 : una clase de complemento rota no debería evitar que JMeter se inicie

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Michael Weidmann (https://github.com/michaelweidmann)
  • Deng Liming (liming.d.pro en gmail.com)
  • jmetertea (https://github.com/jmetertea)
  • Paquete de carga Ubik
  • jannis weis
  • Daniel van den Ouden
  • Hasta Neunast (https://github.com/tilln)
  • Pooja Chandak (poojachandak002 en gmail.com)
  • Vincent Daburon (vdaburon en gmail.com)
  • Woonsan Ko (woonsan en apache.org)
  • Timo (ASF.Software.Timo en Leefers.eu)
  • Graham Russell (graham en ham1.co.uk)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

  • Hiroyoshi Mitsumori (mitsumori en mis.dev)

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.
  • Desde Java 11, la implementación de JavaScript Nashorn ha quedado obsoleta . Java emitirá las siguientes advertencias de obsolescencia si utiliza JavaScript basado en Nashorn.
    Advertencia: se planea eliminar el motor Nashorn de una futura versión de JDK
    
    Para silenciar estas advertencias, agregue -Dnashorn.args=--no-deprecation-warning a sus argumentos de Java. Eso se puede lograr configurando la variable de entorno JVM_ARGS
    exportar JVM_ARGS="-Dnashorn.args=--no-advertencia-advertencia"
    
  • Con Java 15, se eliminó la implementación de JavaScript Nashorn . Para volver a agregar un motor JavaScript compatible con JSR-223, tiene dos opciones:
    Usar Mozilla Rhino
    Copie rhino-engine-1.7.13.jar en $JMETER_HOME/lib/ext .
    Usar OpenJDK Nashorn
    La implementación de OpenJDK Nashorn viene como un módulo. Para usarlo, deberá descargarlo y agregarlo a la ruta del módulo. A continuación se describe una forma pirateada de descargar la versión 15.0 y sus dependencias y establecer la ruta del módulo:
    mkdir lib/módulos
    pushd lib/módulos
    wget https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/15.0/nashorn-core-15.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar
    wget https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar
    papá
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmetro
          

Versión 5.3

Resumen

Nuevo y digno de mención

mejoras de experiencia de usuario

Se agregó la apariencia de Darklaf que mejora varios componentes.

El nivel de sangría del árbol es más fácil de seguir:

Árbol JMeter con tema Darklaf Darcula
Árbol JMeter con tema Darklaf Darcula
Árbol JMeter con tema Darklaf IntelliJ
Árbol JMeter con tema Darklaf IntelliJ

Nueva apariencia y temas. Luz: IntellJ, luz solarizada, luz de alto contraste. Oscuro: OneDark, Solarized Dark, HighContrast Dark.

Cuando un elemento en el árbol está deshabilitado, todos sus descendientes se muestran en gris. Por ejemplo, While Contoller está deshabilitado en el siguiente árbol, por lo que sus elementos secundarios son grises. Es puramente un cambio de interfaz de usuario y el comportamiento no se altera.

Mientras que el controlador está deshabilitado, sus hijos son grises
Mientras que el controlador está deshabilitado, sus hijos son grises

El menú contextual del árbol se muestra incluso en caso de que se cambie la selección del nodo. Anteriormente, la ventana emergente desaparecía y era necesario seleccionar un nodo primero y solo luego iniciar la ventana emergente.

La apariencia ahora se puede actualizar sin reiniciar

Use CTRL  +  ALT  +  rueda para hacer zoom en las fuentes. El atajo anterior era CTRL  +  MAYÚS  +  rueda , sin embargo, entraba en conflicto con el desplazamiento horizontal.

El zoom en la aplicación es más consistente (por ejemplo, a veces no se escalaron todas las etiquetas o incluso los paneles). Por ejemplo: el visor de registros, el editor de código JSR223 no se escalaron previamente con la función de acercar/alejar

El menú contextual del árbol se muestra para la fila completa, no solo para la etiqueta

Compatibilidad con deshacer y rehacer para campos editables. Las pulsaciones de teclas son CTRL  +  Z / CTRL  +  SHIFT  +  Z o CMD  +  Z / CMD  +  SHIFT  +  Z según el sistema operativo. Deshacer se implementa a nivel de campo (cada campo tiene su propio historial), y el historial se invalida cuando cambia la selección del árbol.

Marque el idioma actualmente seleccionado en el menú de opciones.

Marque el nivel de registro actualmente seleccionado en el menú de opciones.

Reelaboración de muchas IU de elementos de prueba (solicitud JUnit, controlador ForEach, controlador If, controlador de rendimiento, controlador While, configuración de contador, extractor XPath2, cuadro de diálogo auxiliar de función, ventana emergente de búsqueda, elementos JMS)

Cambios incompatibles

  • El valor predeterminado de httpclient4.time_to_live se ha modificado de 2000 a 60000 , lo que significa que las conexiones HTTP durarán más que antes. Esto tiene un impacto en la creación de conexiones y el protocolo de enlace SSL, consulte el error 64289
  • La actualización de Groovy 3 ( solicitud de extracción n.º 590 -) podría romper algún código antiguo de Groovy de tus pruebas. Echa un vistazo a las notas de actualización de Groovy 3

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 64160 - Prueba HTTP/S Test Script Recorder: controlador de transacción de nombre/controlador simple usando el prefijo sin el sufijo " -XXXX "
  • Error 64289 : haga que httpclient4.time_to_live sea 60000 para estar más cerca del comportamiento típico del navegador

Otros muestreadores

  • Error 64288 - Solicitud JUnit: Mejorar UX
  • Error 64407 : mejora la experiencia de usuario de JMS Publisher. Aportado por Ubik Load Pack (https://ubikloadpack.com)
  • Error 64408 : mejora la experiencia de usuario del suscriptor de JMS. Aportado por Ubik Load Pack (https://ubikloadpack.com)

Controladores

Oyentes

  • Error 64150 - Ver árbol de resultados: permitir la edición de datos de respuesta en probadores
  • Error 63822 - Ver árbol de resultados: mantener la posición del panel dividido al cambiar el modo de representación

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 64091 : la generación de programación del temporizador de rendimiento preciso se ha mejorado significativamente (por ejemplo, 2 segundos para 10 millones de muestras)
  • Error 64281 - Configuración de contador: Mejorar UX
  • Error 64283 - Extractor XPath2: mejora de UX

Funciones

  • Error 64070 : la función _timeshift no funciona con formateadores de compensación
  • Error 64275 - Diálogo de asistente de función: Mejorar UX

I18N

  • Error 64102 : agregar traducción al chino para el menú Herramientas. Contribución de Liu XP (liu_xp2003 en sina.com)

Informe / Tablero

  • Error 64380 : agregue un campo ' Mediana ' al tablero y haga que los campos de percentil de tiempo de respuesta admitan números de punto flotante. Contribución de Keith Mo (https://github.com/keithmork)
  • Error 64378 : la generación de informes HTML no debería fallar si un complemento ha registrado un gráfico y no está más presente en classpath; en su lugar, emita una advertencia.

General

Cambios no funcionales

  • Sistema de compilación actualizado de Gradle a 6.3 (de 6.1), ahora se puede usar Java 14 para la compilación
  • Error 63963 - Solicitud de extracción n.º 546 - Jackson actualizado a 2.10.3 (desde 2.9.10)
  • Error 64120 : jsoup actualizado a 1.13.1 (desde 1.12.1)
  • Error 63809 : commons-dbcp2 actualizado a 2.7.0 (desde 2.5.0)
  • Apache ActiveMQ actualizado a 5.15.11 (desde 5.15.8)
  • Castillo hinchable actualizado a 1.64 (desde 1.60)
  • Asm actualizado a 7.3.1 (desde 7.1)
  • Apache commons-codec actualizado a 1.14 (desde 1.13)
  • Apache commons-pool actualizado a 2.8.0 (desde 2.7.0)
  • Se actualizó equalsverifier a 3.1.9 (de 3.1.12)
  • Apache Groovy actualizado a 2.4.18 (desde 2.4.16)
  • hsqldb actualizado a 2.5.0 (desde 2.4.1)
  • Hamcrest actualizado a 2.2 (de 2.1)
  • Apache httpclient y httpmime actualizados a 4.5.12 (desde 4.5.10)
  • Apache httpcore y httpcore-nio actualizados a 4.4.13 (desde 4.4.12)
  • Apache Tika actualizado a 1.24.1 (desde 1.22)
  • jmespath actualizado a 0.5.0 (desde 0.3.0)
  • Apache log4j actualizado a 2.13.1 (desde 2.12.1)
  • Junit4 actualizado a 4.13 (desde 4.12)
  • Junit5 actualizado a 5.6.0 (desde 5.5.1)
  • slf4j actualizado a 1.7.30 (desde 1.7.28)
  • ph-commons actualizado a 9.4.1 (de 9.3.7)
  • ph-css actualizado a 6.2.2 (desde 6.2.0)
  • rsyntaxtextarea actualizado a 3.1.0 (de 3.0.4)
  • Rhino actualizado a 1.7.12 (desde 1.7.11)
  • SaxonHE actualizado a 9.9.1-7 (de 9.9.1-5)
  • cglib actualizado a 3.2.12 (de 3.2.9)
  • Commons-lang3 actualizado a 3.10 (desde 3.9)
  • Freemarker actualizado a 2.3.30 (desde 2.3.29)
  • Hamcrest-date actualizado a 2.0.7 (de 2.0.4)
  • Equalsverifier actualizado a 3.1.13 (desde 3.1.12)
  • Xstream actualizado a 1.4.11.1 (desde 1.4.11)
  • Solicitud de extracción n.º 559 : agregue una nota a la fuente de TrustAllSSLSocketFactory, indicando que no es seguro confiar en todos. Basado en un PR de YYTVicky (yytvicky en github)
  • Solicitud de extracción n.º 588 : agregue documentación sobre el uso de InfluxDB v2 para obtener resultados en tiempo real. Basado en relaciones públicas de Jakub Bednář (jakub.bednar en gmail.com)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 64400 : haga que la clasificación de muestras grabadas en controladores de transacciones sea más predecible
  • Error 64267 : cuando la autenticación preventiva está deshabilitada, HTTP Sampler no responde automáticamente al desafío de autenticación básica

Otros muestreadores

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 64091 : el temporizador de rendimiento preciso puede producir menos muestras cuando se usa una duración de prueba baja
  • Error 64142 : la presencia de DebugPostProcessor en el plan de prueba interrumpe ActiveThread Over time en el informe debido a la falta de información
  • Error 64196 : recurso a submuestreadores más profundo al verificar afirmaciones
  • Error 64196 - Recurse en sampleResults para AbstractScopedTestElement#getSampleList
  • Error 64381 : PreciseThroughputTimer: al finalizar, el mensaje de registro contiene un valor negativo

Funciones

I18N

Informe / Tablero

  • Error 64059 : Percentiles de tiempo de respuesta a lo largo del tiempo, no se pueden cambiar los percentiles

Documentación

  • Solicitud de extracción n.º 547 : documentación correcta del nivel de registro. Contribuido por jmetertea
  • Solicitud de extracción n.° 548 : corrección de errores tipográficos en la documentación. Contribuido por jmetertea
  • Error 64022 : traducción china correcta para "Ignorar bloques de subcontrolador". Proporcionado por yangxiaofei77 (yangxiaofei77 en gmail.com)
  • Solicitud de extracción n.º 552 : corrección de la descripción de la asignación del puerto client.rmi.localport . Aportado por anant-93
  • Solicitud de extracción n.° 543 : ¿aclarar la documentación de la función __StringToFile con respecto al valor predeterminado de Agregar al archivo? parámetro. Contribución de Ori Marko
  • Error 64302 : enlaces correctos a la API de JMeter en documentos imprimibles y mejores prácticas de BeanShell y al sitio web de implementación de JavaFX en todos los documentos. Reportado por 2477441814 (2477441814 en qq.com)

General

  • Error 63945 : NPE al abrir un archivo después de cambiar el sistema de archivos
  • Error 64034 : los scripts de Shell fallan si hay espacio en la ruta JAVA_HOME . Contribución de ray7219 (ray7219 en hotmail.com)
  • Error 63856 : establecer connectTime en muestras principales cuando se usa un controlador de transacciones
  • Error 64227 : error al cargar plantillas en Windows
  • Interfaz de usuario de TestPlan: omita agregar la entrada al classpath si el usuario hace clic en cancelar

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • jannis weis
  • Stefan Seide (stefan en trilobyte-se.de)
  • jmetertea
  • rayo7219
  • Sebastián Boga (sebastian.boga at endava.com)
  • Liu XP (liu_xp2003 en sina.com)
  • anant-93 (https://github.com/anant-93)
  • Ori Marko (orimarko en gmail.com)
  • Keith Mo (https://github.com/keithmork)
  • drivera-armedia (https://github.com/drivera-armedia)
  • Paquete de carga Ubik
  • Jakub Bednář (jakub.bednar en gmail.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

  • Michael McDermott (mcdermott.michaelj en gmail.com)
  • yangxiaofei77 (yangxiaofei77 en gmail.com)
  • Markus Wolf (wolfm en t-systems.com)
  • Pierre Astruc (pierre.astruc en evertest.com)
  • YYTVicky (yytvicky en github)
  • 2477441814 en qq.com

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.
  • Desde Java 11, la implementación de JavaScript Nashorn ha quedado obsoleta . Java emitirá las siguientes advertencias de obsolescencia si utiliza JavaScript basado en Nashorn.
    Advertencia: se planea eliminar el motor Nashorn de una futura versión de JDK
    
    Para silenciar estas advertencias, agregue -Dnashorn.args=--no-deprecation-warning a sus argumentos de Java. Eso se puede lograr configurando la variable de entorno JVM_ARGS
    exportar JVM_ARGS="-Dnashorn.args=--no-advertencia-advertencia"
    

Versión 5.2.1

Resumen

Nuevo y digno de mención

Esta versión es una versión de corrección de errores menores. Consulte la página Historial de cambios para ver las últimas notas de la versión 5.2.

Cambios incompatibles

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

Otros muestreadores

  • Error 63926 - Configuración de conexión JDBC: Agregar capacidad para establecer propiedades de conexión

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

Informe / Tablero

General

Cambios no funcionales

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

Otros muestreadores

Controladores

Oyentes

  • Error 63906 : NPE para el escucha de back-end de InfluxDB durante la prueba de conmutación por error

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

Informe / Tablero

Documentación

General

  • Error 63910 - Maven poms rotos en la versión 5.2 lanzada
  • Error 63911 : el contenido de ApacheJMeter_config.jar ha cambiado (el contenedor se movió para ejecutar y faltan archivos)

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.
  • Desde Java 11, la implementación de JavaScript Nashorn ha quedado obsoleta . Java emitirá las siguientes advertencias de obsolescencia si utiliza JavaScript basado en Nashorn.
    Advertencia: se planea eliminar el motor Nashorn de una futura versión de JDK
    
    Para silenciar estas advertencias, agregue -Dnashorn.args=--no-deprecation-warning a sus argumentos de Java. Eso se puede lograr configurando la variable de entorno JVM_ARGS
    exportar JVM_ARGS="-Dnashorn.args=--no-advertencia-advertencia"
    

Versión 5.2

Resumen

Nuevo y digno de mención

Este lanzamiento es un lanzamiento importante. Consulte la página Historial de cambios para ver las últimas notas de la versión 5.1.1.

Cambios incompatibles

  • HTTP(S) Test Script Recorder ahora agrega un número al final de los nombres, mientras que anteriormente lo agregaba al principio. Ver error 63450
  • Cuando se usa la aserción XPath con una expresión XPath que devuelve un valor booleano, True si nada coincide no tuvo efecto y siempre devolvió verdadero, consulte el error 63455
  • El análisis de XML ahora rechaza XML no seguro, esto tiene un impacto en las siguientes características:
    • Afirmación XML
    • XMLSchemAssertionXMLSchemAssertion
    • Función XPath
    • Extractores XPath 1 y 2
    • Aserciones XPath 1 y 2

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 63450 - Grabadora de secuencias de comandos de prueba HTTP(S): poner el número al final en lugar de al principio
  • Error 63790 : descarga de recursos integrados: optimice el análisis de CSS eliminando la ubicación de origen

Otros muestreadores

  • Error 63406 : configuración de la conexión JDBC: nueva opción para preinicializar para inicializar el conjunto de conexiones. Contribución de Franz Schwab (franz.schwab en exasol.com)
  • Error 63561 - Solicitud de JDBC: Permitir solo obtener una cierta cantidad de filas. Contribución de Franz Schwab (franz.schwab en exasol.com)
  • Error 63801 : agregar compatibilidad con el protocolo Bolt para la base de datos Neo4j. Contribución de GraphAware (www.graphaware.com)

Controladores

  • Error 63565 : si el controlador: problema de GC con JMeter durante la ejecución de resistencia cuando se usa con "¿Interpretar la condición como expresión variable?" desmarcado => Mejorar la documentación

Oyentes

  • Error 63720 - BackendListener: InfluxDBBackendListenerClient Agregar soporte para InfluxDB 2. Contribuido por Jakub Bednář (https://github.com/bednar)
  • Error 63770 - Ver árbol de resultados: agregar JMESPath Tester. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 62863 : habilite los almacenes de claves PKCS11 para su uso con KeyStore Manager. Basado en el parche de Clifford Harms (clifford.harms en gmail.com).
  • Solicitud de extracción n.º 457 : mejora leve del rendimiento en PoissonRandomTimer mediante el uso de ThreadLocalRandom. Basado en un parche de Xia Li.
  • Error 62787 : nueva aserción XPath2 compatible con XPath2 con mejores rendimientos que la aserción XPath . Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63643 : omitir BOM en archivos abiertos a través de FileServer y usar BOM para detectar la codificación de caracteres, si no se proporciona ninguno explícitamente. Reportado por Havlicek Honza (havlicek.honza en gmail.com)
  • Error 63727 : nuevo elemento JMESPath Extractor para facilitar la extracción de JSON mediante la tecnología JMESPath . Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63763 : nuevo elemento de aserción JMESPath para facilitar la aserción en JSON mediante la tecnología JMESPath . Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63775 : permitir que el extractor de límites acepte límites vacíos

Funciones

  • Error 63219 : nueva función __StringToFile para guardar/agregar una cadena en un archivo. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Use AtomicInteger para __counter en lugar de sincronización por nuestra cuenta

I18N

Informe / Tablero

  • Error 63471 : los StringConverter utilizados para la generación de informes deben ignorar los espacios en blanco alrededor de los números.

General

  • Error 63396: elementos de prueba JSR223: la descripción de los parámetros es engañosa, lo mismo para el script
  • Error 63480 : XPathAssertion y XPathAssertion2: mejora la cobertura de prueba para la entrada proveniente de variables. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63452 - Herramientas / Importar desde cURL: Cobertura completa de todas las opciones de línea de comando que son válidas en el caso de uso de JMeter. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63419 - Herramientas / Importar desde cURL: se agregó la capacidad de importar un conjunto de comandos cURL desde un archivo. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63760 - JOrphanUtils: agregar un generador de contraseñas alfanuméricas aleatorias
  • Error 63355 - Ver árbol de resultados: la opción de vista del navegador no está disponible desde Java 11, documente cómo hacer que esté disponible, vea esto
  • Error 62861 - Grupo de subprocesos: brinda la capacidad de configurar si una nueva iteración es un usuario nuevo o el mismo usuario (se aplicaría en el Administrador de cookies, el Administrador de caché y httpclient.reset_state_on_thread_group_iteration). Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63616 - Arreglar Javadoc:
    JMeterContext#getThreadNum()
    comienza en 0 y no en 1. Contribuido por Ori Marko (orimarko en gmail.com)
  • Actualizado a httpclient/httpmime 4.5.10 (desde 4.5.7)
  • Actualizado a dnsjava 2.1.9 (desde 2.1.8)
  • Actualizado a jsoup 1.12.1 (desde 1.11.3)
  • Actualizado a rsyntaxtextarea 3.0.4 (de 3.0.2)
  • Actualizado a cafeína 2.8.0 (de 2.6.2)
  • Actualizado a commons-codec 1.13 (desde 1.11)
  • Actualizado a commons-lang3 3.9 (de 3.8.1)
  • Actualizado a commons-pool 2.7 (de 2.6)
  • Actualizado a commons-text 1.8 (desde 1.6)
  • Actualizado a freemarker 2.3.29 (desde 2.3.28)
  • Actualizado a httpcore/httpcore-nio 4.12 (desde 4.11)
  • Actualizado a jodd 5.0.13 (desde 5.0.6)
  • Actualizado a log4j 2.12.1 (desde 2.11.1)
  • Actualizado a ph-commons 9.3.7 (de 9.2.1)
  • Actualizado a ph-css 6.2.0 (desde 6.1.1)
  • Actualizado a Mozilla Rhino 1.7.11 (desde 1.7.10)
  • Actualizado a Saxon-HE 9.9.1-5 (de 9.9.1-1)
  • Actualizado a slf4j 1.7.28 (desde 1.7.25)
  • Actualizado a tika-core y tika-parsers 1.22 (desde 1.21)
  • Jackson-annotations, jackson-core y jackson-databind actualizados a 2.9.10 (desde 2.9.8)

Cambios no funcionales

  • Migrado de subversion a Git
  • Error 63630 : cambie la compilación de Apache Ant a Gradle
  • Error 63529 : agregue más pruebas unitarias para org.apache.jorphan.util.JOrphanUtils. Contribuido por John Bergqvist (John.Bergqvist en diffblue.com)
  • Actualizado al último estilo de verificación (versión 8.22)
  • Limpieza de código en CompareAssertion y otras ubicaciones. Basado en el parche de Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.° 491 : aumentar la cobertura de métricas de Graphite. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.° 520 : reemplace las clases anónimas con expresiones lambda. Contribuido por Graham Russell (graham en ham1.co.uk).
  • Solicitud de extracción n.° 524 : migración de JUnit 4 a JUnit 5. Aportado por Graham Russell (graham en ham1.co.uk).

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 63298 : las solicitudes HTTP con URL codificadas se envían en formato decodificado
  • Error 63364 : cuando se configura subresults.disable_renaming=true , los subresultados aún se renombran usando su SampleLabel principal mientras que no deberían. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63129 : JMeter no puede identificar la codificación durante el envío de la página por primera vez. Basado en parte en análisis y relaciones públicas realizados por Naveen Nandwani (naveen.nandwani en india.nec.com)
  • Error 62672 : la solicitud HTTP envía solicitudes dobles cuando se usa un proxy con autenticación. Basado en el parche de Artem Fedorov (artem.fedorov en blazemeter.com) y aportado por BlazeMeter.
  • Error 63574 : el administrador de caché HTTP no almacena en caché el recurso si falta el encabezado Cache-Control .

Otros muestreadores

  • Error 63442 : reducción del análisis de implementaciones de LogParser en AccessLogSamplerBeanInfo.
  • Error 63563 - LdapExtSampler: cuando la muestra falla con una excepción que difiere de NamingException, no se genera SampleResult
  • Error 63469 : JMSPublisher: condición de carrera en jms.client.ClientPool#clearClient

Controladores

Oyentes

  • Error 63319 : ArrayIndexOutOfBoundsException en el gráfico agregado al seleccionar columnas del 90 % o el 95 %
  • Error 63423 : la selección de filas de la tabla en el gráfico agregado se pierde con demasiada frecuencia
  • Error 63347 - Ver árbol de resultados: el campo de búsqueda es tan pequeño que ni un solo carácter es visible en Windows 7
  • Bug 63433 - ListenerNotifier: Problema detectado en Listener NullPointerException si el nombre de archivo es nulo. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63674 : eliminar resultados con subresultados más profundos en su jerarquía cuando DataStripping está habilitado

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 63455 - Aserción XPath: Verdadero si nada coincide , no funciona si la expresión XPath devuelve un valor booleano. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Funciones

I18N

Informe / Tablero

Documentación

  • Error 63513 : agregar ejemplos de MariaDB a la documentación de JDBC. Contribuido por Ori Marko (orimarko en gmail.com)
  • Error 63484 : agregue notas para usar Apache Velocity como lenguaje de script JSR223. Basado en un parche de Ori Marko (orimarko en gmail.com)
  • Error 63519 - Solicitud de extracción n.º 471 - Usar el método correcto getLabelResource() en el tutorial de JMeter. Contribuido por Sun Tao (buzzerrookie en hotmail.com>)

General

  • Error 63394 : JMeter debe fallar con un valor distinto de cero cuando falla la ejecución de la prueba (debido a la falta del plan de prueba u otra razón). Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63464 : image/svg+xml se considera incorrectamente como binario
  • Error 63490 : al final de la duración del programador, se ejecutan muchos Samplers al mismo tiempo
  • Solicitud de extracción n.º 480 , solicitud de extracción n.º 482 : corrija algunos errores tipográficos en comentarios y mensajes de registro. Basado en el parche de Anass Benomar (anassbenomar en gmail.com)
  • Error 63751 : corregir un error tipográfico en las traducciones al chino. Informado por Jinliang Wang (wjl31802 en 126.com)
  • Error 63723 - Prueba distribuida: el nodo del controlador JMeter finaliza la prueba distribuida aunque algunos subprocesos todavía están activos
  • Error 63614 - Pruebas distribuidas: no se puede generar el informe del panel al final de la prueba de carga
  • Error 63862 : cuadro de diálogo de búsqueda/búsqueda en el árbol de resultados de la vista: excepción no detectada si la expresión regular está marcada y la expresión regular no es válida
  • Error 63793 : corrige el análisis XML no seguro

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Clifford Harms (clifford.harms en gmail.com)
  • Paquete de carga Ubik
  • xia li
  • Naveen Nandwani (naveen.nandwani en india.nec.com)
  • Artem Fedorov (artem.fedorov en blazemeter.com)
  • Ori Marko (orimarko en gmail.com)
  • Sun Tao (buzzerrookie en hotmail.com)
  • John Bergqvist (John.Bergqvist en diffblue.com)
  • Franz Schwab (franz.schwab en exasol.com)
  • Graham Russell (graham en ham1.co.uk)
  • Anass Benomar (anassbenomar en gmail.com)
  • Jakub Bednář
  • Pascal Schumacher (pascalschumacher en apache.org)
  • GraphAware

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

  • Sergiy Iampol (sergiy.iampol en playtech.com)
  • Brian Tully (brian.tully en acquia.com)
  • Amer Ghazal (amerghazal en gmail.com)
  • Stefan Seide (stefan en trilobyte-se.de)
  • Havlicek Honza (havlicek.honza en gmail.com)
  • Pierre Astruc (pierre.astruc en evertest.com)
  • Jinliang Wang (wjl31802 en 126.com)

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.
  • Desde Java 11, la implementación de JavaScript Nashorn ha quedado obsoleta . Java emitirá las siguientes advertencias de obsolescencia si utiliza JavaScript basado en Nashorn.
    Advertencia: se planea eliminar el motor Nashorn de una futura versión de JDK
    
    Para silenciar estas advertencias, agregue -Dnashorn.args=--no-deprecation-warning a sus argumentos de Java. Eso se puede lograr configurando la variable de entorno JVM_ARGS
    exportar JVM_ARGS="-Dnashorn.args=--no-advertencia-advertencia"
    

Versión 5.1.1

Resumen

Nuevo y digno de mención

Esta versión es principalmente una versión de corrección de errores. Consulte la página Historial de cambios para ver los últimos comportamientos importantes con la versión 5.1.

Informes en vivo e Informe web

Se ha agregado una nueva entrada de menú al menú Herramientas . Se permite generar un informe de resultados a partir de un archivo CSV/JTL anterior.


Cambios incompatibles

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 62977 : permitir el envío de solicitudes HTTP sin un encabezado de agente de usuario predeterminado

Otros muestreadores

  • Error 63185 - Elementos relacionados con LDAP: Agregar opción para confiar implícitamente en conexiones SSL/TLS/Deshabilitar verificación de nombre de host. Basado en la contribución de Brian Wolfe (wolfebrian2120 en gmail.com)

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 63178 - CSS Selector Extractor: mejora el rendimiento de la implementación basada en JODD (JoddExtractor)

Funciones

I18N

Informe / Tablero

  • Error 59896 - Informe/Panel: agregue una entrada de menú para generar un informe a pedido desde un archivo CSV. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

General

Cambios no funcionales

  • Error 63203 - Pruebas unitarias: Reemplace el uso de @Deprecated por @VisibleForTesting para métodos/constructores/clases hechos públicos solo para pruebas unitarias
  • Solicitud de extracción n.º 449 : refactorización y prueba ResponseTimePercentilesOverTimeGraphConsumer. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 450 : mejoras de consumo de gráficos abstractos. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.° 451 : mejora algunas pruebas unitarias y clases. Contribuido por Graham Russell (graham en ham1.co.uk)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

Otros muestreadores

  • Error 63202 : JMS Publisher: ObjectMessageRenderer crea una instancia de XStream con seguridad no inicializada

Controladores

Oyentes

  • Error 63204 - RenderAsJSON#prettyJSON : JSONParser#parse no puede devolver JSONValue

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 62446 : la documentación del contador es incorrecta en los campos requeridos. Contribuido por orimarko en gmail.com
  • Error 62327 - TestPlan: en la tabla de la biblioteca si se modifica la ruta y se guarda el plan, la modificación se pierde al recargar el archivo

Funciones

  • Error 63241 : __threadGroupName provoca una NullPointerException si se llama desde subprocesos que no son de prueba

I18N

Informe / Tablero

  • Error 63198 : los gráficos de tiempo de respuesta frente a solicitud y latencia frente a solicitud no se alinean con el rendimiento. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Documentación

General

  • Error 63201 : SearchTreeDialog desaparece detrás del JFrame maestro. Contribuido por Benoit Vatan (benoit.vatan en gmail.com)
  • Error 63220 : el cuadro de diálogo Asistente de función , las transacciones de exportación para el informe y la importación desde cURL desaparecen siendo JFrame maestro. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63207 : java.lang.NullPointerException: nulo cuando se ejecuta JMeter 5.1 con opciones de proxy
  • Error 58183 : es posible que no se respete la aceleración si el subproceso tarda en comenzar, lo que lleva a que los subprocesos continúen comenzando después del tiempo de aceleración

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Paquete de carga Ubik
  • Benoit Vatan (benoit.vatan en gmail.com)
  • Graham Russell (graham en ham1.co.uk)
  • Brian Wolfe (wolfebrian2120 en gmail.com)
  • Orimarko en gmail.com

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 5.1

Resumen

Nuevo y digno de mención

Mejoras principales

Las pruebas de JDBC se han mejorado con la capacidad de establecer instrucciones SQL de inicio y agregar compatibilidad con controladores JDBC que no admiten QueryTimeout

  • Se han implementado varias correcciones de errores, como recopilar los encabezados correctos al registrar solicitudes a través de HTTP(S) Test Script Recorder usando HTTPS.
  • En la versión 5.0, JMeter se cambió para cambiar el nombre de los resultados secundarios utilizando una política de nombres personalizada ( error 62550 ). Este cambio podría ser molesto para las pruebas funcionales, se ha introducido una nueva propiedad subresults.disable_renaming=true para revertir si es necesario al comportamiento anterior. Una alternativa es verificar el modo de prueba funcional en el plan de prueba, consulte el error 63055

mejoras de experiencia de usuario

Las plantillas pueden proporcionar parámetros que se completan en la generación del plan de prueba. La plantilla de grabación utiliza esta función .

Se ha introducido un nuevo menú Herramientas para recopilar esas entradas, que se utilizan para uso general en JMeter, como:

  • Cuadro de diálogo Asistente de funciones
  • Exportar transacciones para el informe
  • Genere una vista esquemática que proporcione una descripción general como HTML del plan de prueba
  • Importar desde cURL que le permite crear o actualizar su plan de prueba importando un comando cURL
  • Compilar elementos de prueba JSR223
  • Crear un volcado de montón
  • Crear un volcado de hilo

Plan de prueba

Capacidad para crear un plan de prueba desde un comando cURL.

Mejoras en secuencias de comandos/depuración

  • Un elemento de menú para compilar todos los elementos JSR223 ahora está disponible en el menú Herramientas

Informes en vivo e Informe web

  • Ahora se genera un archivo JSON que contiene un resumen de las estadísticas de una prueba de carga cuando se usan las opciones -e o -g .
  • El algoritmo de cálculo de percentiles graficado a lo largo del tiempo se ha modificado para reiniciarse para cada intervalo de tiempo
  • Comportamiento más fácil de usar cuando la carpeta de informes no existe o no está vacía a través de la opción de línea de comando -f

Cambios incompatibles

  • En el gráfico de percentiles de tiempo de respuesta a lo largo del tiempo (respuestas satisfactorias) del informe HTML, antes de esta versión, el cálculo de percentiles de cada intervalo de tiempo utilizaba los datos de percentiles del intervalo de tiempo anterior como base. A partir de esta versión, cada franja horaria es independiente. Ver error 62883
  • La firma ClientJMeterEngine#rsetProperties se ha cambiado para usar HashMap<String,String> en lugar de Propiedades, consulte el error 63034
  • Se ha introducido un nuevo elemento de menú Herramientas , algunos elementos de menú que estaban en el menú Ayuda ahora están bajo este nuevo elemento de menú. Ver error 63094
  • slf4j-ext se eliminó de las bibliotecas (carpeta lib) y JMeter pom. No se usó de forma predeterminada y, debido a CVE-2018-8088 y a la falta de disponibilidad de una versión estable que corrigiera este problema, decidimos eliminarlo. Si aún lo necesita, puede agregarlo en la carpeta lib.

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 62840 - Solicitud HTTP: agregue la opción httpclient4.gzip_relax_mode para evitar errores al descomprimir lo que parecen ser secuencias no válidas
  • Error 63025 : mejora la función de búsqueda y reemplazo para la solicitud HTTP para incluir el puerto y el campo de protocolo. Corrección del código inicial por Mohamed Ibrahim (rollno748 en gmail.com)

Otros muestreadores

  • Error 62934 : agregar compatibilidad para controladores JDBC que no admiten QueryTimeout
  • Error 62935 : pasar las propiedades personalizadas de mail.* a Mail Reader Sampler. Implementado por Artem Fedorov (artem.fedorov en blazemeter.com) y aportado por BlazeMeter.
  • Error 63055 : no cambiar el nombre de la etiqueta SampleResult cuando la prueba se ejecuta en modo funcional o en la propiedad subresults.disable_renaming=true . Implementado por Artem Fedorov (artem.fedorov en blazemeter.com) y aportado por BlazeMeter.

Controladores

Oyentes

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 62766 - Configuración del almacén de claves: Deberíamos cargar todos los alias de forma predeterminada. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Bug 62832 - Configuración de la conexión JDBC: Ser capaz de establecer instrucciones SQL de inicio. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Funciones

  • Error 63037 : cuando se usa CSVRead , también se buscan archivos en la ruta base del script.

I18N

Informe / Tablero

  • Error 62883 - Informe/panel: cambiar la forma en que se calculan los percentiles para el gráfico de percentiles de tiempo de respuesta a lo largo del tiempo (respuestas exitosas)
  • Error 63060 - Generador de informes: un generador solo debe buscar carpetas/archivos que genera y solo eliminar esos
  • Error 63059 : cree un nuevo JsonExporter que exporte como JSON el contenido de los datos calculados para la tabla HTML Dashboard Statistics. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63081 : la opción de línea de comando -f no elimina la carpeta de informes cuando se usa la generación solo a través de la opción de línea de comando -g . Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

General

  • Error 62959 : capacidad para crear un plan de prueba desde un comando cURL. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Solicitud de extracción n.° 394 : permitir valores nulos en FieldStringEditor . Basado en el parche de Mingun (alexander_sergey en mail.ru)
  • Error 62826 : al cambiar LAF, haga que JMeter se reinicie si el usuario hace clic en Sí para que aparezca
  • Error 62257 - Solicitud de extracción n.º 401 - Tecla abreviada Expandir/Contraer - (signo menos) en el teclado numérico no funciona. Contribuido por Ori Marko (orimarko en gmail.com)
  • Error 62752 - Agregar a la documentación: ctx.getThreadNum() está basado en cero mientras que ${__threadNum} está basado en uno
  • Solicitud de extracción n.º 411 : use SHA-1 en lugar de SHA1 en org.apache.jmeter.save.SaveService . Aportado por Paco (paco.xu en daocloud.io)
  • Error 62914 : agregue una sugerencia en la interfaz de usuario de Thread Group sobre la duración de la prueba
  • Error 62925 : agregar soporte para ThreadDump a JMeter no GUI
  • Error 62870 - Plantillas: agregue la capacidad de proporcionar parámetros. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62829 : permite especificar el esquema del servidor proxy para la muestra de solicitud HTTP, la pestaña Avanzado y la opción de línea de comando. Contribución de Hitesh Patel (hitesh.h.patel en gmail.com)
  • Error 59633 : los menús Guardar plan de prueba como , Guardar como fragmento de prueba y Guardar selección como... deben usar un nuevo nombre de archivo en el cuadro de diálogo Archivo
  • Error 61486 : hacer que jmeter-server y el modo no GUI se ejecuten sin interfaz gráfica de usuario
  • Error 63093 : agregar el elemento de menú Compile JSR223 Test Elements . Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63094 : presenta un nuevo menú Herramientas
  • Error 63101 : proponer un elemento de menú para generar una descripción general legible del plan de prueba
  • Error 63144 : ver el árbol de oyentes tarda mucho tiempo en abrir la respuesta que tiene un texto enorme. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Cambios no funcionales

  • Solicitud de extracción n.º 408 : registra un mensaje informativo en lugar de un seguimiento de la pila, cuando no se encuentra JavaFX para el componente RenderInBrowser .
  • Solicitud de extracción n.° 412 : actualización de la traducción al chino. Contribuido por 刘士 (liushilive en Outlook.com).
  • Solicitud de extracción n.º 406 : agregue un breve párrafo sobre cómo usar un administrador de seguridad con JMeter.
  • Error 62893 : use StringEscapeUtils de commons-text (versión 1.6) en lugar de los obsoletos de commons-lang3.
  • Error 62972 - Solicitud de extracción n.º 435 - Reemplazo de llamadas al método obsoleto Class#newInstance .
  • Error 63034 - ClientJMeterEngine: Hacer que rsetProperties use HashMap<String,String> en lugar de Propiedades
  • Actualizado a httpclient/httpmime 4.5.7 (desde 4.5.6)
  • Actualizado a httpcore 4.4.11 (desde 4.4.10)
  • Actualizado a httpcore-nio 4.4.11 (desde 4.4.10)
  • Actualizado a tika-core y tika-parsers 1.20 (desde 1.18)
  • Actualizado a commons-dbcp2-2.5.0 (desde commons-dbcp2-2.4.0)
  • Actualizado a commons-lang3-3.8.1 (desde commons-lang3-3.8)
  • Actualizado a Groovy-all-2.4.16 (desde Groovy-all-2.4.15)
  • Actualizado a httpasyncclient-4.1.4.jar (desde 4.1.3)
  • Actualizado a jsoup-1.11.3 (desde 1.11.2)
  • Actualizado a cglib-nodep-3.2.9 (desde cglib-nodep-3.2.7)
  • Actualizado a ph-commons-9.2.1 (de ph-commons-9.1.2)
  • Actualizado a log4j-2.11.1 (de log4j-2.11.0)
  • Actualizado a xmlgraphics-commons 2.3 (desde 2.2)
  • Error 63033 : actualizado a Saxon-HE 9.9.1-1 (de 9.8.0-12). Gracias en Saxonica
  • Actualizado a xstream 1.4.11 (desde 1.4.10)
  • Actualizado a jodd 5.0.6 (desde 4.1.4)
  • Actualizado a asm-7.0 (desde 6.1)
  • Actualizar a ActiveMQ 5.15.8 (desde 5.5.16)
  • Actualizado a rsyntaxtextarea-3.0.2 (desde 2.6.1)
  • Actualizado a apache-rat-0.13 (desde 0.12)
  • Actualizado a jacocoant-0.8.3 (de 0.8.2)
  • Actualizado a hsqldb-2.4.1 (desde 2.4.0)
  • Actualizado a mina-core-2.0.19 (desde 2.0.16)
  • Error 62818 : actualizado a xercesImpl a 2.12.0 (desde 2.11.0). Reportado por Stefan Seide (stefan en trilobyte-se.de)
  • Error 62744 : actualice jquery a la versión 3.3.1, jquery-ui a 1.12.1, arranque a 3.3.7
  • Error 62821 : solicitud de extracción n.º 405 : use sumas de verificación SHA-512 en lugar de MD5 para verificar las descargas de archivos jar
  • Error 63053 : elimine las referencias a componentes internos nunca implementados de la documentación del usuario. Reportado por U. Poblotzki (u.poblotzki en thalia.de)
  • Error 63082 - Solicitud de extracción n.º 437 - Usar utf-8 para archivos de propiedades en el código fuente
  • Error 63177 : cambiar el nombre del modo NO GUI a modo CLI en la documentación

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 62785 : solicitud de extracción n.º 400 : ruta de búsqueda incompleta aplicada a los nombres de archivo utilizados en la funcionalidad de carga de la muestra HTTP. Implementado por Artem Fedorov (artem.fedorov en blazemeter.com) y aportado por BlazeMeter.
  • Error 62842 - Grabadora de secuencias de comandos de prueba HTTP(S): la compresión Brotli no es compatible, lo que genera un " Error de codificación de contenido "
  • Error 60424 : aplicación Hessian Burlap: JMeter inserta 0x0D antes de 0x0A automáticamente (datos de publicación binaria http)
  • Error 62940 : use diferentes cn y tipos de extensión SAN cuando generamos certificados basados ​​en direcciones IP.
  • Error 62916 : HTTP Test Script Recorder falla con UnsupportedOperationException si la grabación se inicia después de ejecutar una prueba distribuida
  • Error 62987 : un elemento TestBean en la grabadora de secuencias de comandos de prueba HTTP(S) no funciona. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63015 : NoHttpResponseException anómala al ejecutar la solicitud a través de la grabadora de secuencias de comandos de prueba HTTP(S) del proxy después de una primera solicitud fallida. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62852 : falta información en el encabezado de la solicitud HTTP al usar un proxy. Gracias a Oleg Kalnichevski (olegk en apache.org)
  • Error 63048 : JMeter no recupera los recursos de enlace del tipo "icono de acceso directo" o "icono". Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Otros muestreadores

  • Error 62775 : si hay muchos archivos jar en una carpeta a la que hace referencia user.classpath , el inicio puede ser extremadamente lento debido a JUnit
  • Error 63031 : clase de controlador JDBC incorrecta: org.firebirdsql.jdbc.FBDrivery . Contribuido por Sonali (arora.sonali99 en gmail.com)

Controladores

  • Error 62806 : la clonación de ModuleController por Ejecutar se comporta de manera diferente en modo GUI o No GUI. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62847 : si el controlador no puede usar la variable para el índice expuesto por LoopController/WhileController/ForEachController
  • Error 63064 : ignorar los espacios al final y al principio de las expresiones utilizadas en IfController

Oyentes

  • Error 62770 : el gráfico agregado arroja una excepción ArrayIndexOutOfBoundsException
  • Error 63069 : ResultCollector no escribe el final del archivo XML si el usuario sale mientras se está ejecutando una grabación o una prueba. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 63138 - InfluxDB BackendListenerClient: en caso de error, el registro está en depuración, debería ser un error

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 62774 : XPath2Extractor: la variable de alcance no funciona. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62860 - Extractor de JSON: Evite NPE y el mensaje de error ruidoso " Error al procesar el contenido de JSON en " cuando no se encuentra la variable

Funciones

I18N

Informe / Tablero

  • Error 62777 : informe web/panel: Ocultar todo en los percentiles de tiempo de respuesta a lo largo del tiempo (respuestas correctas) falla.
  • Error 62780 - Informe web/panel: Mostrar todo en el tiempo de respuesta frente a la solicitud falla.
  • Error 62781 : informe/panel web: falla Mostrar todo en la descripción general del tiempo de respuesta .
  • Error 62782 : informe web/panel: eliminar dependencias duplicadas/no utilizadas
  • Error 62894 - Informe/panel: el rendimiento está en la columna incorrecta, lo que es confuso ya que la unidad es milisegundo
  • Error 63016 : informe HTML vacío si la csv de origen contiene etiquetas con comillas. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Documentación

  • Cambie la acción de prueba (nombre anterior) a la acción de control de flujo en la documentación de referencia de componentes. Contribuido por Ori Marko (orimarko en gmail.com)

General

  • Error 62745 : corrige el ícono deshabilitado no definido. Contribución de Till Neunast (https://github.com/tilln)
  • Error 62743 : la autenticación del cliente debe estar habilitada en las pruebas distribuidas
  • Error 62767 : NPE al realizar búsquedas en determinadas condiciones. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62790 : ArrayIndexOutOfBoundsException al llamar a replace sin seleccionar la primera coincidencia
  • Error 62795 : el nodo del controlador JMeter a veces finaliza la prueba distribuida aunque algunos de los nodos trabajadores no hayan terminado
  • Error 62336 - Solicitud de extracción n.º 396 - Algunos accesos directos no funcionan correctamente en Windows. Contribución de Michael Pavlov (michael.paulau en gmail.com)
  • Error 62889 : formato de matrices JSON cuando se muestran con JSON Path Tester.
  • Error 62900 - ObjectProperty#getStringValue() puede lanzar NullPointerException
  • Error 63099 : escape de comas en el cuadro de diálogo del asistente de funciones solo fuera de las estructuras de reemplazo de variables.
  • Error 63105 - Exportar transacciones para el informe: corregir 2 errores
  • Error 63106 : Aplicar la política de nomenclatura no actualiza la interfaz de usuario
  • Error 63180 : Aplicar política de nomenclatura permite la selección múltiple, pero solo considera el primer nodo
  • Error 63090: eliminar slf4j-ext debido a CVE-2018-8088

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Oleg Kalnichevski (olegk en apache.org)
  • Hasta Neunast (https://github.com/tilln)
  • Mingun (alexander_sergey en mail.ru)
  • Paquete de carga Ubik
  • Artem Fedorov (artem.fedorov en blazemeter.com)
  • Stefan Seide (stefan en trilobyte-se.de)
  • 刘士 (liushilive en Outlook.com)
  • Michael Pavlov (michael.paulau en gmail.com)
  • Ori Marko (orimarko en gmail.com)
  • Paco (paco.xu en daocloud.io)
  • Hitesh Patel (hitesh.h.patel en gmail.com)
  • Sonali (arora.sonali99 en gmail.com)
  • Mohamed Ibrahim (rollno748 en gmail.com)
  • U. Poblotzki (u.poblotzki en thalia.de)
  • sajónica

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 5.0

Resumen

Nuevo y digno de mención

Mejoras principales

El soporte de descanso se ha mejorado en muchos campos.

  • Las solicitudes de datos de varias partes/formularios ahora funcionan para PUT , DELETE ...
  • Ahora también es posible enviar un cuerpo JSON con un archivo adjunto
  • Los parámetros ingresados ​​en la pestaña Parámetros ahora se usan en el cuerpo en lugar de ignorarse

En las pruebas distribuidas, JMeter ahora antepone automáticamente los nombres de los subprocesos con el host y el puerto del motor, lo que hace que el conteo de subprocesos sea correcto en el informe HTML sin ninguna otra configuración, como se requería antes.

XPath 2.0 es compatible con un nuevo elemento llamado XPath2 extractor que proporciona un manejo más sencillo de los espacios de nombres XML, una sintaxis XPath actualizada y un mejor rendimiento

Se completó la actualización a HTTP Components 4.6, las últimas API y JMeter ya no depende de las API obsoletas de esta biblioteca.

Ahora es posible controlar de una manera más sencilla la interrupción del bucle y el cambio del bucle a la siguiente iteración. Esto está disponible en los elementos Controlador de acción de estado de resultado y Acción de control de flujo

Mientras que Controller ahora exporta una variable que contiene su índice actual llamado __jm__<Nombre de su elemento>__idx . Entonces, por ejemplo, si su controlador While se llama WC, entonces puede acceder al índice de bucle a través de ${__jm__WC__idx}

Mejoras en secuencias de comandos/depuración

La función de búsqueda se ha mejorado para permitirle iterar en el árbol sobre los resultados de búsqueda y hacer los reemplazos necesarios a través de los botones Siguiente / Anterior / Reemplazar / Reemplazar/Buscar

En Ver árbol de resultados, los encabezados/cuerpo de la solicitud y la respuesta están claramente separados para permitirle inspeccionar mejor las solicitudes y las respuestas. También puede buscar en todas esas pestañas un valor en particular

La función de grabación se ha mejorado para proporcionar una ventana emergente que siempre está en la parte superior cuando navega en el navegador, lo que le permite nombrar transacciones mientras navega en su aplicación.

Ahora puede reiniciar JMeter desde el menú Archivo  →  Reiniciar

Informes en vivo e Informe web

Se ha mejorado la función de informes

Se ha agregado un nuevo gráfico de transacciones totales por segundo al informe web HTML

Ahora es posible graficar a lo largo del tiempo las métricas personalizadas disponibles como variables de JMeter a través de sample_variables . Esos gráficos de métricas personalizadas estarán disponibles en la sección Informe HTML en Gráficos personalizados

El gráfico de hits por segundo ahora tiene en cuenta los recursos incrustados

En los informes en vivo, los bytes enviados y recibidos ahora se envían a backends (InfluxDB o Graphite)

Funciones

Se ha introducido una nueva función __threadGroupName para obtener el nombre de ThreadGroup.

Cambios incompatibles

  • Desde JMeter 5.0, cuando se usa la implementación HC4 predeterminada, JMeter restablecerá el estado HTTP (estado SSL + conexiones) en cada iteración del grupo de subprocesos. Si no desea este comportamiento, configure httpclient.reset_state_on_thread_group_iteration=false
  • Desde JMeter 5.0, en relación con el comentario anterior, https.use.cached.ssl.context está en desuso y ya no se usa.
  • Desde JMeter 5.0, cuando se usa la salida CSV, los subresultados ahora también se enviarán a un archivo CSV. Para volver al comportamiento anterior, establezca jmeter.save.saveservice.subresults=false , consulte el error 62470 , error 60917 , error 62550 .
  • Desde JMeter 5.0, CSS/JQuery Extractor se ha renombrado como CSS Selector Extractor
  • Desde JMeter 5.0, la acción de prueba se ha renombrado como acción de control de flujo.
  • Desde JMeter 5.0, JMeter cambia el nombre de subResults a parentName-N donde N es un número para garantizar que el gráfico Hits Per Second incluya descargas de recursos, consulte Bug 62550 , Bug 62470 y Bug 60917

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 62260 : mejora la compatibilidad con el descanso. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 58757 : solicitud HTTP: se actualizaron los métodos obsoletos de HttpComponents a las últimas API de httpclient-4.5.X. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62212 - Grabadora: mejore la UX al proporcionar una ventana emergente sobre todas las ventanas para poder cambiar los nombres de las transacciones y las pausas mientras usa el navegador. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62248 - Solicitud HTTP: los parámetros ingresados ​​en la pestaña Parámetros deben usarse en el cuerpo en lugar de ignorarse. Basado en parte en un parche de Artem Fedorov aportado por Blazemeter.
  • Error 60015 : Multipart/form-data funciona solo para POST usando HTTPClient4 mientras que debería para PUT , DELETE , … Contribuido por Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62317 - Grabadora de secuencias de comandos de prueba HTTP(S): permite agregar ResultSaver a la muestra creada

Otros muestreadores

  • Solicitud de extracción n.º 376 : JUnitSampler registra las excepciones, excepto los errores de aserción de los casos de prueba, como advertencias. Contribución de Davide Angelocola (davide.angelocola en fisglobal.com)
  • Error 62244 : cambiar el nombre de la acción de prueba a la acción de control de flujo
  • Bug 62302 - Mover JSR223 Sampler hacia arriba en el menú. Contribuido por Ori Marko (orimarko en gmail.com)
  • Error 62595 : SMTPSampler no permite configurar los protocolos SSL/TLS para que se usen en el protocolo de enlace. Aportado por Felipe Cuozzo (felipe.cuozzo en gmail.com)

Controladores

  • Error 62237 - Controlador while: Exportar variable que contiene el índice actual de iteración. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Oyentes

  • Error 62195 - Guardar respuestas en un archivo: mejorar el componente y la interfaz de usuario. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62209 : InfluxBackendListenerClient: se debe enviar el primer mensaje de error de aserción si el código de error y el código de respuesta están vacíos o correctos
  • Error 62269 - Error 62269 - Ver árbol de resultados: las pestañas de respuesta y solicitud deben contener pestañas de encabezado y cuerpo. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62270 - Ver árbol de resultados: permitir la búsqueda en encabezados de solicitud, encabezados de respuesta y cuerpo de solicitud. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62276 : InfluxDBBackendListenerClient/GraphiteBackendListenerClient: agregar bytes enviados y recibidos a las métricas. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 62320 - Contador: la propiedad Nombre de referencia no está clara
  • Error 60991 - Extractor de XPath: Implementar XPath 2.0. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62593 : cambiar el nombre de CSS/JQuery Extractor a CSS Selector Extractor. Contribuido por Ori Marko (orimarko en gmail.com)

Funciones

  • Error 62178 : agregar valor predeterminado a la función __V . Contribuido por Ori Marko (orimarko en gmail.com)
  • Error 62178 : función agregada __threadGroupName para obtener el nombre de ThreadGroup. Contribuido principalmente por Ori Marko (orimarko en gmail.com)
  • Error 62533 : permitir el uso de la hora de época como valor de cadena de fecha en la función __dateTimeConvert
  • Error 62541 : permite que las funciones __jexl3 , __jexl2 admitan la nueva sintaxis como var x; . Contribuido por Ori Marko (orimarko en gmail.com)
  • Error 61834 - Cuadro de diálogo Asistente de funciones: Mejore las pruebas mostrando variables y manteniéndolas disponibles entre evaluaciones

I18N

Informe / Tablero

  • Error 62243 - Tablero: hacer la opción " --forceDeleteResultFile "/" -f " opción eliminar la carpeta a la que hace referencia la opción " -o "
  • Error 62367 - Generador de informes HTML: agregar gráficos de transacciones totales por segundo. Contribuido principalmente por Martha Laks (laks.martha en gmail.com)
  • Error 62166 - Informe/Panel: Proporcione la capacidad de registrar gráficos y métricas personalizados en el Panel JMeter. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62542 : informe/panel: muestra más información sobre los filtros cuando el gráfico está vacío. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62426 : optimizar el rendimiento de la generación de informes. Basado en comentarios de Allen (444104595 en qq.com)
  • Error 62550 : modificar la política de nomenclatura de subresultados
  • Error 60917 : prueba de carga con descarga de recursos integrados: las visitas por segundo no tienen en cuenta los recursos descargados

General

  • Error 62684 - Pruebas distribuidas: Agregar automáticamente al nombre del subproceso un prefijo para identificar el motor. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62155 - Función de búsqueda: hacer que el campo de texto de búsqueda obtenga el foco
  • Error 62156 - Función de búsqueda: distinguir entre el nodo que coincide con la búsqueda y el nodo que contiene un elemento secundario que coincide con la búsqueda
  • Error 62234 : función de búsqueda/reemplazo: mejore la experiencia de usuario y agregue las funciones Reemplazar/Siguiente/Anterior/Reemplazar y buscar. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62238 : se agregó la capacidad de cambiar a la próxima iteración del bucle actual. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62239 : se agregó la capacidad de romper el bucle actual
  • Error 61635 : agregar un menú para reiniciar JMeter
  • Error 62470 - Salida CSV: habilite el registro de subresultados cuando jmeter.save.saveservice.subresults=true . Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62473 : la configuración de " saveservice_properties " tiene un comportamiento contrario a la intuición
  • Error 62354 : cálculo y uso correctos de unidades por segundo por usuario (informado por jffagot05 en gmail.com)
  • Error 62700 : introduzca jsr223.init.file para permitir llamar a un script JSR-223 en el inicio de JMeter
  • Error 62128 : intente adivinar JMETER_HOME correctamente cuando se llama a jmeter.bat desde un archivo por lotes en otro directorio. Contribución de logox01 (logox01 en gmx.at)
  • Solicitud de extracción n.º 386 : agregue soporte de parámetros para scripts de creación de almacén de claves RMI. Contribución de Logan Mauzaize (t524467 en airfrance.fr)
  • Error 62065 : use el artefacto Maven para el módulo JAF en lugar del módulo integrado
  • Error 61714 : actualización de la documentación de resultados en tiempo real
  • Solicitud de extracción n.° 382 : error tipográfico correcto en la documentación. Reportado por Perze Ababa (perze.ababa en gmail.com>)
  • Solicitud de extracción n.° 392 : error tipográfico correcto en la documentación. Reportado por Aaron Levin
  • Solicitud de extracción n.° 379 : mejorar las traducciones al chino. Contribuido por XmeterNet

Cambios no funcionales

  • Solicitud de extracción n.º 358 , solicitud de extracción n.º 365 , solicitud de extracción n.º 366 , solicitud de extracción n.º 375 - Actualizado al último estilo de verificación (v8.8). Checkstyle ampliado a archivos en src y test ; arreglado archivos recién revisados. Basado en la contribución de Graham Russell (graham en ham1.co.uk)
  • Error 62095 : descripción correcta del parámetro de límite derecho en el extractor de límites. Contribuido por Ori Marko (orimarko en gmail.com)
  • Error 62113 : actualizado a la última versión de Bouncycastle (v1.60). Basado en la contribución de Olaf Flebbe (oflebbe en apache.org)
  • Error 62171 : elimine las sumas de verificación .md5 y conserve solo las sumas de verificación .sha512 para archivos fuente y binarios
  • Actualizado a Groovy-all-2.4.15 (desde Groovy-all-2.4.13)
  • Actualizado a asm-6.1 (desde 6.0)
  • Actualizado a tika-core y tika-parsers 1.18 (desde 1.17)
  • Error 62482 : sincronizar la documentación con la implementación de ForEachController. Basado en la contribución de Ori Marko (orimarko en gmail.com)
  • Error 62529 : actualizado a httpclient-4.5.6 (desde httpclient 4.5.5) y actualizado a freemarker-2.3.28 (desde freemarker-2.3.23). Basado en el parche de Ori Marko (orimarko en gmail.com)
  • Actualizado a httpmime-4.5.6 (de httpmime-4.5.5)
  • Actualizado a cafeína-2.6.2 (de cafeína-2.6.1)
  • Actualizado a cglib-nodep-3.2.7 (desde cglib-nodep-3.2.6)
  • Actualizado a commons-dbcp2-2.4.0 (desde commons-dbcp2-2.2.0)
  • Actualizado a commons-pool2-2.6.0 (de commons-pool2-2.5.0)
  • Actualizado a httpcore-4.4.10 (de httpcore-4.4.9)
  • Actualizado a httpcore-nio-4.4.10 (de httpcore-nio-4.4.9)
  • Actualizado a log4j-2.11.0 (desde log4j-2.10.0)
  • Actualizado a ph-css-6.1.1 (de ph-css-6.0.0)
  • Actualizado a ph-commons-9.1.2 (de ph-commons-9.0.0)
  • Actualizado a rhino-1.7.10 (de +rhino-1.7.7.2)
  • Actualizado a commons-lang3-3.8 (desde commons-lang3-3.7)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 62114 : grabadora de secuencias de comandos de prueba HTTP(S): la autenticación del certificado del cliente utiliza el primer SSLManager creado. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61058 - Solicitud HTTP: agregue la opción httpclient4.deflate_relax_mode para evitar el "Final inesperado del flujo de entrada ZLIB" al desinflar lo que parecen ser flujos no válidos. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 43612 : HTTP PUT no respeta los parámetros de solicitud. Implementado por Artem Fedorov (artem.fedorov en blazemeter.com) y aportado por BlazeMeter Ltd.
  • Error 60190 : se agrega Content-Type para POST incondicionalmente. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62462 - Solicitud de extracción n.º 387 - Hacer posible de nuevo la delegación de credenciales en SPNEGO.
  • Error 58807 : restablecimiento del estado SSL en la iteración del grupo de subprocesos solamente (era https.use.cached.ssl.context=false está roto)
  • Error 62716 : al grabar, JMeter elimina la autorización del administrador de encabezado generado cuando se usa el token de portador

Otros muestreadores

  • Error 62235 : Java 9: ​​acceso reflexivo ilegal por parte de org.apache.jmeter.util.HostNameSetter
  • Error 62464 : establezca la hora de inicio y finalización en la muestra del publicador JMS, incluso si falla la inicialización.
  • Error 62616 - FTPSampler: el tamaño del archivo de carga no se cuenta en sentBytes

Controladores

  • Error 62265 - ModuleController se comporta de manera extraña

Oyentes

  • Error 62097 : actualice JTable en el informe agregado solo cuando lleguen nuevos datos. De esa manera, las selecciones de filas se mantendrán por más tiempo.
  • Error 62203 : cliente Influxdb BackendListener: almacenar etiquetas de usuario en anotaciones y transacciones internas. Contribuido por Sergey Batalin (sergey_batalin en mail.ru)
  • Error 62251 : TextGraphiteMetricsSender no invalida las conexiones perdidas en caso de errores de red
  • Error 60705 : corrige los encabezados de los informes agregados y los amigos cuando las columnas se mueven.
  • Error 62463 - Configuración distribuida de cliente/servidor: use diferentes puertos RMI para los objetos remotos cuando use SSL

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 61664 - Administrador de autorización HTTP: Digest funciona solo con RFC 2069 heredado , RFC 2617 no está implementado. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62252 : la lógica de fusión del encabezado HTTP no se corresponde con la documentación
  • Error 62554 - BoundaryExtractor: el campo para verificar no se restablece
  • Error 62553 : el elemento aleatorio puede devolver el mismo valor incluso si la propiedad "Por usuario de subproceso (Usuario)" se establece en VERDADERO
  • Error 62637 : tener en cuenta el programador al calcular el retraso para sincronizar el temporizador

Funciones

I18N

  • Error 62310 : traducción al francés de la etiqueta Precise Throughput Timer

Informe / Tablero

  • Error 62333 : Panel de informes: cuando una serie no contiene ningún valor, la lógica de colores del gráfico es incorrecta. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62283 - Panel de informes - La fecha no se muestra correctamente en el gráfico cuando la granularidad es ≤ 1 día
  • Error 62520 : el texto de información sobre herramientas cuando pasamos el mouse sobre el punto en el gráfico "Latencia frente a solicitud" debe ser "Latencia media"

Documentación

  • Error 62211 : corrección de la documentación del servidor de solicitudes HTTP. Contribuido por Ori Marko (orimarko en gmail.com)
  • Solicitud de extracción n.º 388 - Corregir un error tipográfico. Contribuido por Giancarlo Romeo (giancarloromeo en gmail.com)

General

  • Error 62107 : JMeter no se inicia en Windows cuando JM_LAUNCH contiene espacios
  • Error 62110 : una clase JUnit rota (debido a la falta de dependencia) rompe los menús de JMeter. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Solicitud de extracción n.º 377 - Pequeña corrección de los documentos. Contribución de Peter Doornbosch (peter.doornbosch en luminis.eu)
  • Error 62124 : plantillas de grabación: agregue más exclusiones y use el nombre de la transacción de forma predeterminada
  • Error 62127 : almacenar el nombre de archivo como cadena en lugar de archivo en FileEditor. Esto evitará la conversión de nombres de archivo de separadores de ruta de estilo Unix a estilo Windows cuando se usa, por ejemplo, en CSV Data Set Config.
  • Error 56150 : mantenga el índice a la derecha al desplazarse por los elementos del menú.
  • Error 62240 : si la implementación de SampleMonitor es un TestBean, no se inicializará correctamente
  • Error 62295 : orden correcto de los elementos al duplicar una selección de varios elementos.
  • Error 62397 : no romper líneas en comas al usar JSON Path Tester
  • Error 62281 : evitar NPE en MapProperty. Parche de belugabehr (dam6923 en gmail.com)
  • Error 62457 : en el manual de usuario, el ejemplo de la función UUID es incorrecto. Contribuido por helppass (onegaicimasu en hotmail.com)
  • Error 62478 : escapa de las comas en los parámetros al construir cadenas de funciones en el asistente de funciones de la GUI. Reportado por blue414 (blue414 en 163.com)
  • Error 62463 : corrige el uso de puertos cuando client.rmi.localport está configurado para ejecuciones distribuidas.
  • Error 62545 : no use dos puntos como parte de la cadena de "tabulación" al sangrar JSON en RenderAsJSON.
  • Parte del error 62637 : evitar el desbordamiento de enteros cuando se trata de valores muy grandes en TimerService#adjustDelay
  • Error 62683 : el cuadro de diálogo de error no tiene texto cuando el usuario abre un plan de prueba completamente inválido.

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Graham Russell (graham en ham1.co.uk)
  • Ori Marko (orimarko en gmail.com)
  • Davide Angelocola (davide.angelocola en fisglobal.com)
  • Paquete de carga Ubik
  • Olaf Flebbe (oflebbe en apache.org)
  • Peter Doornbosch (peter.doornbosch en luminis.eu)
  • logox01 (logox01 en gmx.at)
  • Sergey Batalin (sergey_batalin en mail.ru)
  • Xmetro
  • Imane Ankhila (iankhila en ahlane.net)
  • jffagot05 (jffagot05 en gmail.com)
  • Perze Ababa (perze.ababa en gmail.com)
  • Martha Laks (laks.martha en gmail.com)
  • Logan Mauzaize (t524467 en airfrance.fr)
  • belugabehr (dam6923 en gmail.com)
  • Giancarlo Romeo (giancarloromeo en gmail.com)
  • ayuda (onegaicimasu en hotmail.com)
  • blue414 (blue414 en 163.com)
  • Aarón Levin
  • Allen (444104595 en qq.com)
  • Felipe Cuozzo (felipe.cuozzo en gmail.com)
  • bangnab (ambrosetti.nicola en gmail.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 4.0

Resumen

Nuevo y digno de mención

Mejoras principales

JMeter ahora es compatible con JAVA 9.

Nuevo elemento Boundary Extractor disponible que proporciona una fácil extracción con mejores rendimientos

Nuevo elemento de afirmación JSON disponible para afirmar en las respuestas JSON.

Nuevo elemento Temporizador de rendimiento preciso disponible que produce llegadas de Poisson con un rendimiento constante determinado.

El muestreador punto a punto de JMS se ha mejorado con opciones de lectura , navegación y borrado .

Los mejores valores de propiedad ahora se seleccionan en muchos elementos de prueba para garantizar que las mejores prácticas sean las predeterminadas:

  • El recién agregado If Controller ahora usa Expression por defecto, que es la opción de mayor rendimiento.
  • El elemento de prueba JSR223 recién agregado ahora almacena en caché el script compilado de forma predeterminada si el idioma utilizado proporciona esta función.

El controlador de bucle y el controlador ForEach ahora exponen su iteración actual como una variable llamada __jm__<Nombre de su elemento>__idx que puede usar así, por ejemplo, para un controlador de bucle llamado MyLoopController :

${__jm__MyLoopController__idx}
. Ver error 61802

Las cookies ahora se muestran en Ver árbol de resultados durante la grabación. Anteriormente siempre se mostraban vacíos.

La afirmación de respuesta ahora le permite personalizar el mensaje de afirmación y afirmar en los datos de solicitud.

mejoras de experiencia de usuario

JMeter ahora usa Darcula LAF por defecto

Workbench se eliminó de la interfaz de usuario, ahora puede usar elementos que no son de prueba como elementos secundarios inmediatos del plan de prueba.

La experiencia de usuario del menú se ha mejorado para que los elementos más utilizados estén disponibles más rápidamente.

HTTP(S) Test Script Recorder ahora le permite nombrar sus transacciones mientras graba de una manera más legible para los humanos.

Mejoras de UX realizadas, entre las más notables:

  • El controlador del módulo informa al usuario que se requiere al menos un controlador
  • El cuadro de diálogo Ayudante de funciones (el asistente que ayuda a usar y probar funciones) se ha mejorado en muchos campos.
  • Switch Controller recorta el texto para evitar problemas cuando se introduce un espacio antes o después del nombre
  • El plan de prueba ahora se guarda antes de ejecutar el plan de prueba

Funciones

La nueva función __digest proporciona una computación sencilla de hashes SHA-XXX, MDX:

${__digest(MD5,Apache JMeter 4.0 rocas!,,,)}
volverá 0e16c3ce9b6c9971c69ad685fd875d2b

La nueva función __dateTimeConvert proporciona una fácil conversión entre formatos de fecha:

${__dateTimeConvert(01 de enero de 2017, dd MMM aaaa, dd/MM/aaaa,)}
regresará el 01/01/2017

Nueva función __changeCase brinda la capacidad de cambiar a mayúsculas / minúsculas / mayúsculas

${__changeCase(Avaro omnia desunt\, inopi pauca\, sapienti nihil,UPPER,)}
regresarán AVARO OMNIA DESUNT, INOPI PAUCA, SAPIENTI NIHIL

Las nuevas funciones __isVarDefined y __isPropDefined proporcionan pruebas de disponibilidad de propiedades y variables

${__isPropDefined(INICIO.HMS)}
volverá verdadero
${__esVarDefined(JMeterThread.last_sample_ok)}
volverá verdadero

Desarrollo de scripts y complementos

Ahora puede llamar a SampleResult#setIgnore() si no desea que su muestra sea visible en los resultados .

JavaSamplerContext utilizado por AbstractJavaSamplerClient se ha mejorado con nuevos métodos para facilitar el desarrollo de complementos.

JMeter ahora distribuye fuentes adicionales de Maven y artefactos de javadoc en el repositorio de Maven

Los complementos ahora pueden registrar oyentes para recibir notificaciones cuando se abre/cierra un plan de prueba

Informes en vivo e Informe web

El oyente de back-end de InfluxDB ahora le permite agregar etiquetas personalizadas agregándolas con el prefijo TAG_ , vea el error 61794

En Web Report, el gráfico de distribución de tiempo de respuesta es más preciso

Se han realizado algunas correcciones de errores en la generación de informes, consulte Bug 61900 , Bug 61900 61956, Bug 61899 . La latencia de los gráficos frente a la solicitud y el tiempo de respuesta frente a la solicitud no superaron los 1000 RPS debido al error 61962

Configuración del entorno JMeter

La configuración de JVM para los scripts de inicio de JMeter se puede colocar en un archivo separado ( bin/setenv.sh en Unix y bin\setenv.bat en Windows), que se llama al inicio. El script de inicio en sí ya no tiene que editarse.

Cambios incompatibles

  • Se han eliminado la hora de inicio y la fecha de finalización del grupo de subprocesos; consulte el error 61549
  • En las pruebas distribuidas, se eliminó el modo En espera . Utilizar modos alternativos y más eficientes
  • Para complementos de terceros, el siguiente método en org.apache.jmeter.gui.tree.JMeterTreeNode se eliminó para la migración a Java 9 ( Error 61529 )
    Enumeración pública<JMeterTreeNode> niños()
  • tearDown Thread Group ahora se ejecutará al detener y cerrar una prueba de forma predeterminada. Si no desea este comportamiento, desactive Ejecutar grupos de subprocesos de desmontaje después de cerrar los subprocesos principales en el elemento Plan de prueba ; consulte el error 61656
  • Se eliminaron las propiedades sampleresult.getbytes.headers_size y sampleresult.getbytes.body_real_size ; consulte el error 61587
  • JMeter ahora guardará su plan de prueba cada vez que lo ejecute. Este comportamiento se puede controlar mediante la propiedad save_automatically_before_run , consulte el error 61731
  • El elemento del banco de trabajo se eliminó, ahora agrega directamente el elemento que no es de prueba como elemento secundario del plan de prueba. Al cargar un plan de prueba que contiene el elemento, JMeter moverá los elementos Mirror Server , Property Display y HTTP(s) Test Script Recorder como elementos secundarios directos del plan de prueba. Para cualquier otro elemento, creará un elemento Test Fragment llamado Workbench Test Fragment y moverá los elementos en él .
  • Se eliminaron las siguientes clases ( org.apache.jmeter.functions.util.ArgumentEncoder , org.apache.jmeter.functions.util.ArgumentDecoder ), consulte la solicitud de extracción n.º 335
  • En el muestreador punto a punto de JMS, establecer el tiempo de espera en 0 ahora significará un tiempo de espera infinito, mientras que antes se cambiaría a 2000 ms; consulte el error 61829
  • Cuando las aserciones están en diferentes ámbitos, se ejecutan comenzando desde el más EXTERIOR hasta el más INTERIOR. Ver error 61846
  • JMeter ahora se inicia de forma predeterminada con la configuración regional en inglés. Este cambio se debe a la falta de traducciones en muchos idiomas admitidos. Puede cambiar la configuración regional modificando en jmeter y jmeter.bat (o preferiblemente setenv.sh/setenv.bat) los valores de propiedad del sistema JVM_ARGS . También estaríamos muy agradecidos si puede contribuir con traducciones en los idiomas admitidos.
  • SwitchController ahora recorta por defecto el contenido del interruptor para evitar problemas relacionados con espacios no deseados. Ver error 61771
  • La configuración del montón JMeter JVM ha cambiado de -Xms512m -Xmx512m a -Xms1g -Xmx1g
  • La versión Beanshell se ha actualizado a bsh-2.0b6, que introduce cambios importantes y reglas de análisis más estrictas.

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Solicitud de extracción n.º 316 : advertencia sobre la carga del almacén de confianza vacío. Contribución de Vincent Herilier (https://github.com/vherilier)
  • Error 61639 - Grabadora de secuencias de comandos de prueba HTTP(S): en la pestaña de filtrado de solicitudes, desmarque de forma predeterminada "Notificar a los oyentes secundarios sobre muestras filtradas"
  • Error 61672 - Grabadora de secuencias de comandos de prueba HTTP(S): tenga la capacidad de elegir el nombre de la muestra mientras mantiene la capacidad de agregar un prefijo
  • Error 53957 - Solicitud HTTP: en la pestaña Parámetros, permite pegar contenido proveniente de Firefox y Chrome (sin analizar)
  • Error 61587 : soltar propiedades sampleresult.getbytes.headers_size y sampleresult.getbytes.body_real_size
  • Error 61843 : grabadora de secuencias de comandos de prueba HTTP(S): Agregar SAN al certificado CA generado por JMeter. Contribución de Matthew Buckett
  • Error 61901 : compatibilidad con la propiedad del sistema https.cipherSuites . Contribuido por Jeremy Arnold (jeremy en arnoldzoo.org)

Otros muestreadores

  • Error 61544 - Muestreador de punto a punto de JMS: mejore los estilos de comunicación con lectura, navegación y borrado. Basado en una contribución de Benny van Wijngaarden (benny en smaragd-it.nl)
  • Error 61829 : JMS punto a punto: si la cola de recepción está vacía y se establece un tiempo de espera, no se tiene en cuenta. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61739 - Solicitud de Java/JavaSamplerClient: mejorar org.apache.jmeter.protocol.java.sampler.JavaSamplerContext
  • Error 61762 - Iniciar el bucle de subproceso siguiente debe usarse en todas partes

Controladores

  • Error 61675 - Si el controlador: usa la expresión de forma predeterminada y agrega una advertencia cuando se usa el otro modo. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61770 - Controlador de módulo: informe al usuario en la interfaz de usuario que necesita tener al menos un controlador en su plan. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61771 - SwitchController: el campo del interruptor debe recortarse por seguridad

Oyentes

  • Error 57760 : ver el árbol de resultados: el encabezado de la cookie se muestra incorrectamente como vacío (sin cookies) al ver un resultado de muestra de la grabadora. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61769 : ver el árbol de resultados: utilizar el resaltador de sintaxis en XPath Tester, JSON Path Tester y CSS/JQuery Tester. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61776 - Ver árbol de resultados: Expansión del menú Agregar expandir/contraer todo en la vista XML de procesamiento. Contribución de Maxime Chassagneux y Graham Russell
  • Error 61852 - Ver árbol de resultados: agregar un probador extractor de límites
  • Error 61794 : backend de Influxdb: agregue tantas etiquetas personalizadas como desee simplemente creando nuevas líneas y prefijando su nombre con " TAG_ " en el oyente del backend de la GUI

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 60213 - Nuevo componente: extractor basado en límites
  • Error 61845 : aserción JSON de nuevo componente basada en la aserción de ruta JSON de AtlanBH donada a JMeter-Plugins y migrada al núcleo de JMeter por Artem Fedorov (artem en blazemeter.com)
  • Error 61931 - Nuevo componente: Temporizador de rendimiento preciso, temporizador que produce llegadas de Poisson con un rendimiento constante dado. Contribuido por Vladimir Sitnikov (sitnikov.vladimir en gmail.com)
  • Error 61644 - Administrador de caché HTTP: "Usar el encabezado Cache-Control/Expires al procesar solicitudes GET" debe estar marcado de forma predeterminada
  • Error 61645 - Aserción de respuesta: agregar la capacidad de afirmar en los datos de la solicitud
  • Error 51140 - Aserción de respuesta: agregue la capacidad de establecer un mensaje de error/fallo específico que se muestra más tarde en el resultado de la aserción. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61534 : convertir AssertionError en una aserción fallida, lo que permite a los usuarios usar aserción en su código. Arreglando una regresión introducida en 3.2
  • Error 61756 - Extractores: Mejore el nombre de la etiqueta "Nombre de referencia" para que quede claro lo que hace
  • Error 61758 - Aplicar a: campo en Extractores, Aserciones: Al ingresar un valor en JMeter Variable Name , el cuadro de opción JMeter Variable Name debe seleccionarse de manera predeterminada. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61846 : la aserción con alcance debe seguir el mismo orden de evaluación que los posprocesadores

Funciones

  • Error 61724 : agregue la función __digest para proporcionar computación de hashes (SHA-XXX, MDX). Basado en una contribución de orimarko en gmail.com
  • Error 61735 : agregue la función __dateTimeConvert para proporcionar conversiones de formatos de fecha. Basado en una contribución de orimarko en gmail.com
  • Error 61760 : agregue las funciones __isPropDefined y __isVarDefined para saber si existe una propiedad o una variable. Contribuido por orimarko en gmail.com
  • Error 61759 : agregue la función __changeCase para cambiar diferentes casos de una cadena. Basado en una contribución de orimarko en gmail.com
  • Error 61561 : el cuadro de diálogo del asistente de función debe mostrar una excepción en el resultado
  • Error 61738 - Diálogo del asistente de función: Agregar copia en Generar y aclarar etiquetas. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 62027 - Ayuda: introduzca la propiedad help.local para permitir elegir entre documentación local (fuera de línea) y documentación en línea
  • Error 61593 : eliminar detalles, agregar, agregar del portapapeles, eliminar botones en la interfaz gráfica de usuario de Function Helper

I18N

  • Error 61606 - Botón Traducir Examinar... en algunos elementos (que usan la clase FileEditor)
  • Error 61747 - Grabadora de secuencias de comandos de prueba HTTP(S): agregar el documento faltante a "Crear transacción después de la solicitud (ms)"

Informe / Tablero

  • Error 61871 : reduce el valor predeterminado de jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity de 500 ms a 100 ms
  • Error 61879 : eliminar archivos inútiles en la plantilla de informe HTML

General

  • Error 61591 : eliminar Workbench del árbol de pruebas. Implementado por Artem Fedorov (artem en blazemeter.com) y aportado por BlazeMeter Ltd.
  • Error 61549 - Grupo de subprocesos: Eliminar fecha de inicio y finalización
  • Error 61529 : migración a Java 9. Contribución parcial de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61709 - SampleResult: agregue un método setIgnore() para hacer que JMeter ignore el SampleResult y no lo envíe a los oyentes
  • Error 61806 : permitir el uso de SampleResult#setIgnore() en postprocesadores y secuencias de comandos de aserciones (elementos JSR223)
  • Error 61607 : agregue el botón de exploración en todos los elementos BeanShell para seleccionar el script BeanShell
  • Error 61627 : ya no se borra LogView al hacer clic en el indicador de advertencia/errores
  • Error 61629 : Agregar el menú Think Times to Children no debe considerar los elementos deshabilitados
  • Error 61655 - SampleSender: implementación de Drop HoldSampleSender
  • Error 61656 : el grupo de subprocesos tearDown debe ejecutarse de forma predeterminada al detener o cerrar la prueba
  • Error 61659 : JMeterVariables#get() debería aplicarse a String() en objetos que no sean cadenas
  • Error 61555 : el metaespacio debe estar restringido de forma predeterminada
  • Error 61693 : JMeter reconoce Docker ( -XX:+DesbloquearExperimentalVMOptions -XX:+UsarCGroupMemoryLimitForHeap )
  • Error 61694 : agregar la opción de servidor en jmeter.bat
  • Error 61697 : presenta Darcula Look And Feel para hacer que la interfaz de usuario de JMeter sea más atractiva
  • Error 61704 - Barra de herramientas: mejorar un poco la parte derecha
  • Error 61731 : mejora la copia de seguridad del plan de prueba con la opción de guardar antes de ejecutar. Basado en una contribución de orimarko en gmail.com
  • Error 61640 - Elementos de prueba JSR223: habilite el almacenamiento en caché predeterminado. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61785 : agregar ayuda  →  Enlaces útiles para crear problemas y descargar la compilación nocturna
  • Error 61808 : corrige la posición del marco principal. Implementado por Artem Fedorov (artem en blazemeter.com) y aportado por BlazeMeter Ltd.
  • Error 61802 : el controlador Loop/ForEach debería exponer una variable para la iteración actual. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Solicitud de extracción n.º 349 : agregar recursos i18n (zh_CN). Contribución de Helly Guo (https://github.com/hellyguo)
  • Solicitud de extracción n.º 351 : se corrigió la posición del diálogo en la primera vista. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 352 - Barra de menús: se agregaron mnemotécnicos a más elementos del menú. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.° 353 : se reescribieron algunas pruebas existentes en Spock. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 61919 - UX: Reordenar menús. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 61920 - Complementos: agregue la capacidad de escuchar la carga/cierre del plan de prueba. Contribución de Peter Doornbosch (https://bitbucket.org/pjtr/)
  • Error 61935 - Complementos: Deje que el componente GUI (dinámicamente) decida si se puede agregar a través del menú o no. Contribución de Peter Doornbosch (https://bitbucket.org/pjtr/)
  • Error 61969 : al cambiar LAF a través de la GUI, se debe informar al usuario que es mejor reiniciar
  • Error 61970 : JMeter ahora usa inglés como configuración regional predeterminada para evitar perder traducciones en algunas configuraciones regionales, lo que hace que la interfaz de usuario se vea rara
  • Error 56368 : crear e implementar artefactos de origen en el centro de Maven
  • Error 61973 : crear e implementar artefactos javadoc en el centro de Maven
  • Solicitud de extracción n.º 371 : arreglo del ejemplo en la documentación para la aserción de XPath . Contribuido por Konstantin Kalinin (kkalinin en hotmail.com)
  • Error 62039 : pruebas distribuidas: proporcionar la capacidad de usar SSL

Cambios no funcionales

  • Actualizado a bsh-2.0b6 (de bsh-2.0b5)
  • Actualizado a Groovy-all-2.4.13 (desde Groovy-all-2.4.12)
  • Actualizado a rhino-1.7.7.2 (desde rhino-1.7.7.1)
  • Actualizado a tika-core y tika-parsers 1.17 (desde 1.16)
  • Actualizado a commons-dbcp2-2.2.0 (desde 2.1.1)
  • Actualizado a cafeína 2.6.1 (de 2.5.5)
  • Actualizado a commons-codec-1.11 (desde 1.10)
  • Actualizado a commons-io-2.6 (desde 2.5)
  • Actualizado a commons-lang3-3.7 (de 3.6)
  • Actualizado a commons-pool2-2.5.0 (desde 2.4.2)
  • Actualizado a asm-6.0 (desde 5.2)
  • Actualizado a jsoup-1.11.2 (desde 1.10.3)
  • Actualizado a cglib-nodep-3.2.6 (desde 3.2.5)
  • Actualizado a ph-css 6.0.0 (desde 5.0.4)
  • Actualizado a ph-commons 9.0.0 (desde 8.6.6)
  • Actualizado a log4j2 2.10.0 (desde 2.8.2)
  • Actualizado a httpcore 4.4.9 (desde 4.4.7)
  • Actualizado a httpclient 4.5.5 (desde 4.5.3)
  • Actualizado a jodd 4.1.4 (de 3.8.6)
  • Error 61642 : mejora la cobertura de prueba de FTP
  • Error 61641 : mejora la cobertura de prueba de JMS
  • Error 61651 : mejora la cobertura de prueba de TCP
  • Error 61651 : mejora la cobertura de prueba del sistema operativo. Contribuido en parte por Aleksei Balan (abalanonline en gmail.com)
  • Solicitud de extracción n.º 319 : se eliminó el código comentado. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 322 : limpieza general de JavaDoc. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 323 : método extraído y flujos usados ​​para mejorar la legibilidad. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 324 - Guardar refactorización de copia de seguridad. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 327 : utiliza Java más moderno, simplifica el código y formatea el código y los comentarios. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 332 : agregue el marco Spock para pruebas unitarias maravillosas. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 334 : habilite la ejecución de pruebas JUnit desde IntelliJ con la configuración predeterminada. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 335 : se eliminaron functions.util.* ya que parece que no se usaron (durante muchos años). Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 61867 - Solicitud de extracción n.º 345 - Actualizado al último estilo de verificación (v8.5), se agregaron muchas más reglas al estilo de verificación, se incluyó la verificación de archivos de prueba y más tipos de archivos. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Solicitud de extracción n.º 350 : pruebas unitarias paralelas. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 61966 : configuración del analizador de resultados de prueba en jenkins
  • Solicitud de extracción n.º 343 : reduce el tamaño de algunas imágenes en la documentación. Contribuido por Graham Russell (graham en ham1.co.uk)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 61569 : plan de prueba JMS punto a punto: problema de sincronización al enviar la respuesta. Contribuido por Igor Panainte (panainte.i en gmail.com)

Otros muestreadores

  • Error 61698 - Acción de prueba: se selecciona la parada, los muestreadores que siguen a la acción de prueba pueden ejecutarse
  • Error 61707 - Acción de prueba: el objetivo se ignora cuando se selecciona la pausa, por lo que debe deshabilitarse
  • Error 61827 - JMSPublisher: no agregue una nueva línea al final del archivo. Contribuido por Graham Russell (graham en ham1.co.uk)

Controladores

  • Error 61556 : aclarar en la documentación los impactos en el rendimiento del uso de ${} var en IfController y Groovy. Contribuido por Justin McCartney (be_strew en yahoo.co.uk)
  • Error 61713 : el fragmento de prueba tiene la opción de cambiar el controlador e insertar el principal. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61965 : el módulo y el controlador de inclusión no deberían permitir agregar elementos sin sentido en su contexto.
  • Error 62062 : ThroughputController: StackOverFlowError activado cuando el rendimiento = 0 (ejecuciones totales o porcentaje de ejecuciones) Implementado en parte por Artem Fedorov (artem.fedorov en blazemeter.com) y contribuido por BlazeMeter Ltd.

Oyentes

  • Error 61742 - BackendListener: corregir el valor predeterminado para backend_graphite.send_interval
  • Error 61878 - BackendListener: NPE si BackendListenerClient#getDefaultParameters devuelve nulo
  • Error 61950 - Ver árbol de resultados: el audio/mpegurl de tipo de contenido se considera erróneamente como binario

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 61716 - Administrador de encabezados: al pegar encabezados de Firefox o Chrome, los espacios se introducen como primer carácter de valor

Funciones

  • Error 61588 - Mejor mensaje de registro para la función __RandomDate()
  • Error 61619 : en el cuadro de diálogo Asistente de función, la primera función no muestra los parámetros predeterminados
  • Error 61628 : si la cadena dividida tiene un separador vacío, no se usa el separador predeterminado
  • Error 61752 : __RandomDate : la función no permite que falte el último parámetro utilizado para el nombre de la variable

I18N

Informe / Tablero

  • Error 61807 - Informe web: corrección de error en getTop5ErrorMetrics . Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 61900 - Generador de informes: la generación de informes falla si el separador es un carácter reservado de expresiones regulares como |
  • Error 61925 : CsvSampleReader no incrementa la fila en nextSample(). Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 61956 - Generación de informes: la opción -f de -forceDeleteResultFile no funciona. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61899 - Generación de informes: cuando jmeter.save.saveservice.print_field_names es falso y las variables de muestra están configuradas, la generación de informes falla. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61962 : los gráficos de latencia frente a solicitud y tiempo de respuesta frente a solicitud no superan los 1000 RPS. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

General

  • Error 61661 : evita problemas de inicio/apagado debido a complementos de Thread Listener de terceros que lanzan RuntimeException
  • Error 61625 : el editor de archivos utilizado en BeanInfo se comporta de manera extraña en todos los LAF con impacto en CSVDataSet, JSR223, BSF, Beanshell Element
  • Error 61844 : Maven pom.xml: las bibliotecas utilizadas en las pruebas deben tener una prueba de alcance
  • Error 61842 : guardar sin cambios provoca que se guarde y se duplique un archivo de copia de seguridad idéntico

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Igor Panainte (panainte.i en gmail.com)
  • Emilian Bold (emi en apache.org)
  • Paquete de carga Ubik
  • Justin McCartney (be_strew en yahoo.co.uk)
  • Vicente Herilier (https://github.com/vherilier)
  • Aleksei Balan (abalanonline en gmail.com)
  • Graham Russell (graham en ham1.co.uk)
  • Orimarko en gmail.com
  • Artem Fedorov (artem en blazemeter.com)
  • BlazeMeter Ltd
  • Benny van Wijngaarden (benny en smaragd-it.nl)
  • Mateo Buckett (https://github.com/buckett)
  • Helly Guo (https://github.com/hellyguo)
  • Peter Doornbosch (https://bitbucket.org/pjtr/)
  • Jeremy Arnold (jeremy en arnoldzoo.org)
  • Vladimir Sitnikov (sitnikov.vladimir en gmail.com)
  • Konstantin Kalinin (kkalinin en hotmail.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:

  • usuario7294900 en Stackoverflow (orimarko en gmail.com)

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 3.3

Resumen

Nuevo y digno de mención

JMeter aún no es compatible con JAVA 9, la próxima versión de JMeter lo admitirá, puede ayudar y seguir el progreso de este elemento en el error 61529 .
Se recomienda utilizar la última versión secundaria de JAVA 8 para evitar enfrentarse a cualquier error de JDK.

Mejoras principales

HTTP Sampler ahora es compatible con la descompresión de Brotli.

CacheManager ahora es completamente compatible con el encabezado Vary.

InfluxDB BackendListener ahora admite el envío de resultados a InfluxDB a través del protocolo UDP.

También se ha mejorado para enviar la cantidad de errores por código de respuesta y mensaje para cada transacción.

TCP Sampler ahora calcula la latencia, consulte el error 60156

Dependencias actualizadas a las últimas versiones disponibles que brindan mejoras de rendimiento y correcciones de errores

Seguimos mejorando la calidad de nuestro código y la cobertura de las pruebas. Ver informe de calidad

mejoras de experiencia de usuario

Se ha trabajado más para brindar un mejor soporte a HiDPI.

Se corrigieron algunos errores que surgieron con el trabajo de reducir el uso de memoria de Ver árbol de resultados.

La constante DEFAULT_IMPLEMENTATION se eliminó de CookieManager, ya que perdió su propósito con la eliminación de la implementación alternativa del cliente HTTP en la última versión.

JDBC Sampler UX se ha mejorado al agregar cuadros de selección para controladores y consultas de validación.

Si se han mejorado Controller y While Controller UX

Mejoras en informes/tableros

Se ha agregado un nuevo elemento de menú Ayuda para simplificar la configuración de la generación de informes.

Mejoras en la documentación

Comentarios incorporados sobre documentación poco clara.

Funciones

Cuadro de diálogo Asistente de función: se ha agregado un nuevo campo que muestra el resultado de la ejecución.

Nuevas funciones:

  • __timeShift : devuelve una fecha en varios formatos con la cantidad especificada de segundos/minutos/horas/días agregados.
  • __RandomDate : genera una fecha aleatoria dentro de un rango de fechas específico.

Cambios incompatibles

  • En InfluxDbBackendListenerClient, la propiedad statut ha cambiado de nombre a estado
  • En CookieManager, las constantes DEFAULT_POLICY y DEFAULT_IMPLEMENTATION ahora son privadas.
    Si está utilizando ignorecookies con HC3CookieHandler (< JMeter 3.1), la configuración se restablecerá, asegúrese de volver a colocarla.
  • JMeter ya no truncará las respuestas predeterminadas que excedan los 10 MB. Si desea habilitar este truncamiento, consulte la propiedad httpsampler.max_bytes_to_store_per_request
  • org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream) ha quedado obsoleto a favor u org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream, SampleResult), asegúrese de actualizar su implementación para poder calcular la latencia, consulte el error 60156

Elementos o funciones eliminados

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 61056 - HTTP: admite la decodificación de brotli
  • Error 61135 - CookieManager: descartar el cuadro de selección de implementación y la clase de limpieza
  • Error 61492 - Grabadora de secuencias de comandos de prueba HTTP(S): agregue la posibilidad de cambiar el valor de proxy.pause en la GUI

Otros muestreadores

  • Error 61320 - Acción de prueba: establezca la duración en 0 de forma predeterminada
  • Error 61504 - Configuración de la conexión JDBC: establezca el número máximo de conexiones en 0 de forma predeterminada
  • Error 61505 - Configuración de la conexión JDBC: establezca "Consulta de validación" en vacío de forma predeterminada para usar el método isValid del controlador JDBC
  • Error 61506 - Configuración de conexión JDBC: agregue una lista para consultas de validación de bases de datos principales para el atributo "Consulta de validación"
  • Error 61507 - Configuración de conexión JDBC: agregue una lista para las bases de datos principales Nombre de clase de controlador JDBC para el atributo "Clase de controlador JDBC"
  • Error 61525 - OS Process Sampler: Agregar botón de navegador a los campos de comando y directorio de trabajo
  • Bug 60156 - TCPSampler: La latencia no se mide para TCP Sampler. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61039 : configuración del conjunto de datos CSV: agregar el botón del navegador al campo Nombre de archivo
  • Error 61527 : configuración del conjunto de datos CSV: agregue una lista de valores de codificación de archivos principales para el atributo de codificación de archivos

Controladores

  • Error 61131 : IfController y WhileController: mejorar la experiencia de usuario

Oyentes

  • Error 61167 - InfluxdbBackendListener: agregue la cantidad de errores por código de respuesta y mensaje para cada transacción
  • Error 61068 : introduzca la propiedad resultcollector.action_if_file_exists para controlar la ventana emergente "El archivo ya existe" al iniciar una prueba
  • Error 61457 : cliente de escucha de back-end de InfluxDB: admite el envío de resultados a InfluxDB a través del protocolo UDP. Basado en parte en la solicitud de extracción n.º 302 , por Junlong Wu (github id mybreeze77)

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

  • Error 61040 : agregar una función de cambio de hora
  • Error 61126 - Cuadro de diálogo Asistente de funciones: agregar un campo que muestre el resultado de la ejecución
  • Error 61508 : Agregar una fecha aleatoria dentro de una función de intervalo de fechas específico

I18N

  • Error 61509 : mejor etiqueta/traducción/documentación para las etiquetas de inicio y máximo para el elemento contador

Informe / Tablero

  • Error 61481 : elemento del menú de ayuda para exportar transacciones para informes web

General

  • Cuando busque clases en ActionRouter , recurra a la ubicación del jar, desde donde se carga ActionRouter . Proporcionado por Emilian Bold (emi en apache.org)
  • Error 61510 : establezca 'Número máximo de conexiones' en 0 en 'Configuración de conexión JDBC' para la 'Plantilla de prueba de carga JDBC'
  • Error 61399 : hacer que algunas secuencias de comandos bin y extras sean compatibles con Shellcheck. Contribuido por Wolfgang Wagner (internetwolf2000 en hotmail.com)

Cambios no funcionales

  • Actualizado a Groovy 2.4.12 (desde 2.4.10)
  • Actualizado a cafeína 2.5.5 (de 2.4.0)
  • Actualizado a commons-jexl3 3.1 (desde 3.0)
  • Actualizado a ph-css 5.0.4 (desde 5.0.3)
  • Actualizado a ph-commons 8.6.6 (desde 8.6.0)
  • Actualizado a log4j2 2.8.2 (desde 2.8.1)
  • Actualizado a xmlgraphics-commons 2.2 (desde 2.1)
  • Actualizado a jodd 3.8.6 (de 3.8.1)
  • Actualizado a xstream 1.4.10 (desde 1.4.9)
  • Actualizado a Apache Tika 1.16 (desde 1.14)
  • Actualizado a jsoup-1.10.3 (desde 1.10.2)
  • Actualizado a commons-lang3 3.6 (de 3.5)
  • Actualizado a json-path 2.4.0 (desde 2.2.0)
  • Actualizado a httpcore 4.4.7 (desde 4.4.6)
  • Error 61438 : cambiar la firma criptográfica de los paquetes de sha-1 a sha-512

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 61384 : no configurar el juego de caracteres para incluir el encabezado de datos de formulario/multiparte . Irrita a algunos servidores.
    El conjunto de caracteres se agregó hace algún tiempo durante la refactorización para usar una API más nueva del cliente http. Consulte el error 56141 para obtener más información.
  • Error 61456 : java.lang.ArrayIndexOutOfBoundsException al grabar con JMeter y un extraño encabezado de autorización de autenticación básica
  • Error 61395 : el truncamiento de la respuesta del servidor grande puede afectar la grabación

Otros muestreadores

  • Error 60889 : el ejemplo de JMeter JDBC llama a SELECT USER() cuando se prueba con MySQL JDBC debido a la llamada Connection#toString para encabezados de respuesta.
  • Error 61259 : solicitud de JDBC: desde JMeter 3.0, cuando la confirmación automática de JDBC es falsa , se produce una declaración de reversión cada vez que se ejecuta una solicitud. Contribuido en parte por Liu XP (liu_xp2003 en sina.com)
  • Error 61319 - Corrección de regresión: SMTP Sampler no podía enviar correos cuando no se especificaban archivos adjuntos.

Controladores

  • Error 61375 : utilice el sistema de resolución de DNS del sistema como último recurso al resolver entradas en la tabla de hosts estáticos.

Oyentes

  • Error 61005 - Ver árbol de resultados - Los datos de respuesta del navegador no se borran
  • Error 61121 - InfluxdbBackendListenerClient: solo se envían todos los percentiles, no KO y OK
  • Error 60961 : intente mantener el estado de los elementos seleccionados y expandidos en Ver árbol de resultados cuando se agregan nuevos elementos.
  • Error 61198 : Backend Listener no funciona correctamente en el script principal cuando los scripts incluidos también contienen Backend Listener
  • Error 61493 : los subprocesos máx./mín. se intercambian en Graphite e InfluxDB backend listener

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 58743 - Solicitud de extracción n.º 293 - TableEditor no se puede guardar cuando se usan dos o más instancias. Corrección de errores proporcionada por Emilian Bold (emi en apache.org)
  • Error 61314 : el modificador de reescritura de URL HTTP no reemplaza el jsessionid existente en la muestra de http, sino que lo agrega al final
  • Error 61336 - Aserción BeanShell: error en la traducción al chino

Funciones

  • Error 61258 : la función StringFromFile se menciona dos veces en el cuadro de diálogo del asistente de función
  • Error 61260 : la función __XPath devuelve un valor nulo a pesar de que el verificador XPath encuentra coincidencias
  • Error 58876 : la función TestPlanName devuelve nulo para un plan de prueba recién guardado y usa uno abierto previamente para uno nuevo

I18N

Informe / Tablero

  • Error 61129 - Informe/panel: si el código de respuesta está vacío pero hay un mensaje de falla , los errores y los 5 errores principales no son precisos. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 61151 - Informe/panel: 5 errores principales por Sampler y errores: si la afirmación contiene código html, la parte html está oculta

General

  • Error 60743 : Detener/Apagar la prueba podría crear un interbloqueo debido a HTTPCORE-446, solucionado por la actualización de HttpCore a 4.4.7
  • Error 60994 : corrige algunos errores tipográficos en comentarios o mensajes de registro. Solicitud de extracción n.º 289 y solicitud de extracción n.º 290 -
  • Error 61011 : el recuento de ocurrencias de reemplazo no es correcto (el reemplazo de la ruta y el host se cuentan dos veces)
  • Error 61026 : no se puede ejecutar el programa "keytool": error CreateProcess = 2 al iniciar JMeter 3.2 en modo GUI
  • Error 61054 : bucle sin fin en JOrphanUtils#replaceAllWithRegex cuando la expresión regular está contenida en el reemplazo
  • Error 60995 - Grabadora de secuencias de comandos de prueba HTTP: el campo del puerto es muy pequeño en algunos L&F
  • Error 61073 : el panel del grabador de secuencias de comandos de prueba HTTP(S) tiene algunos campos con un tamaño incorrecto en la pantalla HiDPI o GTK+ L&F en Linux/XWayland
  • Error 57958 : corrige la muestra de transacción no generada si el hilo se detiene/reinicia. Implementado por Artem Fedorov (artem en blazemeter.com) y aportado por BlazeMeter Ltd.
  • Error 61050 : Manejar RessourceBundle no inicializado con más gracia, al llamar a JMeterUtils#getResString .
  • Error 61100 : nombre de archivo de registro de GC no válido en Windows
  • Error 57962 : permitir el uso de variables (solo de variables definidas por el usuario) en todos los oyentes en modo de nodo de trabajo
  • Error 61270 : fuentes de ancho fijo demasiado pequeñas en las áreas de texto para leer en HiDPI (error del manual del usuario)
  • Error 61292 : hace que el procesamiento de muestras en Reporter sea más sólido.
  • Error 61359 : al cortar un elemento del árbol, el plan de prueba no se marca como sucio
  • Error 61380 : el apagado de JMeter usando temporizadores libera una multitud atronadora de muestreadores interrumpidos
  • Error 57055 : CheckDirty.doAction debería borrar los GuiItems anteriores para SUB_TREE_SAVED

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Anass Benomar (abenomar en umanis.com, Mithrandir0407 en github)
  • Anthony Kearns (anthony.kearns atrightside.co)
  • Emilian Bold (emi en apache.org)
  • Liu XP (liu_xp2003 en sina.com)
  • Paquete de carga Ubik
  • Wolfgang Wagner (internetwolf2000 en hotmail.com)
  • Junlong Wu (id de github mybreeze77)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:

  • Liu XP (liu_xp2003 en sina.com)
  • Alexander Podelko (apodelko en yahoo.com)

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption ) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con Java 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 3.2

Resumen

Nuevo y digno de mención

CAMBIOS IMPORTANTES

JMeter ahora requiere Java 8. Asegúrese de usar la versión más actualizada.

El registro de JMeter se migró a SLF4J y Log4j 2. Esto afecta la configuración y los complementos de terceros, consulte a continuación "Cambios de registro" .

A partir de la versión 3.2 de JMeter, el número de resultados en Ver árbol de resultados está limitado de forma predeterminada a 500 entradas. Si desea más entradas, debe establecer la propiedad view.results.tree.max_results en un valor más alto, o en 0 , si no desea imponer ningún límite. Puede establecer la propiedad en bin/user.properties. Se puede encontrar más información aquí .

Mejoras principales

  • JMeter ahora proporciona una nueva implementación de BackendListener que interactúa con InfluxDB.
    Esta implementación envía datos mediante llamadas HTTP asíncronas a InfluxDB a través de su API HTTP y le brinda los siguientes gráficos con anotaciones:
  • DNS Cache Manager ahora tiene una tabla para permitir la resolución de host estático.
  • JMS Publisher y Subscriber ahora permiten la reconexión en caso de error con pausa.
  • Las variables en JMS Publisher ahora son compatibles con todos los tipos de mensajes. Agregue el tipo de codificación del archivo para analizar su contenido
  • XPath Extractor ahora permite la extracción aleatoria, por índice o para todas las coincidencias.
  • La aserción de respuesta ahora permite trabajar en el encabezado de solicitud, proporciona una combinación "O" y tiene un mejor procesador de celdas
  • JMeter ahora usa el motor Oracle Nashorn Javascript en lugar de Rhino. Esto proporciona una ejecución más rápida de Javascript.
  • La implementación de HTTP HC4 ahora proporciona autenticación básica preventiva habilitada de forma predeterminada
  • La descarga de recursos integrados en CSS se ha mejorado para evitar el análisis repetitivo e inútil para encontrar los recursos.
  • Se ha realizado un trabajo importante sobre la calidad del código y la cobertura del código con pruebas desde que se configuró Sonar en el proyecto. Puedes ver el informe de Sonar aquí .

mejoras de experiencia de usuario

  • Cuando se ejecuta una prueba, la GUI ahora responde mejor y tiene menos impacto en el uso de la memoria gracias a una limitación en la cantidad de escuchas de resultados de muestra y una reelaboración de la forma en que se actualiza la GUI.
  • La GUI de solicitud HTTP se ha simplificado y proporciona más espacio para los parámetros y el cuerpo.
  • HTTP(S) Test Script Recorder se ha simplificado y aclarado.
  • Se ha agregado una función de reemplazo a la función de búsqueda para permitir el reemplazo en algunos elementos .
    ReplaceAll no reemplaza todos los elementos, lo hace en:
    - HeaderManager: reemplazo en valores
    - Solicitud Http: reemplazo en argumentos, ruta y host
  • View Results Tree ahora proporciona un renderizador de navegador más actualizado que requiere JavaFX.
  • Ahora puede agregar tiempos de reflexión a través de un menú contextual, esto agregará tiempos de reflexión entre los muestreadores y los controladores de transacciones del nodo seleccionado.
  • Ahora puede aplicar una política de nombres a los hijos de un Transaction Controller. Existe una política predeterminada, pero puede implementar la suya propia a través de org.apache.jmeter.gui.action.TreeNodeNamingPolicy y configurando la propiedad naming_policy.impl
  • Se ha agregado la ordenación por columna a los elementos Ver resultados en tabla, Informe de resumen, Informe agregado y Gráfico agregado.

Mejoras en informes/tableros

  • Las estadísticas se han reorganizado para aclarar el informe:
  • Ahora es posible personalizar los umbrales de APDEX por transacción según la expresión regular o el nombre de la muestra. El siguiente ejemplo aplicará diferentes umbrales para las muestras muestra (\\d+), muestra A y escenario B que los predeterminados (500 y 1500 para umbrales satisfechos y tolerados) declarados:
    jmeter.reportgenerator.apdex_satisfied_threshold=500
    jmeter.reportgenerator.apdex_tolerated_threshold=1500
    jmeter.reportgenerator.apdex_per_transaction=muestra(\\d+):1000|2000;\
        muestraA:3000|4000;\
        escenarioB:5000|6000
    

Mejoras en la documentación

  • Las documentaciones en PDF se han migrado y actualizado al manual de usuario HTML

Cambios incompatibles

  • JMeter requiere ahora al menos una versión de Java 8 para ejecutarse.
  • Se ha migrado el registro de JMeter a SLF4J y Log4j 2, esto implica cambios en la forma de realizar la configuración. JMeter ahora se basa en la configuración estándar de Log4j 2 en el archivo log4j2.xml Consulte la sección Registro de cambios a continuación para obtener más detalles.
  • Los siguientes archivos jar se eliminaron después de la migración de LogKit a SLF4J (consulte el error 60589 ):
    • ApacheJMeter_slf4j_logkit.jar
    • avalon-framework-4.1.4.jar
    • commons-logging-1.2.jar
    • excalibur-logger-1.1.jar
    • logkit-2.0.jar
  • Commons- httpclient -3.1.jar se eliminó después de la caída del soporte HC3.1 (consulte el error 60727 )
  • JMeter ahora establece a través de -Djava.security.egd=file:/dev/urandom el algoritmo para el aleatorio seguro
  • Process Sampler ahora devuelve el código de error 500 cuando ocurre un error. Anteriormente devolvía un valor vacío.
  • En org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl , dos campos estáticos protegidos ( localhost y nonProxyHostSuffixSize ) se han renombrado a ( LOCALHOST y NON_PROXY_HOST_SUFFIX_SIZE ) para seguir la convención de nomenclatura de campos estáticos
  • JMeter ahora usa por defecto el motor Oracle Nashorn en lugar de Mozilla Rhino para un mejor rendimiento. Esto no debería tener un impacto a menos que use algunas funciones avanzadas. Puede volver a Rhino configurando la propiedad javascript.use_rhino=true . Puede leer esta guía de migración para obtener más detalles sobre Nashorn. Ver error 60672
  • Error 60729 : el elemento de configuración de variables aleatorias ahora permite mínimo == máximo. Las versiones anteriores registraban un error cuando mínimo==máximo y no establecían la variable configurada.
  • Error 60730 : el posprocesador JSON ahora establece la variable _ALL (suponiendo que se marcó Compute concatenation var ) incluso si la ruta JSON coincide solo una vez. Las versiones anteriores no establecían la variable _ALL en este caso.

Elementos o funciones eliminados

  • La solicitud SOAP/XML-RPC se eliminó como parte del error 60727 . Utilice el elemento de solicitud HTTP como reemplazo. Ver Creación de un plan de prueba de servicio web
  • Error 60423 : detector de resultados del monitor de caída
  • Elimina la clase en desuso org.apache.jmeter.protocol.system.NativeCommand
  • Elimina la clase en desuso org.apache.jmeter.protocol.http.config.gui.MultipartUrlConfigGui
  • Elimina la clase en desuso org.apache.jmeter.testelement.TestListener
  • Elimina la clase en desuso org.apache.jmeter.reporters.FileReporter
  • Elimina la clase en desuso org.apache.jmeter.protocol.http.modifier.UserSequence
  • Elimina la clase en desuso org.apache.jmeter.protocol.http.parser.HTMLParseError
  • Descarte los métodos no utilizados org.apache.jmeter.protocol.http.control.HeaderManager#getSOAPHeader y org.apache.jmeter.protocol.http.control.HeaderManager#setSOAPHeader(Object)
  • org.apache.jmeter.protocol.http.util.Base64Encode ha quedado obsoleto, puede usar java.util.Base64 como reemplazo

Registro de cambios

El registro de JMeter se migró a SLF4J y Log4j 2. Esto afecta la configuración de registro y los complementos de terceros (si utilizan el registro de JMeter). En las siguientes secciones se describen los cambios que deben realizarse.

Configuración del nivel de registro y el archivo de registro

El nivel de registro predeterminado se puede cambiar en la línea de comandos usando el parámetro -L . Asimismo, el parámetro -l se puede utilizar para cambiar el nombre del archivo de registro. Sin embargo, las propiedades log_level ya no funcionan.

Los niveles de registro predeterminados y el nombre del archivo se definen en el archivo de configuración log4j2.xml en el directorio de inicio (generalmente JMETER_HOME/bin )

Si necesita cambiar el nivel mediante programación desde el código Groovy o Beanshell, debe hacer lo siguiente:
    importar org.apache.logging.log4j.core.config.Configurator;
    ⋮
    cadena final loggerName = te.getClass().getName(); // siendo una clase JMeter
    Configurator.setAllLevels(loggerName, Level.DEBUG);
    

Cambios en el registro de complementos de terceros

Los complementos de terceros deben migrar su código de registro de logkit a slf4j. Esto es bastante fácil y se puede hacer reemplazando:
        importar org.apache.jorphan.logging.LoggingManager;
        importar org.apache.log.Logger;
        ⋮
        registro de registrador final estático privado = LoggingManager.getLoggerForClass();
    
Por:
        importar org.slf4j.Logger;
        importar org.slf4j.LoggerFactory;
        ⋮
        registro de registrador final estático privado = LoggerFactory.getLogger(YourClassName.class);
    

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 59934 : corrección de las condiciones de carrera en CssParser. Basado en un parche de Jerome Loisel (loisel.jerome en gmail.com)
  • Error 60543 : solicitud HTTP/solicitud HTTP predeterminada UX: pasar al panel avanzado Tiempos de espera, implementación, proxy. Implementado por Philippe Mouawad (p.mouawad en ubik-ingenierie.com) y aportado por Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60548 - Solicitud HTTP: permitir que el panel superior se contraiga
  • Error 57242 : la autorización HTTP no se establece de forma preventiva con HttpClient4
  • Error 60727 : eliminar commons-httpclient-3.1 y elementos relacionados. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60790 : grabadora de secuencias de comandos de prueba HTTP(S): mejore la información sobre la caducidad del certificado y tenga una mejor experiencia de usuario para iniciar/detener
  • Error 60888 - HttpRequest: Agregar opción para permitir la repetición de todas las solicitudes, incluidos los métodos HTTP NO idempotentes
  • Error 60896 : grabadora de secuencias de comandos de prueba HTTP(S): mejora la experiencia de usuario al reducir el número de propiedades en pantalla

Otros muestreadores

Controladores

  • Error 60672 - Función de JavaScript / IfController: use el motor Nashorn de forma predeterminada

Oyentes

  • Error 60144 : ver el árbol de resultados: agregue un renderizador de navegador más actualizado para reemplazar el antiguo renderizado
  • Error 60542 - Ver árbol de resultados: permitir que el panel superior se contraiga. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 52962 : permitir la clasificación por columnas para Ver resultados en tabla, Informe de resumen, Informe agregado y Gráfico agregado. Basado en una solicitud de extracción n.º 245 , de Logan Mauzaize (logan.mauzaize en gmail.com) y Maxime Chassagneux (maxime.chassagneux en gmail.com).
  • Error 60590 - BackendListener: agregue la implementación Influxdb BackendListenerClient a JMeter. Basado en parte en la solicitud de extracción n.º 246 , de Logan Mauzaize (logan.mauzaize en gmail.com) y Maxime Chassagneux (maxime.chassagneux en gmail.com).
  • Error 60591 - BackendListener: agregue un muestreo de cuadro de tiempo. Basado en una solicitud de extracción n.º 237 , de Logan Mauzaize (logan.mauzaize en gmail.com) y Maxime Chassagneux (maxime.chassagneux en gmail.com).
  • Error 60678 - Ver árbol de resultados: renderizador de texto, la búsqueda no debería mostrar "Texto no encontrado"
  • Error 60691 : ver el árbol de resultados: en los renderizadores (XPath, JSON Path Tester, RegExp Tester y CSS/JQuery Tester), el panel inferior a veces no se ve porque el panel superior es demasiado grande y no se puede cambiar de tamaño.
  • Error 60687 : hacer que la GUI responda mejor cuando recibe muchos eventos.
  • Error 60791 - Ver árbol de resultados: activar la búsqueda con la tecla Intro en la función de búsqueda y mostrar el fondo rojo si no hay coincidencias
  • Error 60822 : ResultCollector no garantiza entradas de nombre de archivo únicas en archivos HashMap

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 60154 : interfaz gráfica de usuario de parámetros de usuario: permitir que las filas se muevan hacia arriba y hacia abajo en la lista. Contribución de Murdecai777 (https://github.com/Murdecai777).
  • Error 60507 : se agregó la función ' O ' en ResponseAssertion. Basado en una contribución de 忻隆 (298015902 en qq.com)
  • Error 58943 : cree una mejor experiencia de Think Time. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60602 - XPath Extractor: agregue el número de coincidencia para permitir la extracción aleatoria, por índice o todas las coincidencias
  • Error 60710 - Extractor de XPath: cuando el contenido en el que se aplica la aserción no es XML, en Ver árbol de resultados, el extractor se marca en rojo y se denomina SAXParseException. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60712 - Aserción de respuesta: mejora del renderizador de patrones
  • Error 59174 : agregue una tabla con hosts estáticos al Administrador de caché de DNS. Esto permite mejores pruebas de hosts virtuales con HttpClient4.

Funciones

I18N

  • Mejorar la traducción " save_as " en francés. Basado en una solicitud de extracción n.º 252 de Maxime Chassagneux (maxime.chassagneux en gmail.com).
  • Error 60785 : mejora de la traducción al japonés. Parche de Kimono (kimono.outfit.am en gmail.com).

Informe / Tablero

  • Error 60637 : mejora el diseño de la tabla de estadísticas
  • Error 60112 : informe/panel: agregue la capacidad de personalizar los umbrales de APDEX por nombre de transacción. Contribución de Stephane Leplus (s.leplus en ubik-ingenierie.com)

General

  • Error 58164 : compruebe si el archivo ya existe en el oyente de ResultCollector antes de iniciar la prueba de carga
  • Error 54525 - Función de búsqueda: mejórela con la capacidad de reemplazar
  • Error 60530 : agregar API para crear subprocesos JMeter mientras se ejecuta la prueba. Basado en una contribución de Logan Mauzaize (logan.mauzaize en gmail.com) y Maxime Chassagneux (maxime.chassagneux en gmail.com).
  • Error 60514 : capacidad para aplicar una convención de nomenclatura en elementos secundarios de un controlador de transacciones. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60711 : mejora el comportamiento del botón Eliminar para aserciones/administrador de encabezado/GUI de parámetros de usuario/excluir, incluir en HTTP(S) Test Script Recorder
  • Error 60593 : cambiar al algoritmo G1 GC
  • Error 60595 : agregar una SplashScreen al inicio de la GUI de JMeter. Contribución de Maxime Chassagneux (maxime.chassagneux en gmail.com).
  • Error 55258 : suelte el icono "Cerrar" de la barra de herramientas y agregue "Nuevo" al menú. Basado en parte en la contribución de Sanduni Kanishka (https://github.com/SanduniKanishka)
  • Error 59995 : permitir que el usuario cambie el tamaño de fuente con dos nuevos elementos de menú y usar jmeter.hidpi.scale.factor para escalar fuentes. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60654 : función de validación: ser capaz de ignorar BackendListener. Contribución de Maxime Chassagneux (maxime.chassagneux en gmail.com).
  • Error 60646 - Workbench: guárdelo de forma predeterminada
  • Error 60684 - Grupo de subprocesos: Validación finalizada prematuramente por el programador con 0 o duración muy corta. Contribuido por Andrew Burton (andrewburtonatwh en gmail.com).
  • Error 60589 : migrar LogKit a SLF4J: eliminar Avalon, LogKit y Excalibur con compatibilidad con versiones anteriores para módulos de terceros. Contribución de Woonsan Ko (woonsan en apache.org)
  • Error 60565 - Migrar LogKit a SLF4J - Optimizar declaraciones de registro. por ejemplo, argumentos de formato de mensaje, argumentos arrojables, registro innecesario si está habilitado en los simples, etc. Contribuido por Woonsan Ko (woonsan en apache.org)
  • Error 60564 : migrar LogKit a SLF4J: reemplazar los registradores de LogKit con los de SLF4J y mantener la solución de enlace de LogKit actual para compatibilidad con complementos. Contribución de Woonsan Ko (woonsan en apache.org)
  • Error 60664 : agregue un menú de interfaz de usuario para establecer el nivel de registro. Contribución de Woonsan Ko (woonsan en apache.org)
  • Solicitud de extracción n.º 276 : se agregaron algunas traducciones para la configuración regional polaca. Contribuido por Bartosz Siewniak (barteksiewniak en gmail.com)
  • Error 60792 : crear un nuevo elemento del menú Ayuda para crear un volcado de hilo
  • Error 60813 : elemento de prueba JSR223: tenga en cuenta JMeterStopTestNowException, JMeterStopTestException y JMeterStopThreadException
  • Error 60814 - Menú: agregue el elemento de menú Abrir reciente para que la carga de archivos recientes sea más obvia
  • Error 60815 - Soltar "Restablecer GUI" del menú
  • Error 60886 : mejoras de compilación para habilitar mejor las compilaciones en entornos que están detrás de un proxy. Contribuido en parte por Michael Osipov (michaelo en apache.org)

Cambios no funcionales

  • Error 60415 : eliminación del soporte para Java 7.
  • Actualizado a dnsjava-2.1.8.jar (desde 2.1.7)
  • Actualizado a Groovy 2.4.10 (desde 2.4.7)
  • Actualizado a httpcore 4.4.6 (desde 4.4.5)
  • Actualizado a httpclient 4.5.3 (desde 4.5.2)
  • Actualizado a jodd 3.8.1 (desde 3.7.1.jar)
  • Actualizado a jsoup-1.10.2 (desde 1.10.1)
  • Actualizado a ph-css 5.0.3 (desde 4.1.6)
  • Actualizado a ph-commons 8.6.0 (desde 6.2.4)
  • Actualizado a slf4j-api 1.7.25 (desde 1.7.21)
  • Actualizado a asm 5.2 (desde 5.1)
  • Actualizado a rsyntaxtextarea-2.6.1 (desde 2.6.0)
  • Actualizado a commons-net-3.6 (de 3.5)
  • Actualizado a json-smart-2.3 (desde 2.2.1)
  • Actualizado a accessors-smart-1.2 (desde 1.1)
  • Convirtió los viejos tutoriales en pdf a xml.
  • Solicitud de extracción n.º 255 : se utilizaron las características de Java 8 (y 7) para ordenar el código. Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 59435: JMeterTestCase ya no es compatible con JUnit3

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 60531 - Administrador de cookies HTTP: cambiar la implementación no actualiza la política de cookies
  • Error 60575 : las solicitudes HTTP GET podrían tener un encabezado de tipo de contenido sin cuerpo.
  • Error 60682 - Solicitud HTTP: el método de obtención puede fallar en la redirección debido a que se ha configurado el encabezado Content-Length
  • Error 60643 : HTTP(S) Test Script Recorder no maneja correctamente el reinicio o el inicio después de la detención. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60652 : las solicitudes HTTP PUT pueden filtrar descriptores de archivos.
  • Error 60689 : httpclient4.validate_after_inactivity no tiene impacto, lo que conduce al uso de conexiones potencialmente obsoletas/cerradas
  • Error 60690 : los valores predeterminados para "httpclient4.validate_after_inactivity" y "httpclient4.time_to_live" que son iguales entre sí hacen que la validación sea inútil
  • Bug 60758 - HTTP(s) Test Script Recorder: la solicitud de número puede generar números duplicados. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 56939 : los parámetros no se pasan con la solicitud HTTP de OPCIONES
  • Error 60778 : Http Java Impl no muestra el encabezado de autorización en SampleResult incluso si se envía
  • Error 60837 : GET con cuerpo, PUT no se vuelven a intentar incluso si httpclient4.retrycount es superior a 0
  • Error 60842 : recorte las URL extraídas al cargar recursos incrustados con el analizador de HTML basado en Lagarto.
  • Error 60928 - Solicitud Http: fuga de conexión cuando se utiliza Keepalive con recursos integrados

Otros muestreadores

  • Error 603982 : controlador de excepción de protección del JDBCSampler contra mensajes nulos
  • Error 55652 : JavaSampler restablece silenciosamente el nombre de clase si no se puede encontrar la clase

Controladores

Oyentes

  • Error 60648 : GraphiteBackendListener puede perder algunas métricas al final de la prueba si la prueba es muy corta
  • Error 60650 : AbstractBackendListenerClient no restablece UserMetric entre ejecuciones
  • Error 60759 - Ver árbol de resultados: la función de búsqueda no busca en la URL. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60859 - Guardar respuestas en un archivo: 2 elementos con una configuración diferente se superpondrán

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 60438 - Solicitud de extracción n.º 235 - - Borre las variables antiguas antes de extraer las nuevas en JSON Extractor. Basado en un parche de Qi Chen (qi.chensh en ele.me)
  • Error 60607 : se ignora la configuración de DNS Cache Manager
  • Error 60729 : el elemento de configuración de variable aleatoria debería permitir mínimo == máximo
  • Error 60730 : el posprocesador JSON debe establecer la variable _ALL incluso si la ruta JSON coincide solo una vez.
  • Error 60747 - Aserción de respuesta: agregar encabezados de solicitud al campo para probar
  • Error 60763 : XMLAssertion no debería filtrar errores a la consola
  • Error 60797 : TestAction en modo de pausa puede durar más allá de la duración configurada de la prueba

Funciones

  • Error 60819 : la función __fileToString no respeta el contrato de documentación cuando no se encuentra el archivo

I18N

Informe / Tablero

  • Error 60726 - Informe/panel: los 5 errores principales de los muestreadores no deben tener en cuenta el filtrado de series
  • Error 60919 : informe/panel: latencia frente a solicitud y tiempo de respuesta frente a solicitud son incorrectos si la granularidad es diferente de 1000 (1 segundo)

General

  • Error 60775 : NamePanel ctor llama al método anulable
  • Error 60428 : JMeter Graphite Backend Listener arroja una excepción cuando finaliza la prueba y useRegexpForSamplersList se establece en true . Basado en el parche de Liu XP (liu_xp2003 en sina.com)
  • Error 60442 : corregir un error tipográfico en build.xml (gavin en 16degrees.com.au)
  • Error 60449 - JMeter Tree: Comportamiento molesto cuando el nombre del nodo está vacío
  • Error 60494 : agregar una tarea de análisis de sonda para compilar
  • Error 60501 : función de búsqueda: problema de rendimiento cuando se marca la expresión regular
  • Error 60444 : error intermitente de TestHTTPMirrorThread#testSleep() . Contribución de Thomas Schapitz (ts-nospam12 en online.de)
  • Error 60621 : falta la carpeta " plantilla de informe " en ApacheJMeter_config-3.1.jar en maven central
  • Error 60744 : los elementos de la GUI no se limpian cuando se reutilizan durante la carga del plan de prueba, lo que puede hacer que se inicialicen parcialmente con un estado anterior para un nuevo elemento de prueba
  • Error 60812 : JMeterThread no cumple con el contrato de JMeterStopTestNowException
  • Error 60857 : SaveService omite el encabezado XML si _file_encoding no está definido en saveservice.properties
  • Error 60830 : las marcas de tiempo en el archivo CSV podrían dañarse debido a que se comparte un SimpleDateFormatter entre subprocesos

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Jerome Loisel (loisel.jerome en gmail.com)
  • Liu XP (liu_xp2003 en sina.com)
  • Qi Chen (qi.chensh en ele.me)
  • (gavin en 16degrees.com.au)
  • Thomas Schapitz (ts-nospam12 en online.de)
  • Murdecai777 (https://github.com/Murdecai777)
  • Logan Mauzaize (logan.mauzaize en gmail.com)
  • Maxime Chassagneux (maxime.chassagneux en gmail.com)
  • 忻隆 (298015902 en qq.com)
  • Paquete de carga Ubik
  • Graham Russell (graham en ham1.co.uk)
  • Sanduni Kanishka (https://github.com/SanduniKanishka)
  • Andrew Burton (andrewburtonatwh en gmail.com)
  • Woonsan Ko (woonsan en apache.org)
  • Bartosz Siewniak (barteksiewniak en gmail.com)
  • Kimono (kimono.outfit.am en gmail.com)
  • Michael Osipov (michaelo en apache.org)
  • Stephane Leplus (s.leplus en ubik-ingenierie.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:

  • Tuukka Mustonen (tuukka.mustonen en gmail.com) quien nos brindó muchos comentarios útiles que ayudaron a resolver los errores 60689 y 60690
  • Amar Darisa (amar.darisa en gmail.com) quien nos ayudó con sus comentarios sobre el error 60682

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 8+.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior (pero tenga en cuenta que Java 9 aún no está certificado para JMeter).
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con JAVA 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 3.1

Resumen

Nuevo y digno de mención

Mejorar informe/panel

El Dashboard se ha mejorado con 3 nuevos gráficos y 1 tabla de resumen:

  • Conectar gráfico de tiempo a lo largo del tiempo:
  • Gráfico de percentiles de tiempo de respuesta a lo largo del tiempo (respuestas exitosas):
  • Gráfico de descripción general del tiempo de respuesta:
  • Los 5 errores principales de la tabla Sampler:
  • Más detalles sobre los errores en la tabla Errors
  • Tiempo de respuesta promedio agregado a la tabla de estadísticas:
  • La tabla Subprocesos activos ahora apila subprocesos:

Nuevas métricas

Se ha introducido una nueva métrica sent_bytes que informa los bytes enviados al servidor.
Otra métrica connect_time ha sido habilitada por defecto en esta versión

Manejo de grandes respuestas

JMeter ahora puede manejar respuestas de métricas de más de 2 GB, el límite se incrementó a 9223372 TB.
Para manejar respuestas tan grandes, ahora también puede truncar parte de la respuesta para evitar sobrecargar la memoria. Consulte la propiedad httpsampler.max_bytes_to_store_per_request .

Nueva función __groovy

Introducir una nueva función __groovy que habilita las funciones de Groovy. Esto puede ser útil, ya que JavaScript puede ser bastante lento (al igual que BeanShell), cuando se usa en planes de prueba altamente concurrentes.

Use Groovy como predeterminado para los elementos JSR-223

Groovy ahora está configurado como el idioma predeterminado para los elementos JSR-223. Si desea utilizar otro de los idiomas admitidos, debe realizar una elección explícita.

De forma predeterminada, el script compilado de caché, si está disponible , no está marcado de forma predeterminada, aunque le recomendamos que lo compruebe y se asegure de no utilizar la sintaxis ${varName} para acceder a las variables de JMeter, sino vars.get("varName") .

Vista de fuente HTML formateada en la vista de árbol de resultados

El código fuente HTML en la vista de árbol de resultados ahora se puede ver formateado. Esto es extremadamente útil, si el código de la página web ha sido despojado de todos los espacios en blanco superfluos.

Nueva vista de fuente HTML con formato
Nueva vista de fuente HTML con formato

Capacidad para actualizar todos los temporizadores en el plan de prueba con una nueva propiedad

Se ha introducido una nueva propiedad timer.factor=1.0f que le permite multiplicar los tiempos de pausa calculados por los temporizadores gaussiano, uniforme y de Poisson. Esto le permite actualizar Think Times desde un solo lugar y ganar productividad.

Mejoras principales

  • Varias correcciones de GUI y UX
  • Mejoras en el uso de la memoria
  • JDBC Request ahora puede devolver Blob/Clob y calcula la latencia y el tiempo de conexión
  • CSS Parsing introducido en 3.0 se ha optimizado mediante la introducción de un caché de análisis
  • La solicitud HTTP ahora puede manejar el cuerpo en la solicitud GET, esto es útil para las solicitudes de Elastic Search, por ejemplo.

Mejoras en la documentación

  • Revisión de la documentación y mejoras para facilitar la puesta en marcha
  • Sección de documentación de referencia de nuevas propiedades

Cambios incompatibles

  • En esta versión se ha introducido una memoria caché para el análisis de URL de CSS, está habilitada de forma predeterminada. Está controlado por la propiedad css.parser.cache.size . Se puede deshabilitar estableciendo su valor en 0 . Ver error 59885
  • Los valores predeterminados de ThroughputController han cambiado. Ahora los valores predeterminados son Ejecuciones porcentuales, que son globales y no más por usuario. Ver error 60023
  • Desde la versión 3.1, el informe HTML ignora el Transaction Controller vacío (posiblemente generado por If Controller o Throughput Controller ) al calcular las métricas. Esto proporciona métricas más precisas.
  • Desde la versión 3.1, Summariser ignora los resultados de muestra generados por Transaction Controller al calcular las estadísticas en vivo; consulte el error 60109
  • Desde la versión 3.1, cuando se usan los modos eliminados (de forma predeterminada , se usa StrippedBatch ), la respuesta también se eliminará si los resultados de la muestra fallan, puede revertir esto al comportamiento anterior configurando sample_sender_strip_also_on_error=false en user.properties , vea el error 60137
  • Desde la versión 3.1, el valor de la propiedad jmeter.save.saveservice.connect_time es verdadero , lo que significa que el archivo CSV para los resultados contendrá una columna adicional que contiene el tiempo de conexión, consulte el error 60106
  • Desde la versión 3.1, las subclases de temporizador aleatorio (temporizador aleatorio gaussiano, temporizador aleatorio uniforme y temporizador aleatorio de Poisson) implementan la interfaz org.apache.jmeter.timers.ModifiableTimer
  • Desde la versión 3.1, si no selecciona ningún idioma en JSR223 Test Elements, se utilizará el idioma Apache Groovy. Ver error 59945
  • Desde la versión 3.1, CSV DataSet ahora recorta los nombres de las variables para evitar problemas debido a los espacios entre los nombres de las variables al configurar CSV DataSet. Esto no debería tener ningún impacto para usted a menos que use un espacio al principio o al final de los nombres de sus variables. Ver error 60221
  • Desde la versión 3.1, la solicitud HTTP es capaz cuando se usa la implementación HttpClient4 (predeterminada) para manejar respuestas de más de 2147483647 bytes, es decir, 2 GB. Para permitir esto, se han introducido dos propiedades:
    • httpsampler.max_bytes_to_store_per_request (predeterminado en 10 MB) controlará lo que se almacena en la memoria. Por defecto, JMeter solo mantendrá en memoria los primeros 10 MB de una respuesta. Si tiene respuestas mayores que este valor y usa aserciones que están después de los primeros 10 MB, entonces debe aumentar este valor
    • httpsampler.max_buffer_size controlará el búfer utilizado para leer los datos. Anteriormente, JMeter usaba un búfer igual al encabezado Content-Length, lo que podía provocar fallas y hacer que JMeter fuera menos resistente a las aplicaciones defectuosas, pero tenga en cuenta que esto puede afectar los tiempos de respuesta y dar resultados ligeramente diferentes a las versiones anteriores si su aplicación devuelve un encabezado Content-Length más alto. que el valor predeterminado actual (65 KB)
    Ver error 53039

Elementos o funciones en desuso y eliminados

Estos elementos ya no aparecen en el menú, si los necesita modifique la propiedad not_in_menu . El equipo de JMeter aconseja no usarlos más y migrar a su reemplazo.

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 59882 : reduzca las asignaciones de memoria para mejorar el rendimiento. Contribuido por Benoit Wiart (b.wiart en ubik-ingenierie.com) a través de la solicitud de extracción n.º 217 y la solicitud de extracción n.º 228 -
  • Error 59885 : optimice el análisis de css para la descarga de recursos integrados mediante la introducción de un caché. Contribución de Benoit Wiart (b.wiart en ubik-ingenierie.com) a través de la solicitud de extracción n.º 219 -
  • Error 60092 - Ver árbol de resultados: agregar una versión abreviada del cuerpo PUT al resultado de la muestra.
  • Error 60229 : agregar una nueva métrica: sent_bytes. Implementado por Philippe Mouawad (p.mouawad en ubik-ingenierie.com) y aportado por Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 53039 - Solicitud HTTP: ser capaz de manejar respuestas cuyo tamaño exceda los 2147483647 bytes (es decir, 2 GB)
  • Error 60265 - Solicitud HTTP: en la pestaña Cargar archivos no puede cambiar el tamaño de las columnas
  • Error 60318 : ignorar las advertencias de CSS al analizar con la biblioteca ph-css.
  • Error 60358 - Solicitud Http: Permitir el envío de datos del cuerpo para la solicitud HTTP GET

Otros muestreadores

  • Solicitud de extracción n.º 211 : diferenciar el tiempo para JDBC Sampler. Utilice la latencia y el tiempo de conexión. Contribución de Thomas Peyrard (thomas.peyrard en murex.com)
  • Error 59620 : corrige la acción del botón en "JMS Publisher → Archivo aleatorio de la carpeta especificada a continuación" para permitir seleccionar un directorio
  • Error 60066 : manejar CLOB y BLOB y limitarlos si es necesario al almacenarlos en el muestreador de resultados.

Controladores

  • Error 59351 : mejora el registro/error/mensaje para includeController. Contribuido en parte por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Bug 60023 - ThroughputController: Hacer "Porcentaje de Ejecuciones" y globales los valores predeterminados. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60082 - Modo de validación: Ser capaz de forzar que el controlador de rendimiento se ejecute como si estuviera configurado al 100 %
  • Error 59349 : recortar espacios en el nombre de archivo de entrada en el controlador de inclusión.
  • Error 60081 - Controlador intercalado: agregue una opción para alternar entre subprocesos

Oyentes

  • Error 59953 : GraphiteBackendListener: Agregar métrica promedio. Contribuido en parte por Maxime Chassagneux (maxime.chassagneux en gmail.com)
  • Error 59975 - Ver árbol de resultados: el renderizador de texto se desplaza molestamente hacia abajo cuando el contenido es voluminoso. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60109 - Summariser: hacer que ignore el resultado de muestra generado por TC en sus cálculos de resumen
  • Error 59948 : agregar un procesamiento de código fuente HTML sensato y formateado al árbol de resultados de vista
  • Error 60252 : agregar kbytes/s enviados al informe agregado y al informe resumido
  • Error 60267 - UX: en Ver árbol de resultados debería ser posible cerrar la ventana emergente Configurar escribiendo escape. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 59845 : registrar mensajes sobre discrepancias de ruta JSON en el nivel de depuración en lugar de error .
  • Solicitud de extracción n.° 212 : permitir selección múltiple y eliminación en el Administrador de autorización HTTP. Basado en un parche de Benoit Wiart (b.wiart en ubik-ingenierie.com)
  • Error 59816 - Solicitud de extracción n.º 213 - Permitir selección múltiple y eliminación en el Administrador de encabezado HTTP. Basado en un parche de Benoit Wiart (b.wiart en ubik-ingenierie.com)
  • Error 59967 - CSS/JQuery Extractor: Permitir valor predeterminado vacío. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 59974 - Aserción de respuesta: Agregar botón " Agregar desde el portapapeles ". Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60050 - Conjunto de datos CSV: aclare en los registros cuándo se cerrará un subproceso debido a esta configuración
  • Error 59962 : Cache Manager no actualiza la fecha de caducidad cuando el código de respuesta es 304 .
  • Error 60018 - Temporizador: agregue un factor para aplicar en las pausas. Basado en parte en un parche de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60203 : use más espacio disponible para el área de texto en la aserción XPath.
  • Error 60220 : cambiar el nombre del posprocesador de la ruta JSON a JSON Extractor
  • Error 60221 - Conjunto de datos CSV: recortar nombres de variables
  • Error 59329 : recortar espacios en el nombre de archivo de entrada en CSVDataSet.

Funciones

  • Error 59963 : nueva función __RandomFromMultipleVars : capacidad para calcular un valor aleatorio a partir de valores de una o más variables. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Bug 59991 - Nueva función __groovy para evaluar Groovy Script. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

I18N

  • Solicitud de extracción n.º 214 : agregue traducción al español para el inicio retrasado de hilos. Contribuido por Asier Lostalé (asier.lostale en openbravo.com).
  • Error 60348 : cambiar la traducción al chino para Guardar como . Contribución de XMeter (soporte en xmeter.net).

Informe / Tablero

  • Error 59954 - Informe/panel web: Agregar métrica promedio
  • Error 59956 : informe web/panel: agregue la capacidad de generar un gráfico para un rango de datos
  • Error 60065 : informe/panel: mejora el resumen de errores del panel agregando un mensaje de respuesta a "Tipo de error". Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60079 - Informe/panel: Agregar un nuevo gráfico "Resumen del tiempo de respuesta"
  • Error 60080 - Informe/Panel: Agregar un nuevo gráfico "Tiempo de conexión a lo largo del tiempo". Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60091 : informe/panel: tiene un nuevo informe que contiene gráficos mínimos/máximos y de percentiles.
  • Error 60108 : informe/panel: en el resumen de solicitudes, el redondeo es demasiado agresivo
  • Error 60098 - Informe/Panel: Reducir el valor predeterminado para " jmeter.reportgenerator.statistic_window " para reducir el impacto en la memoria
  • Error 60115 : agregue la propiedad de formato de fecha para el filtro de fecha de inicio/finalización en el generador de informes
  • Error 60171 - Informe/panel: subprocesos activos a lo largo del tiempo deben apilar líneas para dar la cantidad total de subprocesos en ejecución
  • Error 60250 : informe/panel: es necesario agregar KB/s enviados en el informe de estadísticas del panel HTML
  • Error 60287 - Informe/Panel: Tener una nueva tabla Top5 Errors by sampler en el Tablero. Implementado por Philippe Mouawad (p.mouawad en ubik-ingenierie.com) y aportado por Ubik Load Pack (soporte en ubikloadpack.com)

General

  • Error 59803 : use el método isValid() del controlador JDBC, si no se proporciona una consulta de validación en la configuración de la conexión JDBC.
  • Error 57493 : crear una página de documentación para propiedades
  • Error 59924 : el nivel de registro del paquete XXX se establece en DEBUG si log_level. El valor de la propiedad XXXX contiene espacios, lo mismo para la función __log
  • Error 59777 : extraiga el enlace SLF4J en su propio contenedor y conviértalo en una biblioteca JMeter.
    Si recibe una advertencia sobre múltiples enlaces SLF4J en el inicio. Elimine el enlace proporcionado por Apache JMeter lib/ApacheJMeter_slf4j_logkit.jar o todos los demás enlaces informados. Para obtener más información, puede consultar la propia página de información de SLF4J.
  • Error 60085 : elimine el caché para las declaraciones preparadas, ya que no funcionó con la implementación actual del grupo JDBC y los controladores JDBC actuales deberían admitir el almacenamiento en caché de las declaraciones preparadas.
  • Error 60137 : en las pruebas distribuidas cuando se usan los modos StrippedXXXX, también se elimina la respuesta en caso de error.
  • Error 60106 : valores predeterminados de configuración: cambiar " jmeter.save.saveservice.connect_time " a verdadero (después de 3.0)
  • Solicitud de extracción n.° 229 : pequeñas mejoras en la asignación de memoria. Contribución de Benoit Wiart (b.wiart en ubik-ingenierie.com)
  • Error 59945 : para todos los elementos JSR223, si no se ha elegido el idioma del script en la interfaz de usuario, el script se interpretará como un script maravilloso.
  • Error 60266 - Usabilidad/UX: no debería ser posible cerrar/salir/Revertir/Cargar/Cargar un proyecto reciente o crear desde una plantilla un plan JMeter o abrir uno nuevo si se está ejecutando una prueba
  • Error 57305 : eliminar la dependencia de ProxyControl en GuiPackage . Basado en parches de jarek102 (jarek102 en gmail.com) y Wyatt Epp (wyatt.epp en gmail.com)

Cambios no funcionales

  • Actualizado a jsoup-1.10.1 (desde 1.8.3)
  • Actualizado a ph-css 4.1.6 (desde 4.1.4)
  • Actualizado a tika-core y tika-parsers 1.14 (desde 1.12)
  • Actualizado a commons-io 2.5 (desde 2.4)
  • Actualizado a commons-lang3 3.5 (de 3.4)
  • Actualizado a commons-net 3.5 (desde 3.4)
  • Actualizado a Groovy 2.4.7 (desde 2.4.6)
  • Actualizado a httpcore 4.4.5 (desde 4.4.4)
  • Actualizado a slf4j-api 1.7.21 (desde 1.7.13)
  • Actualizado a rsyntaxtextarea-2.6.0 (desde 2.5.8)
  • Actualizado a xstream 1.4.9 (desde 1.4.8)
  • Actualizado a jodd 3.7.1 (desde 3.6.7.jar)
  • Actualizado a xmlgraphics-commons 2.1 (desde 2.0.1)
  • Solicitud de extracción n.º 215 : reduzca el código duplicado mediante el método recientemente agregado GuiUtils#cancelEditing . Contribución de Benoit Wiart (b.wiart en ubik-ingenierie.com)
  • Solicitud de extracción n.° 218 : limpieza miscelánea. Contribución de Benoit Wiart (b.wiart en ubik-ingenierie.com)
  • Solicitud de extracción n.º 216 : reutilice el patrón cuando sea posible. Contribución de Benoit Wiart (b.wiart en ubik-ingenierie.com)
  • Error 60364 - Cobertura de prueba de documento. Contribución de Thomas Schapitz (ts-nospam12 en online.de)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 58888 : HTTP(S) Test Script Recorder (ProxyControl) no agrega TestElement devuelto por SamplerCreator#createChildren()
  • Error 59902 : error de protocolo de enlace Https al configurar la propiedad httpclient.socket.https.cps
  • Error 60084 : la URL del recurso incrustado de JMeter 3.0 está codificada de forma silenciosa
  • Error 60376 - Http Test Script Recorder: si el servidor usa deflate, la grabación puede interrumpir la aplicación

Otros muestreadores

  • Error 59113 : configuración de la conexión JDBC: el nivel de aislamiento de transacciones no se establece correctamente si se usa una constante en lugar de un valor numérico

Controladores

  • Error 60361 - ModuleController: si un plan de prueba contiene un controlador de módulo que hace referencia a un controlador inexistente, JMeter en modo GUI no se detendrá

Oyentes

  • Error 59712 : muestra la consulta original en RequestView cuando falla la decodificación. Basado en un parche de Teemu Vesala (teemu.vesala en qentinel.com)
  • Error 60278 : desde la versión 2.13 (y el error 57514 ), el gráfico agregado, el informe de resumen y el informe agregado perdieron precisión en los valores de error, velocidad y ancho de banda guardados en el archivo guardado csv
  • Error 60360 - Ver árbol de resultados: la pestaña Solicitud no muestra el cuerpo de una solicitud DELETE

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 59964 : elemento de prueba JSR223: el script compilado en caché, si está disponible, no se restablece correctamente. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 59609 : formatee correctamente los objetos JSON extraídos en el posprocesador JSON como JSON.
  • Error 60332 - Ver árbol de resultados: con Windows LAF, JSON Extractor no muestra el panel de resultados y expresión de ruta JSON

Funciones

I18N

General

  • Error 59400 : deshacerse de UnmarshalException al detenerse cuando se usa la opción -X .
  • Error 59607 : JMeter falla al leer un plan de prueba grande (más de 2 GB). Basado en la solución de Felix Draxler (felix.draxler en sap.com)
  • Error 59621 : el recuento de errores en el panel de informes es único.
  • Error 59657 : solo se establece la fuente en JSyntaxTextArea, cuando se establece la propiedad jsyntaxtextarea.font.family .
  • Error 59720 : las comparaciones de archivos de prueba por lotes fallan en Windows porque los archivos XML se generan como EOL=LF
  • Limpiezas de código. Parches de Graham Russell (graham en ham1.co.uk)
  • Error 59722 : use StandardCharsets para reducir la posibilidad de escribir mal los nombres de Charset.
  • Error 59723 : use jmeter.properties para realizar pruebas siempre que sea posible
  • Error 59726 : prueba unitaria para verificar que el texto del encabezado CSV y el formato de muestra no cambien inesperadamente
  • Error 59889 : cambio de codificación a UTF-8 en los informes del panel.
  • Error 60053 : en el modo sin GUI, se muestra un Stacktrace al final de la prueba mientras se genera el informe
  • Error 60049 : cuando se usan temporizadores con retrasos elevados o un temporizador de rendimiento constante con un rendimiento bajo, el programador puede tardar mucho en salir, lo mismo que para la prueba de apagado
  • Error 60089 : informe/panel: el rendimiento de bytes a lo largo del tiempo ha invertido los bytes enviados y recibidos. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 60090 : informe/panel: el controlador de transacciones vacío no debe contar en las métricas
  • Error 60103 : informe/panel: el resumen de solicitudes incluye el controlador de transacciones que conduce a un porcentaje incorrecto
  • Error 60105 - Informe / Tablero: el informe requiere que se marque la opción " generar muestra principal " de Transaction Controller, solucionar problemas relacionados
  • Error 60107 - Informe/panel: en StatisticSummary, TransactionController SampleResult hace que la línea Total sea incorrecta
  • Error 60110 : informe/panel: en los percentiles de tiempo de respuesta, el control deslizante es inútil
  • Error 60135 : informe/panel: subprocesos activos a lo largo del tiempo deben estar en la sección de tiempo extra
  • Error 60125 : informe/panel: el panel no se puede generar si el delimitador predeterminado es \t . Basado en un informe de Tamas Szabadi (tamas.szabadi en rightside.co)
  • Error 59439 - Informe/panel: AbstractOverTimeGraphConsumer.createGroupInfos() debe ser abstracto
  • Error 59918 : el informe HTML generado por Ant no funciona (carpeta de extras)
  • Error 60295 : JSON Extractor no indexa los elementos de la matriz cuando solo se encuentra un elemento. Basado en un parche de Roberto Braga (roberto.braga en sociale.it)
  • Error 60299 : grupo de subprocesos con programador: comportamiento extraño cuando la hora de finalización está en el pasado

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Félix Draxler (felix.draxler en sap.com)
  • Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Graham Russell (graham en ham1.co.uk)
  • Teemu Vesala (teemu.vesala en qentinel.com)
  • Asier Lostalé (asier.lostale en openbravo.com)
  • Thomas Peyrard (thomas.peyrard en murex.com)
  • Benoit Wiart (b.wiart en ubik-ingenierie.com)
  • Maxime Chassagneux (maxime.chassagneux en gmail.com)
  • Paquete de carga Ubik
  • Tamas Szabadi (tamas.szabadi en rightside.co)
  • Roberto Braga (roberto.braga en soziale.it)
  • jarek102 en gmail.com
  • Wyatt Epp (wyatt.epp en gmail.com)
  • Thomas Schapitz (ts-nospam12 en online.de)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:
    [java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: no compatible: número de sangría
    
    Esto no afecta el funcionamiento de JMeter. Este problema está solucionado desde Java 7b05.
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Con Oracle Java 7 y Mac Book Pro Retina Display, la GUI de JMeter puede verse borrosa. Este es un error conocido de Java, consulte el error JDK-8000629 . Una solución alternativa es usar un tiempo de ejecución de la actualización 40 de Java 7 que corrige este problema.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 7 versión u16 (MD2) y versión u40 (tamaño de certificado inferior a 1024 bits) y Java 8 también.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK7_u79, JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con JAVA 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 3.0

Resumen

Nuevo y digno de mención

Mejoras en la creación y depuración de planes de prueba

Nueva función de búsqueda en Ver árbol de resultados para permitir la búsqueda de texto/regexp en Solicitud/Respuestas/Encabezados/Cookies/... Esto facilitará la correlación y la creación de planes de prueba

Nuevo posprocesador JSON para extraer mejor los datos del contenido JSON utilizando la sintaxis JSON-PATH fácil de usar

JSON ahora es un ciudadano de primera clase en JMeter con la introducción de un nuevo posprocesador JSONPath . Este posprocesador es muy similar al posprocesador de expresiones regulares, pero se adapta bien al código JSON. Se basa en la biblioteca Jayway JSON Path.

Nueva función de validación, con un solo clic, ejecute una selección de grupos de subprocesos con 1 usuario, sin pausa y 1 iteración

Los elementos de prueba JSR223 ya no requieren una clave de compilación de caché

Simplemente marque la casilla de verificación Guardar secuencia de comandos compilada en caché si está disponible y los elementos (preprocesador, posprocesador, aserciones, oyentes, …) compilarán previamente la secuencia de comandos y almacenarán en caché el código compilado si el lenguaje subyacente lo admite.

Nashorn ahora se puede usar como motor Javascript, lo que brinda un mejor rendimiento y un uso más fácil

Para habilitar Nashorn , debe configurar user.properties :

javascript.use_rhino=falso

Nashorn se puede utilizar con Java 8 en los siguientes elementos:

  • Si el controlador
  • JSR223 Elementos de prueba con lenguaje javascript seleccionado
  • Función __javaScript

Jexl3 ha sido integrado. Proporciona nuevas funciones de secuencias de comandos y una documentación mucho mejor.

JEXL3 ahora se puede usar gracias a una nueva función __jexl3 . JEXL es un lenguaje muy similar a JSTL.

Interfaz de usuario de solicitud HTTP simplificada

Se ha agregado una nueva pestaña " Avanzado " a Solicitud HTTP para simplificar la configuración. La función de carga de archivos se ha movido a una pestaña dedicada. Esto aumenta el espacio disponible para los parámetros en la interfaz de usuario y simplifica la experiencia de usuario.

Mejoras en los valores predeterminados de solicitud HTTP

Ahora puede configurar la dirección de origen (función similar a la suplantación de IP) y " Guardar respuesta como hash MD5 " en la pestaña Avanzado

Mejoras en los informes

Nueva función de informes que genera gráficos dinámicos en páginas HTML (APDEX, informe de resumen y gráficos)

Ahora se puede generar un informe HTML dinámico al final de una prueba de carga o desde un archivo de resultados cuando lo desee. Consulte Generación de tableros para obtener más detalles. Este informe proporciona las siguientes métricas:

  • Tabla APDEX (índice de rendimiento de la aplicación) que calcula el APDEX en función de los valores configurables para los umbrales tolerados y satisfechos
  • Un gráfico de resumen de solicitud que muestra el porcentaje de transacciones exitosas y fallidas:
  • Una tabla de estadísticas que proporciona en una tabla un resumen de todas las métricas por transacción, incluidos 3 percentiles configurables:
  • Una tabla de errores que proporciona un resumen de todos los errores y su proporción en el total de solicitudes:
  • Gráfico ampliable donde puede marcar/desmarcar cada transacción para mostrarla/ocultarla para:
    • Tiempos de respuesta a lo largo del tiempo:
    • Rendimiento de bytes a lo largo del tiempo:
    • Latencias a lo largo del tiempo:
    • Aciertos por segundo:
    • Códigos de respuesta por segundo:
    • Transacciones por segundo:
    • Tiempo de respuesta frente a solicitud por segundo:
    • Latencia vs Solicitud por segundo:
    • Percentiles de tiempos de respuesta:
    • Subprocesos activos a lo largo del tiempo:
    • Tiempos vs hilos:
    • Distribución del tiempo de respuesta:

GraphiteBackendListener tiene una nueva métrica de aciertos del servidor

Summariser muestra una duración más legible

Ahora la duración se muestra en el formato horas:minutos:segundos

Generar resultados de resumen + 1 en 00:00:01 = 1,7/s Promedio: 1 Min: 1 Max: 1 Err: 0 (0,00 %) Activo: 1 Iniciado: 1 Finalizado: 0
Generar resultados de resumen + 138 en 00:00:09 = 16,2/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %) Activo: 9 Iniciado: 9 Finalizado: 0
Generar resultados de resumen = 139 en 00:00:09 = 15,3/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %)
Generar resultados de resumen + 467 en 00:00:10 = 47,0/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %) Activo: 19 Iniciado: 19 Finalizado: 0
Generar resultados de resumen = 606 en 00:00:19 = 31,9/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %)
⋮
Generar resultados de resumen + 1662 en 00:00:10 = 166,1/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00%) Activo: 50 Iniciado: 50 Finalizado: 0
Generar resultados de resumen = 28932 en 00:03:19 = 145,4/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %)
Generar resultados de resumen + 1664 en 00:00:10 = 166,4/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %) Activo: 50 Iniciado: 50 Finalizado: 0
Generar resultados de resumen = 30596 en 00:03:29 = 146,4/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %)
Generar resultados de resumen + 1661 en 00:00:10 = 166,1/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %) Activo: 50 Iniciado: 50 Finalizado: 0
Generar resultados de resumen = 32257 en 00:03:39 = 147,3/s Promedio: 0 Min: 0 Max: 1 Err: 0 (0,00 %)

BackendListener ahora le permite definir la lista de muestras como una expresión regular

Ahora puede usar una expresión regular para seleccionar las muestras que desea filtrar. Use el parámetro: useRegexpForSamplersList=true y coloque una expresión regular en el parámetro samplersList

Mejoras en protocolos y pruebas de carga

Se ha iniciado la migración a HttpClient 4.5.2. Aunque no está completamente terminado, mejora muchas áreas en JMeter

La migración a HttpClient 4.5.2 mejora los siguientes campos de JMeter:

Las descargas paralelas ahora son realistas y escalan mucho mejor:

  • Análisis de archivos CSS importados (a través de @import ) o recursos incrustados (fondo, imágenes, …)
  • Inicialización perezosa del contexto SSL: para 15 subprocesos, un 138 % más de muestreo en 5 minutos solo para pruebas de HTTP. La ganancia aumenta a medida que aumenta el número de subprocesos
  • Reelaboración de la administración de conexiones para descarga paralela: esto simula mejor el comportamiento actual del navegador y mejora el rendimiento. Para 15 hilos 135% muestras extra en 5 minutos.
  • Reutilización de subprocesos utilizados para descargas paralelas a través de ThreadPool: esto mejora el rendimiento y aumenta la escalabilidad de JMeter para dichas pruebas.
  • Total de 750% más de rendimiento encontrado en la prueba con 15 subprocesos, cuantos más subprocesos tenga, mayor será la ganancia
  • Ahora puede calcular y almacenar solo el MD5 de los recursos incrustados en lugar de almacenar la respuesta completa, esto se puede hacer configurando la propiedad httpsampler.embedded_resources_use_md5=true

Introducción de la función de tiempo de espera de muestra

Este nuevo preprocesador de tiempo de espera de muestra le permite aplicar un tiempo de espera en los elementos que están en su alcance. En la siguiente captura de pantalla, el tiempo de espera de 10 segundos se aplica a los elementos Debug Sampler y HTTP Request .

La solicitud JDBC ahora usa el grupo DBCP2

La solicitud de JDBC y la configuración de conexión de JDBC se han actualizado para reemplazar el antiguo grupo Excalibur por el grupo DBCP2 de Apache Commons. Como consecuencia, las propiedades se han migrado a equivalentes cuando están disponibles y la interfaz de usuario se ha actualizado. Tenga en cuenta que, a diferencia de Excalibur, Commons DBCP utiliza la consulta de validación al crear el grupo. Así que asegúrese de que la consulta sea válida. La consulta predeterminada se adapta a muchas bases de datos, pero no a todas; por ejemplo, Oracle requiere ' SELECCIONAR 1 DE DUAL ' o similar.

Mejoras de la experiencia de usuario:

Mejor visualización en pantallas HiDPI

Consulte JMeter con una pantalla HiDPI en Linux o Windows en la sección Sugerencias y sugerencias del manual del usuario

Nuevo icono y logo

JMeter tiene un nuevo Logo creado por Felix Schumacher.
Los iconos también se han actualizado para darles un estilo más moderno y hacerlos más significativos.

Muchas correcciones de pequeños errores molestos.

Se han realizado alrededor de 40 correcciones de UI para corregir comportamientos confusos y con errores o simplificar el uso al no permitir que se seleccionen opciones incompatibles.

Interfaz de usuario de grupo de subprocesos mejorada y acciones relacionadas ( Iniciar , Iniciar sin temporizadores , Validar )

La creación y prueba de un plan de prueba antes de la prueba de carga se ha simplificado mucho al permitirle iniciar solo una selección de grupos de subprocesos, iniciarlos sin aplicar temporizadores (ganando así tiempo) o iniciarlos usando un nuevo modo de validación. Este modo de validación le permite iniciar un grupo de subprocesos (sin modificarlo) con 1 subproceso, 1 iteración y sin aplicar temporizadores. Este modo de validación se puede personalizar.

Nuevos atajos

  • Agregue los elementos más utilizados ( Ctrl  +  0Ctrl  +  9 ), configurables a través de las propiedades gui.quick_ XXX
  • Atajos para expandir nodos

Mejoras principales

Simplificación de la configuración con mejores valores predeterminados

Los valores predeterminados de muchas propiedades se han modificado para que la configuración de JMeter sea óptima desde el primer momento. Lea la sección "Cambios incompatibles" para obtener más detalles.

Apache Groovy incluido con JMeter

Apache Groovy , el conocido lenguaje de secuencias de comandos JVM, ahora se incluye con Apache JMeter en la carpeta lib. Esto le permite usarlo inmediatamente a través de JSR223 Elements seleccionando el idioma Groovy.

Propiedades superfluas y antiguas eliminadas

Se han eliminado las propiedades antiguas que existían para mantener la compatibilidad con versiones anteriores o para ofrecer alguna personalización superflua. Lea la sección "Cambios incompatibles" para ver qué propiedades se han eliminado.

Mejoras en el código y la documentación.

  • Migración a código fuente Java7 y uso de su azúcar sintáctico
  • Limpiezas importantes de código
  • Revisión completa de la documentación y mejora tanto en contenido como en presentación

Mejoras a las pruebas unitarias

  • Migración de muchas pruebas a JUnit 4
  • Mejor gestión de las pruebas Headless
  • Más pruebas unitarias

actualización de dependencias

Bibliotecas en desuso descartadas o reemplazadas por bibliotecas actualizadas:

  • Excalibur reemplazado por commons-dbcp
  • htmllexer, htmlparser eliminado
  • quitado el jabón
  • jdom eliminado

Slf4j ahora se puede usar dentro de complementos y código central

Ahora puede usar el envoltorio de registro SLF4J en sus complementos personalizados o en las subclases org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient .

Cambios incompatibles

  • Desde la versión 3.0, Groovy-2.4.6 se incluye con JMeter ( carpeta lib ), asegúrese de eliminar la versión anterior o las versiones a las que se hace referencia a través de las propiedades search_paths o user.classpath
  • Desde la versión 3.0, el valor de la propiedad jmeter.save.saveservice.assertion_results_failure_message es verdadero, lo que significa que el archivo CSV para los resultados contendrá una columna adicional que contiene el mensaje de respuesta del resultado de la aserción; consulte el error 58978
  • Desde la versión 3.0, el valor de la propiedad jmeter.save.saveservice.print_field_names es verdadero, lo que significa que el archivo CSV para los resultados contendrá nombres de campo como primera línea en CSV, consulte el error 58991
  • Desde la versión 3.0, el valor de la propiedad jmeter.save.saveservice.idle_time es verdadero, lo que significa que los archivos de resultados CSV/XML contendrán una columna adicional que contiene el tiempo de inactividad entre las muestras; consulte el error 57182
  • En la clase RandomTimer, el campo del temporizador de instancia protegida ha sido reemplazado por el método protegido getTimer() , esto está relacionado con el error 58100 . Esto puede afectar los complementos de terceros.
  • Desde la versión 3.0, puede usar Nashorn Engine (el motor javascript predeterminado es Rhino) en Java8 para Elements que usan Javascript Engine ( __javaScript , IfController ). Si desea usarlo, use la propiedad javascript.use_rhino=false , consulte el error 58406 .
    Nota: en una versión futura, cambiaremos a Nashorn de forma predeterminada. Se alienta a los usuarios a informar cualquier problema relacionado con el uso de Nashorn en lugar de Rhino.
  • Desde la versión 3.0, JMS Publisher volverá a cargar el contenido del archivo si el origen del mensaje es " De archivo " y el campo " Nombre de archivo " cambia (por ejemplo, si usa una variable que ha cambiado)
  • org.apache.jmeter.gui.util.ButtonPanel se eliminó, si lo usa en su complemento de terceros o desarrollo personalizado, asegúrese de actualizar su código. Ver error 58687
  • Se eliminó la propiedad jmeterthread.starearlier . Ver error 58726
  • Se eliminó la propiedad jmeterengine.startlistenerslater . Ver error 58728
  • Se eliminó la propiedad jmeterthread.reversePostProcessors . Ver error 58728
  • Se eliminó la propiedad jmeter.toolbar.display , ahora la barra de herramientas siempre se muestra. Ver error 59236
  • Se eliminó la propiedad jmeter.errorscounter.display , ahora siempre se muestra el contador de errores/advertencias. Ver error 59236
  • Se ha eliminado la propiedad xml.parser , ya no se usa porque org.apache.jmeter.util.JMeterUtils#getXMLParser ha quedado obsoleto y tampoco se usa. Ver error 59236
  • El oyente de Summariser ahora muestra la duración en el formato HH: mm: ss (Hora: Minuto: Segundo), anteriormente mostraba la duración en segundos. Ver error 58776
  • La firma org.apache.jmeter.protocol.http.visualizers.RequestViewHTTP.getQueryMap ha cambiado, si la usa, asegúrese de actualizar su código. Ver error 58845
  • El suscriptor de JMS considerará que una muestra es un error si la cantidad de mensajes recibidos no es igual a la cantidad esperada de mensajes. Anteriormente consideraba una muestra OK si se recibía al menos 1 mensaje. Ver error 58980
  • Desde la versión 3.0, la grabadora de secuencias de comandos de prueba HTTP(S) usa de manera predeterminada el puerto 8888 (como se configuró al usar la plantilla de grabación). Ver error 59006
  • Desde la versión 3.0, el analizador de recursos integrados (reemplazado desde la 2.10 por la implementación basada en Lagarto) que dependía de la biblioteca htmlparser (HtmlParserHTMLParser) se eliminó junto con sus dependencias.
  • Desde la versión 3.0, se eliminó la compatibilidad con la lectura de archivos JTL (resultados) en formato Avalon antiguo; consulte el error 59064
  • Desde la versión 3.0, el valor de propiedad predeterminado para http.java.sampler.retries se ha cambiado a 0 (sin reintento de forma predeterminada) para alinearlo con el comportamiento de HttpClient4.
    Tenga en cuenta también que su significado ha cambiado: antes de 3.0, http.java.sampler.retries=1 significaba No Retry (es decir, intentos totales = 1), desde 3.0 http.java.sampler.retries=1 significa 1 reintento. (Nota: esto solo se aplica a Java HTTP Sampler)
    Ver error 59103
  • Desde 3.0, las siguientes clases en desuso se han eliminado
    • org.apache.jmeter.protocol.http.modifier.UserParameterXMLContentHandler
    • org.apache.jmeter.protocol.http.modifier.UserParameterXMLErrorHandler
    • org.apache.jmeter.protocol.http.modifier.UserParameterXMLParser
  • httpsampler.await_termination_timeout se reemplazó por httpsampler.parallel_download_thread_keepalive_inseconds, que ahora es el tiempo de mantenimiento de los subprocesos de descarga paralelos (en segundos).
  • La solicitud JDBC se ha actualizado para usar commons-dbcp2, desde entonces el comportamiento es ligeramente diferente, asegúrese de tener una "Consulta de validación" correcta para su base de datos. Ver error 58786
  • Se han eliminado los siguientes frascos:
  • El número máximo de redirecciones permitidas por JMeter ahora es 20, antes era 5. Esto se puede cambiar con la propiedad httpsampler.max_redirects . Ver error 59382

Elementos obsoletos y eliminados

  • Los elementos de MongoDB (MongoDB Source Config, MongoDB Script) han quedado obsoletos y se eliminarán en la próxima versión de JMeter. Ya no aparecen en el menú, si los necesita modifique la propiedad not_in_menu . El equipo de JMeter aconseja no usarlos más. Ver error 58772
  • La solicitud de servicio web (SOAP) y la máscara de parámetro HTML, que estaban en desuso en la versión 2.13, ahora se eliminaron siguiendo nuestra estrategia de desuso . Las clases y propiedades que solo usaban esos elementos se han eliminado:
    • org.apache.jmeter.protocol.http.util.DOMPool
    • org.apache.jmeter.protocol.http.util.WSDLException
    • org.apache.jmeter.protocol.http.util.WSDLHelper
    • Propiedad soap.document_cache
    • JAR soap-2.3.1 también ha sido eliminado
  • La función __jexl (es decir, JEXL 1) ha quedado obsoleta y se eliminará en la próxima versión. Ver error 58903
  • Spline Visualizer listener y Distribution Graph listener han quedado obsoletos y se eliminarán en la próxima versión de JMeter. Ya no aparecen en el menú, si los necesita modifique la propiedad not_in_menu . El equipo de JMeter aconseja no usarlos más. Ver error 58791

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 57696 - Solicitud HTTP: mejora el mensaje de respuesta cuando falla la descarga de recursos. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57995 : uso de FileServer para archivos de solicitud HTTP. Implementado por Andrey Pokhilko (andrey en blazemeter.com) y aportado por BlazeMeter Ltd.
  • Error 58843 : mejora el espacio utilizable en la GUI del muestreador HTTP. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58852 : use menos memoria para las solicitudes PUT . Los datos cargados ya no se almacenarán en el Sampler. Este es el mismo comportamiento que con las solicitudes POST .
  • Error 58860 - Solicitud HTTP: agregue la generación automática de variables en la tabla de parámetros HTTP haciendo clic con el botón derecho. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58923 : normaliza los URI al descargar recursos integrados.
  • Error 59005 - Muestreador HTTP: se agregó el verbo WebDAV ( BUSCAR ).
  • Error 59006 : cambie el puerto de grabación proxy predeterminado a 8888 para alinearlo con la plantilla de grabación. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 58099 - Rendimiento: inicialización perezosa del contexto SSL de HttpClient para evitar su inicialización incluso para escenarios solo de HTTP
  • Error 57577 : HttpSampler: recuperar todos los recursos integrados, agregar la propiedad " httpsampler.embedded_resources_use_md5 " para calcular solo md5 y no conservar los datos de respuesta. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59023 - Interfaz de usuario de HttpSampler : modifique las etiquetas de recursos integrados y cambie el número predeterminado de descargas paralelas a 6 . Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59028 : usar el singleton SystemDefaultDnsResolver . Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59036 : FormCharSetFinder: use JSoup en lugar del obsoleto HTMLParser
  • Error 59034 : la administración de la conexión de descargas paralelas no es realista. Contribución de Benoit Wiart (benoit dot wiart en gmail.com) y Philippe Mouawad
  • Error 59060 - GUI de solicitud HTTP: Mueva la carga del archivo a una nueva pestaña para tener más espacio para los parámetros y evitar configuraciones incompatibles. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59103 : implementación de Java de solicitud HTTP: cambie el valor predeterminado " http.java.sampler.retries " para alinearlo con el comportamiento de HttpClient y hacer que el nombre sea significativo
  • Error 59083 - Solicitud HTTP: haga que el campo Método sea editable para que se puedan agregar fácilmente métodos adicionales (WebDAV)
  • Error 59118 : agregue un comentario en el tiempo de reflexión registrado por la grabadora proxy. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 59116 : agregue la posibilidad de configurar un prefijo para el nombre de la muestra registrado por proxy. Basado en parte en un parche de Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 59129 - Solicitud HTTP: simplificar la GUI con pestañas simples/avanzadas
  • Error 59033 - Descarga paralela: Reelaboración de la jerarquía de clases del analizador para permitir analizadores complementarios para diferentes tipos de MIME
  • Error 52073 : descarga paralela de recursos integrados: mejore el rendimiento al evitar el cierre de ThreadPoolExecutor en cada muestra. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Bug 59190 - HTTP(S) Test Script Recorder: las exclusiones sugeridas deben ignorar mayúsculas y minúsculas. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 59140 - Descarga paralela: agregue CSS Parsing para extraer enlaces de archivos CSS
  • Error 59249 : valores predeterminados de solicitud Http: Agregar " Dirección de origen " y " Guardar respuestas como MD5 "
  • Error 59382 : valor predeterminado más realista para httpsampler.max_redirects

Otros muestreadores

  • Error 57928 : se agregó la capacidad de definir el protocolo (http/https) a la GUI de AccessLogSampler. Contribución de Jérémie Lesage (jeremie.lesage en jeci.fr)
  • Error 58300 : hacer que las muestras de Java existentes implementen interrumpible
  • Error 58160 - JMS Publisher: recargar el contenido del archivo si cambia el nombre del archivo. Basado en parte en un parche aportado por Maxime Chassagneux (maxime.chassagneux en gmail.com)
  • Error 58786 - Muestreador de JDBC: reemplazar Excalibur DataSource por una biblioteca más actualizada commons-dbcp2
  • Error 59205 - Muestreador TCP: establece el tiempo de conexión en el muestreador cuando se establece la conexión.
  • Error 59381 - JMSPublisher: el filtro FileChooserDialog no funciona para los botones del navegador. Basado en parte en un parche aportado por Antonio Gomes Rodrigues (ra0077 en gmail.com)

Controladores

  • Error 58406 - IfController: permitir el uso de Nashorn Engine si está disponible para la evaluación de JavaScript
  • Error 58281 - RandomOrderController: mejora el rendimiento del algoritmo de aleatorización. Contribución de Graham Russell (jmeter en ham1.co.uk)
  • Error 58675 - Controlador de módulo: el mensaje de error puede pasarse por alto fácilmente. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58673 - Controlador de módulo: cuando el elemento de destino está deshabilitado, se muestran los iconos de jtree predeterminados. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58674 - Controlador de módulo: no debería ser posible seleccionar más de un nodo en el árbol. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58680 - Controlador de módulo: mejora de la interfaz de usuario. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58989 - Interfaz gráfica de usuario del controlador de grabación: agregue un botón para borrar todas las muestras grabadas. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)

Oyentes

  • Error 58041 : Tree View Listener debe mostrar un tipo de datos de muestra
  • Error 58122 : GraphiteBackendListener: Agregar métrica de aciertos del servidor. Basado en parte en un parche de Amol Moye (amol.moye en thomsonreuters.com)
  • Error 58681 : GraphiteBackendListener: no enviar datos si no se produjo ningún muestreo
  • Error 58776 : Summariser debería mostrar una duración más legible
  • Bug 58791 - Oyentes en desuso: gráfico de distribución (alfa) y visualizador de spline
  • Error 58849 - Ver árbol de resultados: agregue un panel de búsqueda a la vista http de la solicitud para poder buscar en la tabla de parámetros. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58857 - Ver árbol de resultados: la vista de solicitud http no permite cambiar el tamaño de la primera columna de la tabla de parámetros. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58955 : la vista de solicitud http no muestra correctamente los parámetros http en datos multiparte/formulario. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 55597 - Ver árbol de resultados: agregue una función de búsqueda para buscar en muestras grabadas
  • Error 59102 - Ver árbol de resultados: mejor valor predeterminado para " view.results.tree.max_size "
  • Error 59099 - Oyente de backend: agregue la posibilidad de considerar samplersList como una expresión regular. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 59424 - Visualizador: Agregar "Borrar" en el menú emergente

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 58303 : cambie el uso de la API de bouncycastle en SMIMEAssertion para eliminar las advertencias de obsolescencia.
  • Error 58515 - Nuevos componentes relacionados con JSON: JSON-PATH Extractor y JSON-PATH Renderer en Ver árbol de resultados. Donado por Ubik Load Pack (soporte en ubikloadpack.com).
  • Error 58698 : análisis correcto de los archivos de autenticación en el Administrador de autorización HTTP.
  • Error 58756 - CookieManager: el contenido del cuadro de selección de política de cookies debe depender de la implementación de cookies.
  • Error 56358 : el administrador de cookies admite cookies de puertos cruzados y RFC6265. Gracias a Oleg Kalnichevski (olegk en apache.org)
  • Error 58773 - TestCacheManager: agregar pruebas para CacheManager que usan HttpClient 4
  • Error 58742 - CompareAssertion: restablece los datos en TableEditor al cambiar entre diferentes CompareAssertions en la interfaz gráfica de usuario. Basado en un parche de Vincent Herilier (vherilier en gmail.com)
  • Error 59108 - TableEditor: Permitir que las filas se muevan hacia arriba y hacia abajo. Contribuido por Vincent Herilier (vherilier en gmail.com)
  • Error 58848 - Panel de argumentos: al agregar un argumento (botón Agregar o desde el portapapeles), desplace la tabla a la nueva línea. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58865 : permitir un valor predeterminado vacío en el extractor de expresiones regulares. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Bug 59156 - XMLAssertion: eliminar la dependencia de jdom usando XMLReader
  • Error 59328 : mejor información sobre herramientas para nombres de variables en CSVDataSet. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)

Funciones

  • Error 58477 - Función __javaScript: Permitir el uso del motor Nashorn para Java8 y versiones posteriores
  • Error 58903 : proporciona la función __jexl3 que usa commons-jexl3 y la función obsoleta __jexl (1.1)

I18N

General

  • Error 58736 : agregar soporte de tiempo de espera de muestra
  • Error 57913 : copias de seguridad automáticas de los últimos archivos JMX guardados. Contribuido por Benoit Vatan (benoit.vatan en gmail.com)
  • Error 57988 : accesos directos ( Ctrl  +  1Ctrl  +  9 ) para agregar rápidamente elementos al plan de prueba. Implementado por Andrey Pokhilko (andrey en blazemeter.com) y aportado por BlazeMeter Ltd.
  • Error 58100 : mejoras de rendimiento: reemplazar Random por ThreadLocalRandom.
  • Error 58677 : TestSaveService#testLoadAndSave utiliza el conjunto de archivos incorrecto. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58689 : agregar accesos directos para expandir/contraer una parte del árbol. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58696 : crear una tarea Ant para configurar el proyecto Eclipse
  • Error 58653 : nuevo panel/informe de JMeter con gráficos dinámicos y tablas para ayudar a analizar los resultados de las pruebas de carga. Desarrollado por Ubik-Ingenierie y aportado por Decathlon SA y Ubik-Ingenierie / UbikLoadPack
  • Error 58699 : los cambios de Workbench no se guardan ni se solicita guardar al cerrar. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58728 : eliminar propiedades de comportamiento antiguas
  • Error 57319 : actualización a HttpClient 4.5.2. Con la gran ayuda de Oleg Kalnichevski (olegk en apache.org) y Gary Gregory (ggregory en apache.org).
  • Error 58772 : Elementos relacionados con MongoDB obsoletos
  • Error 58782 - ThreadGroup: mejorar la ergonomía
  • Error 58165 : muestra el tiempo transcurrido desde el inicio de la prueba de carga en modo GUI. Basado en parte en una contribución de Maxime Chassagneux (maxime.chassagneux en gmail.com)
  • Error 58814 : JVM ya no reconoce la opción MaxLiveObjectEvacuationRatio ; eliminar de los comentarios
  • Error 58810 - Contador de elementos de configuración (y otros): Área de alternancia de casillas de verificación demasiado grande
  • Error 56554 : elemento de prueba JSR223: genera la clave de caché de compilación automáticamente. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58911 - Administrador de encabezados: debería ser posible copiar/pegar entre los administradores de encabezados. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58864 - Panel de argumentos: al mover el parámetro con arriba/abajo, asegúrese de que la selección permanezca visible. Basado en una contribución de Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58968 : agregue una nueva plantilla para permitir grabar secuencias de comandos con tiempo de reflexión incluido. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 58978 : valores predeterminados de configuración: cambie " jmeter.save.saveservice.assertion_results_failure_message " a verdadero (después de 2.13)
  • Error 58991 : configuración predeterminada: cambiar " jmeter.save.saveservice.print_field_names " a verdadero (después de 2.13)
  • Error 57182 : valores predeterminados de configuración: cambiar " jmeter.save.saveservice.idle_time " a verdadero (después de 2.13)
  • Error 58870 - TableEditor: el tamaño mínimo es demasiado pequeño. Contribuido por Vincent Herilier (vherilier en gmail.com)
  • Error 58933 - JSyntaxTextArea: capacidad para establecer la fuente. Contribuido por Denis Kirpichenkov (denis.kirpichenkov en gmail.com)
  • Error 58793 : crear una página de desarrolladores que explique cómo crear y contribuir
  • Error 59046 : el controlador de reemplazo de JMeter Gui debe mantener el nombre y la selección. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59038 : elementos relacionados con HTTPClient 3.1 en desuso
  • Error 59094 : eliminación de la compatibilidad con el antiguo formato de archivo JMX
  • Error 59082 : elimine el parámetro " TestCompiler.useStaticSet ". Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59093 : el mensaje de error de análisis de opciones se puede ' perder '
  • Error 58715 - Solicitud de función: agrupar groovy-all con JMeter
  • Error 58426 : mejora la visualización de JMeter en dispositivos de alta resolución (HiDPI) (parte 1 de la mejora)
  • Error 59105 - TableEditor: agregue la capacidad de pegar filas desde el portapapeles y eliminar la selección múltiple. Contribuido por Vincent Herilier (vherilier en gmail.com)
  • Error 59197 - Grupo de subprocesos: debería ser posible ejecutar solo un único grupo de subprocesos o una selección de grupos de subprocesos con un menú emergente. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59207 : cambia el color de la fuente de errorsOrFatalsLabel a rojo cuando se produce un error. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 58941 : cree un nuevo iniciador que ejecute grupos de subprocesos en modo de validación ( solo 1 subproceso, 1 iteración, sin pausa, todo personalizable)
  • Error 59236 - Propiedades de JMeter: hacer algo de limpieza
  • Error 59240 : presente un adaptador slf4j para Logkit (esto permite usar slf4j dentro de complementos y código central)
  • Error 59153 : detener la prueba si CSVDataSet está accediendo a un archivo que no existe. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 59320 : mejor información sobre herramientas en la GUI con GenericTestBeanCustomizer (configuración de conjunto de datos CSV, configuración de conexión JDBC, configuración de almacén de claves, …). Basado en un parche de Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 59171 : el cuadro de diálogo SaveConfig de resultado de muestra se genera en orden aleatorio
  • Error 59425 : error de visualización sobre la página de ayuda faltante dentro del panel de ayuda

Cambios no funcionales

  • Actualizado a httpclient, httpmime 4.5.2 (de 4.2.6)
  • Actualizado a tika-core y tika-parsers 1.12 (desde 1.7)
  • Actualizado a commons-math3 3.6.1 (desde 3.4.1)
  • Actualizado a commons-pool2 2.4.2 (de 2.3)
  • Actualizado a commons-lang 3.4 (desde 3.3.2)
  • Actualizado a rhino-1.7.7.1 (desde 1.7R5)
  • Actualizado a jodd-3.6.7.jar (desde 3.6.4)
  • Actualizado a jsoup-1.8.3 (desde 1.8.1)
  • Actualizado a rsyntaxtextarea-2.5.8 (desde 2.5.6)
  • Actualizado a slf4j-1.7.12 (desde 1.7.10)
  • Actualizado a xmlgraphics-commons-2.0.1 (desde 1.5)
  • Actualizado a commons-collections-3.2.2 (desde 3.2.1)
  • Actualizado a commons-net 3.4 (desde 3.3)
  • Actualizado a slf4j 1.7.13 (desde 1.7.12)
  • Error 57981 : requiere un mínimo de Java 7. Contribución parcial de Graham Russell (jmeter en ham1.co.uk)
  • Error 58684 : JMeterColor no necesita extender java.awt.Color . Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58687 : ButtonPanel debería morir. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58705 : hacer que org.apache.jmeter.testelement.property.MultiProperty sea iterable. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58729 : carpeta de extras de limpieza para mantenerla
  • Error 57110 : se corrigieron la ortografía y la gramática, el formato, se eliminó el código comentado, etc. Contribuido por Graham Russell (jmeter en ham1.co.uk)
  • Instrucciones correctas sobre cómo ejecutar JMeter en help.txt . Contribuido por Pascal Schumacher (pascalschumacher en gmx.net)
  • Error 58704 - Pruebas sin regresión: la prueba por lotes de la tarea Ant falla si las pruebas y se ejecutan en una configuración regional que no es en_EN y usan un archivo JMX que usa un conjunto de datos CSV
  • Error 58897 : mejora el código de prueba JUnit. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58949 : limpieza del código LDAP. Basado en un parche de Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58897 : mejora el código de prueba JUnit. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58967 : use categorías JUnit para excluir pruebas que necesitan una interfaz gráfica de usuario. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59003 : ClutilTestCase testSingleArg8 y testSingleArg9 son idénticos
  • Error 59064 : elimine OldSaveService que admitía archivos JTL (resultados) de formato Avalon muy antiguos
  • Error 59165 : RSyntaxTextArea no es compatible con pruebas sin cabeza
  • Error 59021 : use Double#compare en lugar de volver a implementarlo en NumberProperty#compareTo
  • Error 59037 : eliminar HtmlParserHTMLParser y dependencias en htmlparser y htmllexer
  • Error 58465 : el campo de respuesta de lectura de JMS tiene un nombre y una documentación incorrectos
  • Error 58601 : cambie la verificación de modificación de saveservice.properties de SVN Revision ID a sha1 sum del propio archivo.
  • Error 58726 : elimine el parámetro jmeterthread.starearlier . Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58784 : haga configurable la invocación JMeterUtils#runSafe sync/async awt y cambie los visualizadores para usar la versión asíncrona.
  • Error 58790 : problema en CheckDirty y su relación con ActionRouter
  • Error 59095 : elimine UserParameterXMLParser que quedó obsoleto hace ocho años. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59262 : agregar una lista de contenedores binarios a la LICENCIA; usa eso para pruebas unitarias
  • Error 59353 : agregue "Elementos obsoletos y eliminados" en la parte "Cambios incompatibles" en changes.xml. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 57806 : ViewResultsTree considera erróneamente que el tipo mime " audio/x-mpegurl " es binario. Contribución de Ubik Load Pack (soporte en ubikloadpack.com).
  • Error 57858 : no llamar a sampleEnd dos veces en HTTPHC4Impl cuando se produce una RuntimeException o una IOException en el método de muestra.
  • Error 57921 : HTTP/1.1 sin el encabezado de respuesta " Conexión " de keep-alive ya no usa el keep-alive infinito.
  • Error 57956 : la referencia hc.parameters en jmeter.properties no funciona cuando JMeter no se inicia en bin .
  • Error 58137 : JMeter no puede descargar las URL incrustadas que contienen caracteres ilegales en la URL (no los escapa).
  • Error 58201 : haga que el uso del puerto en el encabezado del host sea más consistente en las diferentes muestras de http.
  • Error 58453 - Grabadora de secuencias de comandos de prueba HTTP: NullPointerException al deshabilitar la captura de encabezados HTTP
  • Error 57804 : la solicitud HTTP no reutiliza el contexto SSL en caché cuando se usan certificados de cliente en HTTPS (solo se corrigió para la implementación de HttpClient4)
  • Error 58800 : valor predeterminado de proxy.pause : corrección de la documentación
  • Error 58844 : los botones habilitar/deshabilitar no funcionan en el panel de argumentos. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58861 : al hacer clic en arriba, abajo o detalle mientras se está en una celda del panel de argumentos, se pierde el contenido recién agregado. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 57935 : la extensión SSL SNI no es compatible con HttpClient 4.2.6
  • Bug 59044 -Http Sampler: No debería ser posible seleccionar la codificación multiparte si el método no es POST . Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59008 - Http Sampler: recursión infinita SampleResult en el límite de profundidad del marco alcanzado
  • Error 58881 - Solicitud HTTP: HTTPHC4Impl muestra una excepción cuando el servidor usa la compresión " deflate "
  • Error 58583 : el cliente HTTP no puede cerrar la conexión si el servidor se comporta mal al no enviar " conexión: cerrar ", violando HTTP RFC 2616/RFC 7230
  • Error 58950 : NoHttpResponseException cuando la pausa entre muestras excede el estado de actividad enviado por el servidor
  • Error 59085 - Panel de archivos Http: pérdida de datos al cancelar la navegación. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 56141 : la aplicación no se comporta correctamente cuando se usa HTTP Recorder. Con la ayuda de Dan (java.junkee en yahoo.com)
  • Error 59079 : la propiedad " httpsampler.max_redirects " no se aplica cuando se usa " Redirigir automáticamente "
  • Error 58811 : al pegar argumentos entre muestras de http, se pierden las columnas "Codificar" e "Incluir iguales". Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)

Otros muestreadores

  • Error 58013 : habilite todos los protocolos que están habilitados en el SSLContext predeterminado para su uso con SMTP Sampler.
  • Error 58209 : JMeter se bloquea al probar javasampler porque se llama a HashMap.put() desde varios subprocesos sin sincronización.
  • Error 58301 : use métodos escritos como setInt , setDouble , setDate , … para la declaración preparada #27
  • Error 58851 : agregue una dependencia en hamcrest-core para permitir que funcionen las pruebas JUnit con anotaciones
  • Error 58947 : la métrica de conexión es incorrecta cuando se produce ConnectException
  • Error 58980 : el suscriptor de JMS regresará con éxito siempre que se reciba 1 mensaje. Contribución de Harrison Termotto (harrison dot termotto en stonybrook.edu)
  • Error 59075 - JMS Publisher: se genera NumberFormatException si el campo de prioridad o vencimiento está vacío
  • Error 59345 : fuga de conexión SMTPSampler. Basado en un parche de Luca Maragnani (luca dot maragnani en gmail punto com)

Controladores

  • Error 58600 : mostrar los nombres de archivo correctos cuando se buscan con el controlador de inclusión
  • Error 58678 - Controlador de módulo: limitar la selección de elementos de destino. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58714 - Controlador de módulo: no debería ser posible agregar un temporizador como hijo. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59067 : JMeter no puede iterar sobre los controladores que son hijos de un TransactionController que tiene marcado " Generar muestra principal " después de que se produce un error de aserción en un grupo de subprocesos con " Iniciar siguiente bucle de subproceso ". Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59076 : la prueba debería fallar si un controlador de módulo no puede encontrar su subárbol de reemplazo

Oyentes

  • Error 58033 : SampleResultConverter debe tener en cuenta que no puede registrar datos que no sean de TEXTO
  • Error 58845 : la vista HTTP de solicitud no muestra todos los parámetros. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58413 - ViewResultsTree: Request HTTP Renderer no muestra correctamente los parámetros que contienen el signo ampersand (&). Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59172 : SampleResult SaveConfig no permite desactivar algunos campos
  • Error 58329 : gráfico de tiempo de respuesta y gráfico agregado: Guardar el gráfico en el archivo no tiene en cuenta la configuración modificada desde la última vez que se hizo clic en el gráfico. Contribuido por David Coppens (dlcoppens en gmail.com)

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 58079 : no almacene en caché muestras HTTP que tengan un encabezado Vary cuando use un HTTP CacheManager.
  • Error 58912 : interfaz gráfica de usuario de aserción de respuesta: al eliminar más de una fila seleccionada, solo se elimina una fila. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)

Funciones

  • Error 57825 : __La función aleatoria falla si el valor mínimo es igual al valor máximo (regresión relacionada con el error 54453 )

I18N

General

  • Error 54826 : no fallar en cadenas largas en respuestas JSON cuando se muestran como JSON en Ver árbol de resultados.
  • Error 57734 : las dependencias transitorias de Maven son incorrectas para 2.13 (identificadores de grupo fijos para Commons Pool y Math)
  • Error 57731 : TESTSTART.MS siempre tiene el valor de la primera prueba iniciada en modo servidor en pruebas distribuidas SIN GUI
  • Error 58016 : conversión de tipos de error con un proveedor SSL externo. Contribuido por Kirill Yankov (myworkpostbox en gmail.com)
  • Error 58293 : el navegador de archivos SOAP/XML-RPC Sampler genera NullPointerException
  • Error 58685 - JDatefield: hacer que la modificación de la fecha funcione con la flecha arriba/abajo. Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 58693 : corrige "No se puede anidar la carpeta de salida 'jmeter/build/components' dentro de la carpeta de salida 'jmeter/build'" al configurar Eclipse
  • Error 58781 : la opción de la línea de comandos " -? " muestra la opción Desconocida
  • Error 57821 : la opción de línea de comandos " -X --remoteexit " no funciona desde la versión 2.13 (regresión relacionada con el error 57500 )
  • Error 58795 : NPE puede ocurrir en GuiPackage #getTestElementCheckSum con algunos complementos de terceros
  • Error 58913 : al cerrar JMeter, no se debe interpretar cancelar como " destruir mi plan de prueba ". Contribuido por Benoit Wiart (benoit dot wiart en gmail.com)
  • Error 59096 - Función de búsqueda: la búsqueda que no distingue entre mayúsculas y minúsculas no distingue entre mayúsculas y minúsculas
  • Error 59193 : ant run_gui falla con ClassNotFoundException o IllegalAccessError al acceder a clases desde dependencias no cargadas a través de Thread.currentThread().getContextClassLoader()
  • Error 59225 : visualización incorrecta del icono del indicador de ejecución. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Error 56927 : deshabilitar el cambio de idioma durante una prueba
  • Error 59391 : en el modo distribuido, el cliente sale de manera anormal al final de la prueba
  • Error 59397 : build.xml no hace que dist.executables sea ejecutable en sistemas Unix

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Paquete de carga Ubik
  • Benoit Vatan (benoit.vatan en gmail.com)
  • Jérémie Lesage (jeremie.lesage en jeci.fr)
  • Kirill Yankov (myworkpostbox en gmail.com)
  • Amol Moye (amol.moye en thomsonreuters.com)
  • Samoht-fr (https://github.com/Samoht-fr)
  • Graham Russell (jmeter en ham1.co.uk)
  • Maxime Chassagneux (maxime.chassagneux en gmail.com)
  • Benoit Wiart (benoit.wiart en gmail.com)
  • Decathlon SA
  • Ubik-Ingeniería SAS
  • Oleg Kalnichevski (olegk en apache.org)
  • Pascal Schumacher (pascalschumacher en gmx.net)
  • Vincent Herilier (veherilier en gmail.com)
  • Florent Sabbe (f punto sabbe en ubik-ingenierie.com)
  • Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • Harrison Termotto (termotto punto Harrison en stonybrook.edu
  • Denis Kirpichenkov (denis.kirpichenkov en gmail.com)
  • Gary Gregory (gregorio en apache.org)
  • David Coppens (dlcoppens en gmail.com)
  • Luca Maragnani (luca punto maragnani en gmail punto com)
  • Philip Helger (http://www.helger.com) por su CSS Parser y por tener en cuenta nuestros informes de errores tan rápidamente
  • Irek Pastusiak (el probador automático en gmail.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:

  • purnasatyap en gmail punto com para las pruebas e informes sobre la compilación nocturna
  • Sergey Batalin (sergey_batalin at mail dot ru) por las pruebas e informes sobre la compilación nocturna
  • Vincent Daburon (vdaburon en gmail punto com) por las pruebas e informes sobre la compilación nocturna

Disculpas si hemos omitido a alguien más.

Problemas conocidos y soluciones

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:
    [java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: no compatible: número de sangría
    
    Esto no afecta el funcionamiento de JMeter. Este problema está solucionado desde Java 7b05.
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Con Oracle Java 7 y Mac Book Pro Retina Display, la GUI de JMeter puede verse borrosa. Este es un error conocido de Java, consulte el error JDK-8000629 . Una solución alternativa es usar un tiempo de ejecución de la actualización 40 de Java 7 que corrige este problema.
  • Es posible que encuentre el siguiente error:
    java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo
    si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (él mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 7 versión u16 (MD2) y versión u40 (tamaño de certificado inferior a 1024 bits) y Java 8 también.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.
  • Bajo Mac OSX Aggregate Graph mostrará valores incorrectos debido al efecto de espejo en los números. Esto se debe a un error conocido de Java, consulte el error JDK-8065373. La solución es usar JDK7_u79, JDK8_u45 o posterior.
  • Ver el árbol de resultados puede fallar al mostrar algún código HTML en el renderizador HTML, consulte el error 54586 . Esto se debe a un error conocido de Java que no analiza las unidades " px " en los atributos de fila/columna. Consulte el error JDK-8031109. La solución es usar JDK9 b65 o posterior.
  • La selección de JTable con el teclado ( MAYÚS  +  arriba/abajo ) es totalmente inutilizable con JAVA 7 en Mac OSX. Esto se debe a un error conocido de Java JDK-8025126. La solución es usar JDK 8 b132 o posterior.

Versión 2.13

Resumen

Nuevo y digno de mención

Nuevos Elementos

Nuevo Async BackendListener con implementación Graphite

Se ha agregado un nuevo Async BackendListener para permitir el envío de datos de resultados a un agente de escucha de back-end. JMeter se envía con un GraphiteBackendListenerClient que permite enviar resultados a un servidor Graphite utilizando los protocolos Pickle o Plaintext. Puede implementar su propio backend extendiendo AbstractBackendListenerClient . Este backend podría ser una base de datos (JDBC), un Middleware orientado a mensajes (JMS), un servicio web o cualquier cosa que desee.

Este es el tipo de Live Dashboard que puede obtener usando Grafana e InfluxDB
Lea esto para obtener más detalles.

Tablero de Grafana
Tablero de Grafana

Mejoras principales

Nueva métrica de tiempo de conexión

A partir de esta versión, se ha agregado una nueva métrica llamada connectTime. Representa el momento de establecer la conexión. De forma predeterminada, no se guarda en CSV o XML, para guardarlo, agregue a user.properties:
jmeter.save.saveservice.connect_time=true

Gráfico e informe agregados

El gráfico agregado y el informe agregado de oyentes mostraban anteriormente solo el percentil 90 (comportamiento histórico), el percentil 95 y el percentil 99 se agregaron y son personalizables. Para configurar el valor de los percentiles que desea, agregue a user.properties: added_rpt_pct1
=90 added_rpt_pct2
=95 added_rpt_pct3
=99

Grabador de secuencias de comandos de prueba HTTP(S)

Ahora el componente puede detectar esquemas de autenticación y agrega automáticamente un Administrador de autorización HTTP preconfigurado con el mecanismo correcto.

Solicitud HTTP

Los verbos CalDAV (extensiones de calendario para WebDAV) REPORT y MKCALENDAR se han agregado en la muestra de solicitudes HTTP.

Solicitud JDBC

El ResultSet se puede obtener como un objeto, esto permite manejar más fácilmente los resultados después en BeanShell, scripts JSR223, …

Pruebas distribuidas

Para permitir un mejor uso de las pruebas distribuidas en la nube, se agregó un comportamiento de reintento al iniciar la prueba en los servidores. Lea esto para más detalles.

Rendimiento de pruebas distribuidas

Desde JMeter 2.13, los modos de eliminación (siendo StrippingBatch el modo predeterminado) ahora también eliminan las respuestas de los subresultados, lo que mejora el ancho de banda de red consumido.

Actualización de la documentación

Felix Schumacher ha creado un nuevo estilo para el sitio web (responsivo y más actualizado). La documentación se ha actualizado en particular:

Mejoras en la GUI

Controlador de módulo

El controlador de módulo ahora muestra el controlador de destino en una vista de árbol (en lugar de una lista combinada).

Barra de herramientas

La barra de herramientas de JMeter se ha actualizado para algunos íconos (inicio, alternar, etc.). Ahora hay tres tamaños disponibles para los iconos: 22x22, 32x32 y 48x48.
La propiedad para definir su tamaño preferido es:

jmeter.toolbar.icons.size=valor
con el valor 22x22 (tamaño por defecto), 32x32 o 48x48.

La barra de herramientas con iconos de 22x22 píxeles

La barra de herramientas con iconos de 32x32 píxeles

La barra de herramientas con iconos de 48x48 píxeles

Grabador de secuencias de comandos de prueba HTTP(S)

Si su plan de prueba no contiene un controlador de grabación, aparecerá un nuevo mensaje de advertencia si HTTP(S) Test Script Recorder está configurado para enviar las muestras a un controlador de grabación.

Cambios incompatibles

  • Desde 2.13, el gráfico agregado, el informe resumido y el informe agregado ahora exportan porcentajes a %, antes de exportar el valor decimal que difería de lo que se mostraba en la GUI
  • Los complementos de terceros pueden verse afectados por la corrección del error 57586 , asegúrese de que su subclase de HttpTestSampleGui implemente ItemListener si confió en la clase principal para hacerlo.
  • Se eliminó el paquete de informes, ApacheJMeter_report.jar ya no se genera como consecuencia, consulte el error 57269

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 25430 - Grabadora de secuencias de comandos de prueba HTTP(S): haga que se complete el Administrador de autorización HTTP. Basado en parte en un parche de Dzmitry Kashlach (dzmitrykashlach en gmail.com)
  • Error 57381 : HTTP(S) Test Script Recorder debería mostrar un error si el controlador de destino hace referencia a un controlador de grabación y no existe ningún controlador de grabación. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57488 - Rendimiento: mejora el restablecimiento de SSLContext para la autenticación SSL bidireccional
  • Error 57565 - SamplerCreator: Agregar método para permitir implementaciones para agregar elementos secundarios a la muestra creada
  • Error 57606 : HTTPSamplerBase#errorResult cambia la etiqueta de muestra en caso de excepción
  • Error 57613 - Muestreador HTTP: se agregaron verbos CalDAV (REPORT, MKCALENDAR). Contribuido por Richard Brigham (richard.brigham en teamaol.com)
  • Error 48799 : agregue tiempo para establecer la conexión con las métricas de muestra disponibles. Implementado por Andrey Pokhilko (andrey en blazemeter.com) y aportado por BlazeMeter Ltd. y Pieter Ennes (apache.org en spam.ennes.nl)
  • Error 57500 : presenta un comportamiento de reintento para las pruebas distribuidas. Implementado por Andrey Pokhilko y Dzimitry Kashlach y contribuido por BlazeMeter Ltd.

Otros muestreadores

  • Error 57322 : elementos de prueba de JDBC: agregue ResultHandler para tratar con ResultSets (cursores) devueltos por declaraciones invocables. Contribución de Yngvi Þór Sigurjónsson (blitzkopf en gmail.com)

Controladores

  • Error 57561 : interfaz de usuario del controlador del módulo: reemplazar cuadro combinado por árbol. Contribuido por Maciej Franek (maciej.franek en gmail.com)
  • Error 57648 : TestFragment debe deshabilitarse cuando se crea. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)

Oyentes

  • Error 55932 : cree un BackendListener asíncrono para permitir la fácil conexión de un nuevo oyente (Graphite, JDBC, Console, …)
  • Error 57246 - BackendListener: Crear una implementación de Graphite
  • Error 57217 : mejoras en el gráfico agregado y el informe agregado (3 percentiles configurables, los mismos datos en ambos, factoriza el código). Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57537 : BackendListener: permitir que las implementaciones suelten muestras

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

  • Error 54453 : mejoras de rendimiento: reemplazar Random por ThreadLocalRandom en la función __Random

I18N

General

  • Bug 57518 - Iconos para la barra de herramientas con varios tamaños
  • Error 57605 : cuando hay un error al cargar el plan de prueba, SaveService.loadTree devuelve un valor nulo que conduce a NPE en las personas que llaman
  • Error 57269 : soltar el paquete org.apache.jmeter.reports
  • Error 53764 - Sitio web: crear un nuevo estilo para el sitio web

Cambios no funcionales

  • Actualizado a jsoup-1.8.1.jar (desde 1.7.3)
  • Actualizado a tika-core y tika-parsers 1.7 (desde 1.6)
  • Actualizado a commons-codec-1.10.jar (desde 1.9)
  • Actualizado a dnsjava-2.1.7.jar (desde 2.1.6)
  • Actualizado a jodd-3.6.4.jar (desde 3.6.1)
  • Actualizado a junit-4.12.jar (desde 4.11)
  • Actualizado a rhino-1.7R5 (desde 1.7R4)
  • Actualizado a rsyntaxtextarea-2.5.6 (de 2.5.3)
  • Actualizado a slf4j-1.7.10 (desde 1.7.5)
  • Error 57276 : RMIC ya no es necesario desde Java 5
  • Error 57310 : reemplace System.getProperty("file.separator") con File.separator en todas partes (también " path.separator" con File.pathSeparator )
  • Error 57389 : corrige NPE potencial en convertidores
  • Error 57417 : elimine el método no utilizado isTemporary de NullProperty . Este fue un remanente de una refactorización realizada en 2003.
  • Error 57418 : eliminar el constructor no utilizado de Workbench
  • Error 57419 : eliminar la interfaz no utilizada ModelListener.
  • Error 57466 : Incluir controlador: elimine la creación de un conjunto innecesario. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Se agregó la propiedad loggerpanel.usejsyntaxtext para deshabilitar el uso de JSyntaxTextArea para el registrador de consola (en caso de memoria u otros problemas)
  • Error 57586 - HttpTestSampleGui: eliminar la implementación de ItemListener de la interfaz

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 57385 : obtener un nombre de hilo vacío en el resultado xml para solicitudes HTTP con el conjunto "Seguir redireccionamientos". Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57579 : se genera un error NullPointerException en la muestra principal si se usa "RETURN_NO_SAMPLE" (predeterminado) y se marca "Usar Cache-Control / Expires header..." en el Administrador de caché HTTP

Otros muestreadores

Controladores

  • Error 57447 : use solo los servidores DNS enumerados por el usuario, cuando la opción "usar resolución DNS personalizada" está habilitada.

Oyentes

  • Error 57262 - Exportación de informes agregados, gráficos agregados e informes resumidos: los encabezados usan claves en lugar de etiquetas
  • Error 57346 - Summariser: los informes + (diferencia) muestran un tiempo transcurrido y un rendimiento incorrectos
  • Error 57449 : pruebas distribuidas: los modos eliminados no eliminan las respuestas de los subresultados (afecta las pruebas de carga que utilizan la descarga de recursos integrados). Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57562 - Ver árbol de resultados CSS/JQuery Tester: no sucede nada cuando hay un error en la sintaxis y se produce una excepción en jmeter.log
  • Error 57514 : el gráfico agregado, el informe resumido y el informe agregado muestran informes de porcentaje incorrectos en el archivo guardado

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 57607 - Temporizador de rendimiento constante: rendimiento incorrecto calculado en modos compartidos debido a un error de redondeo

General

  • Error 57365 : el LAF seleccionado no está configurado correctamente debido a que la llamada de UIManager.setLookAndFeel se realizó demasiado tarde. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57364 - Opciones < Look And Feel no actualiza todas las ventanas LAF. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57394 : al construir una instancia con ClassTools#construct(String, int), se ignoró el número entero y se usó el constructor predeterminado en su lugar.
  • Error 57440 : OutOfMemoryError después de la introducción de JSyntaxTextArea en LoggerPanel debido a que disabledUndo no se tiene en cuenta.
  • Error 57569 : FileServer.reserveFile: comportamiento incoherente cuando hasHeader es verdadero
  • Error 57555 : no se puede usar JMeter 2.12 como una dependencia experta. Contribuido por Pascal Schumacher (pascal.schumacher en t-systems.com)
  • Error 57608 : corrige la compatibilidad del script de inicio con shells antiguos de Unix, por ejemplo, en Solaris

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Paquete de carga Ubik
  • Yngvi Þór Sigurjónsson (blitzkopf en gmail.com)
  • Dzmitry Kashlach (dzmitrykashlach en gmail.com)
  • BlazeMeter Ltd.
  • Benoit Wiart (benoit.wiart en gmail.com)
  • Pascal Schumacher (pascal.schumacher en t-systems.com)
  • Maciej Franek (maciej.franek en gmail.com)
  • Richard Brigham (richard.brigham en teamaol.com)
  • Pieter Ennes (apache.org en spam.ennes.nl)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:
  • Chaitanya Bhatt (bhatt.chaitanya en gmail.com) por sus exhaustivas pruebas de la nueva implementación de BackendListener y Graphite Client.
  • Marcelo Jara (marcelojara en hotmail.com) por su claro informe sobre el error 57607 .
Disculpas si hemos omitido a alguien más.

Errores conocidos

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:
    [java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: no compatible: número de sangría
    
    Esto no afecta el funcionamiento de JMeter. Este problema está solucionado desde Java 7b05.
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Con Java 1.6 y Gnome 3 en sistemas Linux, es posible que el menú de JMeter no funcione correctamente (cambie entre el clic del mouse y el menú). Este es un error conocido de Java (consulte el error 54477 ). Una solución consiste en utilizar un tiempo de ejecución de Java 7 (OpenJDK u Oracle JDK).
  • Con Oracle Java 7 y Mac Book Pro Retina Display, la GUI de JMeter puede verse borrosa. Este es un error conocido de Java, consulte el error JDK-8000629 . Una solución alternativa es usar un tiempo de ejecución de la actualización 40 de Java 7 que corrige este problema.
  • Puede encontrar el siguiente error: java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (en sí mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 7 versión u16 (MD2) y versión u40 (tamaño de certificado inferior a 1024 bits) y Java 8 también.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.

Versión 2.12

Resumen

Nuevo y digno de mención

Compatibilidad con Java 8

Ahora, JMeter 2.12 es compatible con Java 8.

Nuevos Elementos

Controlador de secciones críticas

El Controlador de Sección Crítica permite serializar la ejecución de una sección en su árbol. Solo se ejecutará una instancia de la sección al mismo tiempo durante la prueba.

Administrador de caché de DNS

El nuevo elemento de configuración DNS Cache Manager (consulte el error 56841 ) mejora la prueba de:

  • CDN (Red de entrega de contenido)
  • Equilibrio de carga de DNS.
  • Equilibradores de carga como Amazon Elastic Load Balancer

Mejoras principales

Grabación más inteligente de planes de prueba Http

Test Script Recorder se ha mejorado de muchas maneras

  • Mejor coincidencia de variables en solicitudes, lo que hace que Test Script Recorder varíe su muestra durante la grabación más versátil
  • Capacidad para filtrar desde Ver árbol de resultados las muestras que están excluidas de la grabación, esto le permite concentrarse en el análisis de muestras registradas y no molestarse con resultados de muestras inútiles
  • Mejores valores predeterminados para la grabación, ya que esta versión del Grabador enumerará los Samplers creados, lo que le permitirá encontrarlos mucho más fácilmente en Ver el árbol de resultados. La agrupación de Samplers bajo Transaction Controller será más inteligente haciendo que todas las solicitudes emitidas por una página web sean secundarias como nuevo Transaction Controller

Soporte de solicitudes Webdav

Ahora puede probar contra el servidor WebDav usando HttpClient4 Implementación de solicitud Http

Mejor manejo de los recursos integrados

Cuando se marca la descarga de recursos incrustados, JMeter ahora usa el encabezado del Agente de usuario para descargar o no los recursos incrustados en los comentarios condicionales según Acerca de los comentarios condicionales .

Capacidad para personalizar el manejo de los recursos almacenados en caché mediante Cache Manager (simulación de caché del navegador)

Ahora puede configurar el comportamiento de JMeter cuando se encuentra un recurso en Cache, esto se puede controlar con la propiedad cache_manager.cached_resource_mode

JMS Publisher / JMS punto a punto

Agregue los campos JMSPriority y JMSExpiration para estas muestras.

Muestra de lector de correo

Ahora puede especificar la cantidad de mensajes que desea recuperar (antes de que se recuperaran todos los mensajes). Además, ahora solo puede obtener el encabezado del mensaje.

Muestreador SMTP

Agregar el tiempo de espera de conexión y el tiempo de espera de lectura a SMTP Sampler.

Temporizador de sincronización

Adición de un tiempo de espera para definir el tiempo máximo de espera del grupo de usuarios virtuales.

Mejoras de rendimiento

Se ha realizado una gran mejora en el rendimiento de las funciones al eliminar la sincronización inútil. Se refiere a todas las funciones excepto __StringFromFile, __XPath y __BeanShell, consulte el error 57114

Se han mejorado las actuaciones de __jexl2 para evitar el punto de conflicto, consulte el error 56708

Mejoras en la GUI

Compatibilidad con Deshacer/Rehacer

Se ha introducido Deshacer/Rehacer y permite al usuario deshacer/rehacer los cambios realizados en el árbol del plan de prueba. Esta función (MODO ALPHA) está deshabilitada de forma predeterminada, para habilitarla establezca la propiedad undo.history.size=25

Ver árbol de resultados

Mejore la ergonomía de Ver árbol de resultados cambiando la ubicación de los renderizadores y permitiendo un orden personalizado (con la propiedad view.results.tree.renderers_order ).

Gráfico de tiempo de respuesta

Agregar la capacidad para que el oyente del gráfico de tiempo de respuesta guarde/restaure el formato de su configuración en/desde el archivo jmx.

Visor de registro

A partir de esta versión, las últimas líneas del archivo de registro de JMeter (jmeter.log) se pueden ver directamente en la GUI haciendo clic en el icono de Advertencia en la esquina superior derecha. Esto desplegará el panel Visor de registros y mostrará los registros.

Apertura de archivos

Ahora, el "diálogo Abrir archivo" usa la última carpeta de archivos abierta como carpeta de inicio, consulte el error 52707

Errores conocidos

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:
    [java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: no compatible: número de sangría
    
    Esto no afecta el funcionamiento de JMeter. Este problema está solucionado desde Java 7b05.
  • Tenga en cuenta que en algunos sistemas de Windows puede tener esta ADVERTENCIA:
    java.util.prefs.WindowsPreferences
    ADVERTENCIA: No se pudo abrir/crear el nodo raíz de preferencias Software\JavaSoft\Prefs en la raíz 0
    x80000002. Windows RegCreateKeyEx(...) devolvió el código de error 5.
    
    La solución es ejecutar JMeter como administrador, creará la clave de registro para usted, luego puede reiniciar JMeter como un usuario normal y ya no tendrá la advertencia.
  • Con Java 1.6 y Gnome 3 en sistemas Linux, es posible que el menú de JMeter no funcione correctamente (cambie entre el clic del mouse y el menú). Este es un error conocido de Java (consulte el error 54477 ). Una solución consiste en utilizar un tiempo de ejecución de Java 7 (OpenJDK u Oracle JDK).
  • Con Oracle Java 7 y Mac Book Pro Retina Display, la GUI de JMeter puede verse borrosa. Este es un error conocido de Java, consulte el error JDK-8000629 . Una solución alternativa es usar un tiempo de ejecución de la actualización 40 de Java 7 que corrige este problema.
  • Puede encontrar el siguiente error: java.security.cert.CertificateException: los certificados no se ajustan a las restricciones del algoritmo si ejecuta una solicitud HTTPS en un sitio web con un certificado SSL (en sí mismo o uno de los certificados SSL en su cadena de confianza) con un algoritmo de firma usando MD2 (como md2WithRSAEncryption) o con un certificado SSL con un tamaño inferior a 1024 bits. Este error está relacionado con una mayor seguridad en Java 7 versión u16 (MD2) y versión u40 (tamaño de certificado inferior a 1024 bits) y Java 8 también.
    Para permitirle realizar su solicitud HTTPS, puede degradar la seguridad de su instalación de Java editando la propiedad Java jdk.certpath.disabledAlgorithms . Elimina el valor MD2 o la restricción de tamaño, según tu caso.
    Esta propiedad está en este archivo:
    JAVA_HOME/jre/lib/security/java.security
    Consulte el error 56357 para obtener más detalles.

Cambios incompatibles

  • Desde JMeter 2.12, los subprocesos activos en todos los grupos de subprocesos y los subprocesos activos en el grupo de subprocesos actual se guardan de forma predeterminada en resultados CSV o XML; consulte el error 57025 . Este suele ser el comportamiento esperado, ya que desea tener la cantidad de subprocesos en ejecución durante la prueba. Pero si desea volver al comportamiento anterior, establezca la propiedad jmeter.save.saveservice.thread_counts=false
  • Desde JMeter 2.12, Mail Reader Sampler mostrará 1 para la cantidad de muestras en lugar de la cantidad de mensajes recuperados, consulte el error 56539
  • Desde JMeter 2.12, cuando se usa Cache Manager, si se encuentra un recurso en la memoria caché, no se creará SampleResult; en la versión anterior, se devolvía un SampleResult con contenido vacío y un código de retorno 204; consulte el error 54778 . Puede elegir entre diferentes formas de manejar este caso, consulte cache_manager.cached_resource_mode en jmeter.properties .
  • Desde JMeter 2.12, Log Viewer ya no borrará los registros cuando esté cerrado y tendrá registros disponibles incluso si está cerrado. Consulte el error 56920 . Lea Sugerencias y sugerencias > Habilitación del registro de depuración para obtener detalles sobre la configuración de este componente.

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 55998 : grabación HTTP: no funciona la sustitución del valor del puerto por una variable definida por el usuario
  • Error 56178 : error de keytool: carácter de escape no válido en AVA: algunos caracteres deben escaparse
  • Error 56222 : NPE si jmeter.httpclient.strict_rfc2616=true y la ubicación no es absoluta
  • Error 56263 : DefaultSamplerCreator debe establecer BrowserCompatible Multipart como verdadero
  • Error 56231 : mover el procesamiento de ubicación de redirección de los muestreadores HC3/HC4 a HTTPSamplerBase#followRedirects()
  • Error 56207 : las URL se codifican en los redireccionamientos en las muestras HC3.1 y HC4
  • Error 56303 : el ancho de la lista combinada del controlador de destino debe establecerse en el tamaño del panel actual, no en el tamaño de la etiqueta de los controladores
  • Error 54778 : HTTP Sampler no debe devolver 204 cuando se encuentra un recurso en Cache, hágalo configurable con la nueva propiedad cache_manager.cached_resource_mode

Otros muestreadores

  • Error 55977 - Inundación de keepalive de la agrupación JDBC
  • Error 55999 : la barra de desplazamiento en el muestreador punto a punto jms no funciona cuando el contenido excede la pantalla
  • Error 56198 - JMSSampler: se genera NullPointerException cuando la implementación subyacente de JNDI del proveedor JMS no cumple con el contrato Context.getEnvironment
  • Error 56428 : MailReaderSampler: ¿debería usar las propiedades mail.pop3s.*?
  • Error 46932 : el alias proporcionado en la declaración de selección no se usa como encabezado de columna en los datos de respuesta para una solicitud de JDBC. Basado en informe y análisis de Nicola Ambrosetti
  • Error 56539 : muestra del lector de correo: cuando la cantidad de mensajes para recuperar es superior a 1, la cantidad de muestras solo debe mostrar 1, no la cantidad de mensajes recuperados
  • Error 56809 : JMSSampler cierra InitialContext demasiado pronto. Contribuido por Bradford Hovinen (hovinen en gmail.com)
  • Error 56761 : JMeter intenta detener la conexión JMS ya detenida y muestra "La conexión está cerrada"
  • Error 57068 : no se genera ningún error cuando se ingresa una duración negativa en la acción de prueba
  • Error 57078 : LagartoBasedHTMLParser no puede analizar la página que contiene una entrada sin tipo
  • Error 57183 - JMSSampler: para cadena de entrada: "" java.lang.NumberFormatException (para campos de caducidad o prioridad)

Controladores

  • Error 56243 : Foreach funciona incorrectamente con índices en iteraciones posteriores
  • Error 56276 : el controlador de bucle se rompe una vez que el recuento de bucles se evalúa como cero
  • Error 56160 : StackOverflowError al usar WhileController dentro de IfController
  • Error 56811 : "Iniciar el siguiente bucle de subproceso" en el controlador de acción de estado de resultado o en el grupo de subprocesos e "Ir a la siguiente iteración de bucle" en la acción de prueba se comportan incorrectamente con TransactionController que tiene marcado "Generar muestra principal"

Oyentes

  • Error 56706 : SampleResult#getResponseDataAsString() no utiliza la codificación en el cuerpo de la respuesta, lo que afecta a los PostProcessors y ViewResultsTree. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57052 - ArithmeticException: / por cero cuando sampleCount es igual a 0

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 56162 : el administrador de caché HTTP no debe almacenar en caché PUT/POST, etc.
  • Error 56227 - AssertionGUI: NPE en aserción en la selección del mouse
  • Error 41319 - URLRewriteModifier: Permitir que el valor del parámetro se codifique como URL

Funciones

I18N

  • Error 56111 : la traducción de "comentarios" en alemán no es correcta

General

  • Error 56059 : los TestBeans más antiguos son incompatibles con 2.11 cuando se usa TextAreaEditor
  • Error 56080 : error de conversión com.thoughtworks.xstream.converters.ConversionException con Java 8 Early Access Build
  • Error 56182 : no se puede activar el script bsh con bshclient.jar; el zócalo se cierra inesperadamente
  • Error 56360 : HashTree y ListedHashTree no se pueden compilar con Java 8
  • Error 56419 : JMeter falla silenciosamente al guardar los resultados
  • Error 56662 - Guardar como xml en un oyente no se recuerda
  • Error 56367 : JMeter 2.11 en maven central activa una dependencia no existente rsyntaxtextarea 2.5.1, actualice a 2.5.3
  • Error 56743 : archivos de lista de correo incorrectos en mail2.xml. Contribución de Felix Schumacher (felix.schumacher en internetallee.de)
  • Error 56763 : eliminación de los íconos de Oracle, no utilizados por JMeter (y falta la licencia)
  • Error 54100 : el cambio de idioma no conserva los estados de los botones de la barra de herramientas (habilitado/deshabilitado)
  • Error 54648 : la GUI de JMeter en OS X falla cuando se usa CMD+C (atajo de teclado o entrada de menú de la IU) en un elemento del árbol
  • Error 56962 : las GUI de JMS deben deshabilitar todos los campos afectados por la casilla de verificación jndi.properties
  • Error 57061 : Guardar como fragmento de prueba no puede clonar el nodo profundamente seleccionado. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57075 : el atributo BeanInfoSupport.MULTILINE no se procesa
  • Error 57076 : BooleanPropertyEditor#getAsText() debe devolver un valor que está en getTags()
  • Error 57088 : NPE en ResultCollector.testEnded

Mejoras

Muestras de HTTP y grabadora de scripts de prueba

  • Error 55959 : mejora el mensaje de error cuando la grabadora de scripts de prueba falla debido a un problema de E/S
  • Error 52013 : el árbol de resultados de la vista secundaria de Test Script Recorder no tiene en cuenta las direcciones URL excluidas/incluidas de Test Script Recorder. Basado en el informe y análisis de James Liang
  • Error 56119 : las cargas de archivos fallan todos los demás intentos con temporizadores. Habilite tiempos de espera inactivos para servidores que no envían encabezados Keep-Alive.
  • Error 56272 : MirrorServer debería admitir parámetros de consulta para estado y redirecciones
  • Error 56772 : manejar comentarios condicionales de IE al analizar recursos incrustados
  • Bug 57026 - HTTP(S) Test Script Recorder: Mejor configuración predeterminada. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57107 - Propuesta de parche: Agregar verbos DAV a HTTP Sampler. Contribución de Philippe Jung (apache en famille-jung.fr)
  • Error 56357 : los certificados no se ajustan a las restricciones del algoritmo: se agrega una nota para indicar cómo eliminar de la instalación de Java estas nuevas restricciones de seguridad

Otros muestreadores

  • Error 56033 : agregar tiempo de espera de conexión y tiempo de espera de lectura a SMTP Sampler
  • Error 56429 : MailReaderSampler: no es necesario buscar todos los mensajes si no se desean todos
  • Error 56427 : mejora de MailReaderSampler: leer solo el encabezado del mensaje
  • Error 56510 - JMS Publisher/Point to Point: agregar JMSPriority y JMSExpiration

Controladores

  • Error 56728 : nuevo controlador de sección crítica para serializar bloques de una prueba. Basado en parte en un parche aportado por Mikhail Epikhin (epihin-m en yandex.ru)
  • Error 57145 - RandomController: use ThreadLocalRandom en lugar de Random para obtener un mejor rendimiento

Oyentes

  • Error 56228 - Ver árbol de resultados: mejorar la ergonomía cambiando la ubicación de los renderizadores y permitiendo un orden personalizado
  • Error 56349 : "resumen" es un nombre incorrecto para un componente Generar resultados resumidos, se aclaró la documentación
  • Error 56769 : agrega la capacidad para que el oyente del gráfico de tiempo de respuesta guarde/restaure la configuración de formato en/desde el archivo jmx
  • Error 57025 - SaveService: mejores valores predeterminados, guardar recuentos de subprocesos de forma predeterminada

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 56691 - Temporizador de sincronización: Agregar tiempo de espera en espera
  • Error 56701 : administrador de autorización HTTP/autenticación Kerberos: agregar puerto a SPN cuando el puerto del servidor no es 80 ni 443. Basado en parches de Dan Haughey (dan.haughey en swinton.co.uk) y Felix Schumacher (felix.schumacher en internetallee. Delaware)
  • Bug 56841 - Nuevo elemento de configuración: DNS Cache Manager para mejorar las pruebas de CDN. Basado en el parche de Dzmitry Kashlach (dzmitrykashlach en gmail.com) y aportado por BlazeMeter Ltd.
  • Error 52061 : permitir el acceso a los encabezados de solicitud en Regex Extractor. Basado en el parche de Dzmitry Kashlach (dzmitrykashlach en gmail.com) y aportado por BlazeMeter Ltd.

Funciones

  • Error 56708 : __jexl2 no escala con múltiples núcleos de CPU. Basado en análisis y parche aportados por Mikhail Epikhin (epihin-m en yandex.ru)
  • Error 57114 - Rendimiento: las funciones que solo tienen valores como variable de instancia no deben sincronizarse y ejecutarse. Basado en el análisis realizado por el soporte de Ubik Load Pack y Vladimir Sitnikov, parche aportado por Vladimir Sitnikov (sitnikov.vladimir en gmail.com)

I18N

General

  • Error 21695 : el script de inicio de Unix jmeter asume que está en la RUTA, no en un enlace
  • Error 56292 : agregue la verificación de la versión de Java en los archivos de inicio y deshabilite algunas opciones cuando el motor Java es v8
  • Error 56298 : la pantalla de idioma JSR223 no muestra qué motor se utilizará
  • Error 56455 - Archivos por lotes: eliminar la compatibilidad con scripts de shell de Windows que no sean de NT
  • Error 52707 : el cuadro de diálogo Abrir archivo utiliza la última carpeta de archivos abierta como carpeta de inicio. Basado en el parche de Dzmitry Kashlach (dzmitrykashlach en gmail.com) y aportado por BlazeMeter Ltd.
  • Error 56807 : capacidad para forzar el vaciado del archivo ResultCollector. Contribuido por Andrey Pohilko (apc4 en ya.ru)
  • Error 56921 - Plantillas: mejora la plantilla de grabación para ignorar los parámetros de URL y mayúsculas y minúsculas de los recursos incrustados. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 42248 : soporte para deshacer y rehacer en la modificación del árbol del plan de prueba. Desarrollado por Andrey Pohilko (apc4 en ya.ru) y contribuido por BlazeMeter Ltd. Contribución adicional de Ubik Load Pack (soporte en ubikloadpack.com)
  • Bug 56920 - LogViewer: Hacer que reciba todos los eventos de registro incluso cuando está cerrado. Contribución de Ubik Load Pack (soporte en ubikloadpack.com)
  • Error 57083 : simplificó la enumeración CachedResourceMode. Contribuido por Graham Russel (graham en ham1.co.uk)
  • Error 57082 - ComboStringEditor: Se agregó hashCode a una clase interna que sobrescribió equals. Contribuido por Graham Russel (graham en ham1.co.uk)
  • Error 57081 : actualización de checkstyle para verificar solo pestañas en archivos java, xml, xsd, dtd, htm, html y txt (¡no imágenes!). Contribuido por Graham Russell (graham en ham1.co.uk)
  • Error 56178 : realmente reemplace las barras invertidas en el nombre de usuario antes de generar el certificado de proxy. Contribuido por Graham Russel (graham en ham1.co.uk)
  • Error 57084 : cerrar el socket después de usarlo en BeanShellClient. Contribuido por Graham Russel (graham en ham1.co.uk)

Cambios no funcionales

  • Error 57117 : aumentar el cifrado predeterminado para HTTPS Test Script Recorder de SSLv3 a TLS
  • Actualizado a commons-lang3 3.3.2 (desde 3.1)
  • Actualizado a commons-codec 1.9 (desde 1.8)
  • Actualizado a commons-logging 1.2 (desde 1.1.3)
  • Actualizado a tika 1.6 (desde 1.4)
  • Actualizado a xercesImpl 2.11.0 (desde 2.9.1)
  • Actualizado a xml-apis 1.4.01 (desde 1.3.04)
  • Actualizado a xstream 1.4.8 (desde 1.4.4)
  • Actualizado a jodd 3.6.1 (desde 3.4.10)
  • Actualizado a rsyntaxtextarea 2.5.3 (de 2.5.1)
  • Xalan y serializador actualizados a 2.7.2 (de 2.7.1)
  • Actualizado a jsoup-1.8.1.jar (desde 1.7.3)

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • James Liang (jliang en andera.com)
  • Emmanuel Bourg (ebourg en apache.org)
  • Nicola Ambrosetti (ambrosetti.nicola en gmail.com)
  • Paquete de carga Ubik
  • Mikhail Epikhin (epihin-m en yandex.ru)
  • Dan Haughey (dan.haughey en swinton.co.uk)
  • Félix Schumacher (felix.schumacher en internetallee.de)
  • Dzmitry Kashlach (dzmitrykashlach en gmail.com)
  • Andrey Pohilko (apc4 en ya.ru)
  • Bradford Hovinen (hovinen en gmail.com)
  • BlazeMeter Ltd.
  • Graham Russell (graham en ham1.co.uk)
  • Philippe Jung (apache en famille-jung.fr)
  • Vladimir Sitnikov (sitnikov.vladimir en gmail.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:
  • Oliver LLoyd (correo electrónico a oliverlloyd.com) por su ayuda con el error 56119
  • Vladimir Ryabtsev (greatvovan en gmail.com) por su ayuda con los errores 56243 y 56276
  • Adrian Speteanu (asp.adieu en gmail.com) y Matt Kilbride (matt.kilbride en gmail.com) por sus comentarios y pruebas sobre el error 54648
  • Shmuel Krakower (shmulikk en gmail.com) por sus pruebas e informes sobre la función Deshacer/Rehacer
Disculpas si hemos omitido a alguien más.

Versión 2.11

Resumen

Nuevo y digno de mención

Mejoras en la grabadora de secuencias de comandos de prueba HTTP(S)

Se han realizado las siguientes mejoras desde que se introdujeron cambios importantes en JMeter 2.10 en HTTP(S) Test Script Recorder:

  • Mejor detección de configuración faltante o no válida de la utilidad keytool
  • La nueva propiedad del sistema keytool.directory (consulte system.properties ) le permite configurar el directorio que contiene keytool en caso de una instalación no estándar

JMS Publisher/Point to Point: agregue la capacidad de establecer valores escritos en las propiedades del encabezado JMS

En los samplers JMS Publisher y JMS Point-to-Point, ahora puede configurar la clase de valores para las propiedades del encabezado JMS. Anteriormente solo era posible String.

Ver árbol de resultados: agregar un probador de XPath

En el detector Ver árbol de resultados, se puede usar un nuevo probador XPath para probar expresiones XPATH.

Capacidad para elegir el alias del cliente para la clave de certificado en JsseSslManager de modo que la prueba de autenticación Mutual SSL se pueda hacer más flexible

Al probar las autenticaciones de certificado basadas en el cliente, ahora tiene un mejor control sobre el certificado que utiliza a través de un nuevo campo "Alias ​​de certificado de retención de nombre de variable", este campo le permite seleccionar el certificado que desea enviar al servidor para autenticar. Puede utilizar un conjunto de datos CSV como soporte para el valor de la variable.

Agregar una opción "Guardar como fragmento de prueba"

En el menú de archivo, una nueva opción permite guardar un grupo de elementos como un fragmento de prueba.

Summariser está habilitado de forma predeterminada en modo no GUI

Cuando ejecuta JMeter desde la línea de comandos, ahora JMeter muestra algunas estadísticas del modo Summariser.

Controlador de transacciones: cambie la propiedad predeterminada "Incluir duración del temporizador..." para el elemento recién creado

A partir de la versión 2.11, Transaction Controller está configurado de forma predeterminada para excluir el tiempo de procesamiento de los preprocesadores y los posprocesadores siempre que los temporizadores se detengan.

Errores conocidos

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los oyentes no muestran los recuentos de iteraciones cuando un controlador If tiene una condición que siempre es falsa desde la primera iteración (consulte el error 52496 ). Una solución consiste en agregar un muestreador al mismo nivel que (o superior) al controlador If. Por ejemplo, una muestra de acción de prueba con 0 tiempo de espera (que no genera una muestra), o una muestra de depuración con todos los campos configurados en falso (para reducir el tamaño de la muestra).
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos/número total de subprocesos, el número total de subprocesos solo se aplica a una prueba ejecutada localmente; de ​​lo contrario, mostrará 0 (consulte el error 55510 ).
  • Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:
    [java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: no compatible: número de sangría
    
    Esto no afecta el funcionamiento de JMeter. Este problema está solucionado desde Java 7b05.
  • Con Java 1.6 y Gnome 3 en sistemas Linux, es posible que el menú de JMeter no funcione correctamente (cambie entre el clic del mouse y el menú). Este es un error conocido de Java (consulte el error 54477 ). Una solución consiste en utilizar un tiempo de ejecución de Java 7 (OpenJDK u Oracle JDK).
  • Con Oracle Java 7 y Mac Book Pro Retina Display, la GUI de JMeter puede verse borrosa. Este es un error conocido de Java, consulte el error JDK-8000629 . Una solución alternativa es usar un tiempo de ejecución de la actualización 40 de Java 7 que corrige este problema.

Cambios incompatibles

  • Al crear un nuevo Transaction Controller, la propiedad "Incluir duración del temporizador y pre-postprocesadores en la muestra generada" se desactivará a partir de la versión 2.11
  • En el modo No GUI, dado que 2.11 resumer está habilitado con una frecuencia de 30 segundos
  • JMeter es más indulgente con el manejo de redirección y se relaja en RFC2616 al permitir ubicaciones relativas. Consulte la propiedad " jmeter.httpclient.strict_rfc2616 " en jmeter.properties para cambiar este comportamiento; consulte el error 55717
  • Al crear una nueva aserción de respuesta, la propiedad "Reglas de coincidencia de patrones" ahora tiene como valor predeterminado Subcadena a partir de la versión 2.11

Corrección de errores

Muestras de HTTP y grabadora de scripts de prueba

  • Error 55815 : Proxy#getDomainMatch no maneja correctamente los comodines
  • Error 55717 : mal manejo de la redirección cuando las URL están en formato relativo por parte de HttpClient4 y HttpClient3.1

Otros muestreadores

  • Error 55685 - OS Sampler: la opción de tiempo de espera no guarda y restaura correctamente el valor y no inicia correctamente el tiempo de espera

Controladores

  • Error 55816 : Transaction Controller con "Incluir duración del temporizador..." sin marcar no ignora el tiempo de procesamiento de la última muestra secundaria

Oyentes

  • Error 55826 : accesos simultáneos no sincronizados a la lista en el campo RespTimeGraphVisualizer.internalList

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 55694 : aserciones y extractores: evite NullPointerException cuando el alcance es variable y falta la variable
  • Error 55721 - Administrador de caché HTTP: la directiva de no almacenar se interpreta incorrectamente

Funciones

  • Error 55871 : resultado incorrecto con la función intSum() cuando hay un carácter de espacio antes o después del número. Contribuido por Milamber basado en una propuesta de James Liang.

I18N

General

  • Error 55739 - Prueba remota: el total de subprocesos en modo GUI muestra un número total de subprocesos no válido

Mejoras

Muestreadores HTTP y proxy

Otros muestreadores

  • Error 55589 - JMS Publisher/Point to Point: agregue la capacidad de establecer valores escritos en las propiedades del encabezado JMS.

Controladores

  • Error 55854 - Controlador de transacciones: cambiar la propiedad predeterminada "Incluir duración del temporizador..." para el elemento recién creado

Oyentes

  • Error 55610 - Ver árbol de resultados: agregar un probador XPath

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 55908 - Aserción de respuesta: cambiar las reglas de coincidencia de patrones predeterminadas a subcadena en la creación para un mejor rendimiento
  • Error 54977 : capacidad para elegir el alias de cliente para la clave de certificado en JsseSslManager, de modo que la prueba de autenticación Mutual SSL se pueda hacer más flexible. Contribución de UBIK Load Pack (soporte en ubikloadpack.com)

Funciones

I18N

General

  • Error 55693 : agregar una opción "Guardar como fragmento de prueba"
  • Error 55753 : mejore el comportamiento de FilePanel para comenzar desde el valor establecido en el campo Nombre de archivo, si corresponde. Contribución de UBIK Load Pack (soporte en ubikloadpack.com)
  • Error 55756 - Servidor espejo HTTP: Agregar capacidad para establecer encabezados
  • Error 55852 : sea más indulgente al analizar cuando el valor del juego de caracteres está entre comillas simples
  • Error 55857 - Rendimiento: AbstractProperty debe probar el vacío para evitar el lanzamiento de excepciones
  • Error 55858 - Rendimiento de inicio: en el inicio, BeanInfoSupport debe probar la disponibilidad de claves en lugar de lanzar
  • Error 55865 - Rendimiento: deshabilite la comprobación obsoleta de forma predeterminada en HttpClient 4 y 3.1
  • Error 55512 : Summariser debe estar habilitado de forma predeterminada en el modo sin GUI

Cambios no funcionales

  • Actualizado a rsyntaxtextarea-2.5.1.jar (desde 2.5.0)
  • Actualizado a jodd-core-3.4.9.jar desde (3.4.8) y jodd-lagarto-3.4.9.jar (desde 3.4.9)
  • Actualizado a jsoup-1.7.3.jar (desde 1.7.2)
  • Actualizado a mail-1.5.0-b01 (desde 1.4.4)
  • Actualizado a mongo-java-driver-2.11.3 (desde 2.11.2)

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • James Liang (jliang en andera.com)
  • UBIK Load Pack (soporte en ubikloadpack.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:
  • John Natsioulas (john_natsioulas en yahoo.com.au)
  • Antonio Gomes Rodrigues (ra0077 en gmail.com)
Disculpas si hemos omitido a alguien más.

Versión 2.10

Resumen

Nuevo y digno de mención

Mejoras principales

Nuevas mejoras de rendimiento

  • Se ha realizado una gran mejora de rendimiento en las pruebas de alto rendimiento (sin pausa), consulte el error 54777
  • Se solucionó un problema con el restablecimiento innecesario del contexto SSL que mejora el rendimiento de las pruebas HTTP puras; consulte el error 55023
  • Importante mejora del rendimiento en el análisis de recursos incrustados en páginas HTML gracias a un cambio a JODD/Lagarto HTML Parser, consulte el error 55632

Nuevo probador de CSS/JQuery en los resultados del árbol de visualización

Un nuevo CSS/JQuery Tester en View Tree Results que convierte a CSS/JQuery Extractor en un ciudadano de primera clase en JMeter, ahora puede probar sus expresiones muy fácilmente

Se han realizado muchas mejoras en la grabación HTTP(S)

El elemento de prueba "HTTP Proxy Server" se ha renombrado como "HTTP(S) Test Script Recorder".

Ahora puede cargar MongoDB de prueba a través de la nueva configuración de origen de MongoDB

La autenticación Kerberos se ha agregado a Auth Manager

El dispositivo ahora se puede usar además de la dirección IP de origen

Ahora puede realizar pruebas funcionales de los scripts de MongoDB a través del nuevo script de MongoDB

Se ha agregado el tiempo de espera a OS Process Sampler

Se ha agregado el tiempo de espera de la consulta a la solicitud de JDBC.

Las nuevas funciones (__urlencode y __urldecode) ahora están disponibles para codificar/decodificar caracteres codificados en URL

La integración continua ahora se facilita mediante la adición de un nuevo indicador que obliga a la JVM NO GUI a salir después del final de la prueba

Ver propiedad jmeter:

jmeterengine.force.system.exit

HttpSampler ahora permite que DELETE Http Method tenga un cuerpo (funciona para las implementaciones HC4 y HC31). Esto permite, por ejemplo, probar las API de Elastic Search

Se agregaron 2 implementaciones de HtmlParser para mejorar el análisis de recursos integrados

Puede elegir la implementación que se usará para analizar los recursos integrados en las páginas HTML: consulte jmeter.properties y mire la propiedad "htmlParser.className".

  • org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser para un rendimiento óptimo
  • org.apache.jmeter.protocol.http.parser.JSoupBasedHtmlParser para un análisis y pruebas funcionales más precisos

Se han mejorado las pruebas distribuidas.

  • El número de subprocesos en cada nodo ahora se informa al controlador.

  • Mejora del rendimiento en BatchSampleSender ( error 55423 )
  • Adición de 2 modos SampleSender (StrippedAsynch y StrippedDiskStore), consulte jmeter.properties

ModuleController se ha mejorado para manejar mejor los cambios en los controladores a los que se hace referencia

Configuración mejorada del cargador de clases, consulte el error 55503

  • Nueva propiedad "plugin_dependency_paths" para dependencias de complementos
  • Las propiedades "search_paths", "user.classpath" y "plugin_dependency_paths" ahora agregan automáticamente todos los archivos jar de los directorios configurados

Se ha mejorado la sección de mejores prácticas, asegúrese de leerla para aprovechar al máximo JMeter

Ver Mejores Prácticas

Mejoras en GUI y ergonomía

Nueva función de plantillas que le permite crear un plan de prueba a partir de una plantilla existente o fusionar una plantilla en su plan de prueba

Workbench ahora se puede guardar

Se ha agregado color de sintaxis a los elementos de scripts (BeanShell, BSF y JSR223), elementos MongoDB y JDBC, lo que hace que el código sea mucho más legible y permite DESHACER/REDO a través de CTRL+Z/CTRL+Y

Muestreador BSF con color de sintaxis

Preprocesador JSR223 con color de sintaxis

Ahora hay mejores editores disponibles para elementos de prueba con contenido de texto grande, como HTTP Sampler y elementos de prueba relacionados con JMS que proporcionan numeración de líneas y permiten DESHACER/REHACER a través de CTRL+Z/CTRL+Y

La GUI de JMeter ahora se puede internacionalizar por completo, todos los problemas restantes se han solucionado

Actualmente el francés tiene todas sus etiquetas traducidas. Otros idiomas están parcialmente traducidos, siéntase libre de contribuir con traducciones leyendo Localización (Guía del traductor)

Los elementos móviles en el plan de prueba se han mejorado de muchas maneras.

Arrastrar y soltar elementos en el árbol del plan de prueba ahora es mucho más fácil y posible en múltiples nodos

Tenga en cuenta que debido a este error en Java , no puede eliminar un nodo después del último nodo. La solución es soltarlo antes de este último nodo y luego arrastrar y soltar el último nodo antes del que acaba de soltar.

Se han agregado nuevos accesos directos para mover elementos en el árbol.

(alt + Flecha hacia arriba) y (alt + Flecha hacia abajo) mueven el elemento dentro del nodo principal
(alt + Flecha hacia la izquierda) y (alt + Flecha hacia la derecha) mueven el elemento hacia arriba y hacia abajo en la profundidad del árbol

El eje Y del gráfico de tiempo de respuesta ahora se puede escalar

JUnit Sampler da ahora más detalles sobre los errores de configuración

Errores conocidos

  • El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).
  • Los oyentes no muestran los recuentos de iteraciones cuando un controlador If tiene una condición que siempre es falsa desde la primera iteración (consulte el error 52496 ). Una solución consiste en agregar un muestreador al mismo nivel que (o superior) al controlador If. Por ejemplo, una muestra de acción de prueba con 0 tiempo de espera (que no genera una muestra), o una muestra de depuración con todos los campos configurados en falso (para reducir el tamaño de la muestra).
  • El muestreador de servicios web no tiene en cuenta el estado de la respuesta HTTP para calcular el estado de una respuesta, por lo que una respuesta 500 que no contiene un cuerpo vacío se considerará correcta; consulte el error 54006 . Para solucionar este problema, asegúrese de leer siempre la respuesta y agregue un texto de comprobación de afirmación de respuesta dentro de la respuesta.
  • Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos / número total de subprocesos, estos solo se aplican a una prueba ejecutada localmente; no incluyen ningún subproceso iniciado en sistemas remotos cuando se utiliza el modo cliente-servidor (consulte el error 54152 ).
  • Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:
    [java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: no compatible: número de sangría
    
    Esto no afecta el funcionamiento de JMeter. Este problema está solucionado desde Java 7b05.
  • Con Java 1.6 y Gnome 3 en sistemas Linux, es posible que el menú de JMeter no funcione correctamente (cambie entre el clic del mouse y el menú). Este es un error conocido de Java (consulte el error 54477 ). Una solución consiste en utilizar un tiempo de ejecución de Java 7 (OpenJDK u Oracle JDK).
  • Con Oracle Java 7 y Mac Book Pro Retina Display, la GUI de JMeter puede verse borrosa. Este es un error conocido de Java, consulte el error JDK-8000629 . Una solución alternativa es usar un tiempo de ejecución de la actualización 40 de Java 7 que corrige este problema.

Cambios incompatibles

  • SMTP Sampler ahora usa el asunto del archivo eml si el campo de asunto está vacío
  • Con esta versión, AutoFlush se ha desactivado en PrintWriter a cargo de escribir los resultados de las pruebas. Esto da como resultado un rendimiento mejorado para pruebas intensivas, pero puede resultar en una mayor pérdida de datos de prueba en caso de fallas de JMeter (extremadamente raro). Para volver al comportamiento anterior, establezca la propiedad jmeter.save.saveservice.autoflush en true .
  • El acceso directo para el cuadro de diálogo Asistente de funciones ahora es CTRL+MAYÚS+F1 (CMD + MAYÚS+F1 para Mac OS) . La secuencia de teclas original (Ctrl+F1) no funcionó en algunas ubicaciones (la consume Java Swing ToolTipManager). Por lo tanto, fue necesario cambiar el atajo.
  • La solicitud de servicio web (SOAP) se eliminó de forma predeterminada de la GUI porque el elemento está en desuso. (Use la solicitud HTTP con los datos del cuerpo , consulte también la Plantilla Creación de un plan de prueba de servicio web SOAP ), si necesita mostrarlo, consulte la propiedad not_in_menu en jmeter.properties
  • Transaction Controller ahora establece el código de respuesta del muestreador principal generado (si el muestreador principal generado está marcado) en el código de respuesta del primer hijo que falla en caso de falla de uno de los hijos, en versiones anteriores, el código de respuesta estaba vacío.
  • En versiones anteriores, IncludeController podía ejecutar elementos de prueba ubicados dentro de un grupo de subprocesos , este comportamiento ( que no estaba documentado ) podría provocar un comportamiento extraño, se eliminó en esta versión (consulte el error 55464 ). La forma correcta de incluir Elementos de prueba es usar Fragmento de prueba como se indica en la documentación de Incluir controlador .
  • El recuento de reintentos para los muestreadores HttpClient 3.1 y HttpClient 4.x se ha cambiado a 0 . Anteriormente, el valor predeterminado era 1, lo que podía provocar un tráfico adicional inesperado.
  • A partir de esta versión, HTTP(S) Test Script Recorder intenta detectar cuándo una muestra es el resultado de una redirección anterior. Si la respuesta actual es una redirección, JMeter guardará la URL de redirección. Cuando se recibe la siguiente solicitud, se compara con la URL de redireccionamiento guardada y, si hay una coincidencia, JMeter deshabilitará la muestra generada. Para volver al comportamiento anterior, establezca la propiedad proxy.redirect.disabling=false
  • A partir de esta versión, en HTTP(S) Test Script Recorder, si Agrupación está configurada para Colocar cada grupo en un nuevo Transaction Controller , la grabadora creará instancias de Transaction Controller con Incluir duración del temporizador y preprocesadores en la muestra generada establecida en falso . Este valor predeterminado refleja con mayor precisión el tiempo de respuesta.
  • La función __escapeOroRegexpChars (que escapa de los caracteres reservados de ORO) ya no recorta el valor (consulte el error 55328 )
  • El commons-lang-2.6.jar se eliminó de las bibliotecas integradas en la carpeta jmeter/lib , ya que JMeter no lo necesita en tiempo de ejecución (solo lo usa Apache Velocity para generar documentación). Si usa algún complemento o código de terceros que dependa de él, debe agregarlo en la carpeta jmeter/lib

Corrección de errores

Muestreadores HTTP y proxy

  • Bug 54627 - JMeter Proxy GUI: El tipo de configuración de la muestra ocupa toda la pantalla cuando hay muestras con nombres largos.
  • Error 54629 : HTMLParser no extrae las direcciones URL de la etiqueta <objeto>.
  • Error 55023 : la función de reutilización de contexto SSL (51380) afecta negativamente el rendimiento/rendimiento de solicitudes que no son SSL. basado en el análisis de Brent Cromarty (brent.cromarty en yahoo.ca)
  • Error 55092 : se muestra el mensaje de registro "ADVERTENCIA - jmeter.protocol.http.sampler.HTTPSamplerBase: URL nula detectada (no debería ocurrir)" cuando la URL del recurso incrustado tiene un formato incorrecto.
  • Error 55161 : Procesamiento inútil en SoapSampler.setPostHeaders. Contribución de Adrian Nistor (nistor1 en illinois.edu)
  • Error 54482 : HC no puede seguir los redireccionamientos con caracteres no codificados.
  • Error 54142 : el servidor proxy HTTP genera una excepción cuando la ruta contiene "|" personaje.
  • Error 55388 : HC3 no permite que el campo Fuente IP anule httpclient.localaddress.
  • Error 55450 : los redireccionamientos HEAD deben permanecer como HEAD
  • Error 55455 : HTTPS con HTTPClient4 ignora la configuración de cps
  • Error 55502 : el proxy genera entradas http:/ vacías al grabar
  • Error 55504 : el proxy emite incorrectamente solicitudes de CONEXIÓN cuando el navegador solicita la anulación del certificado
  • Error 55506 : el proxy debe entregar solicitudes fallidas a cualquier oyente configurado
  • Error 55545 : la GUI del servidor proxy HTTP no debería permitir que se seleccionen Seguir y Redirigir automáticamente

Otros muestreadores

  • Error 54913 : JMSPublisherGui restaura incorrectamente su estado. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 55027 : regresión de acción de prueba, el valor de duración no se registra (compilación nocturna).
  • Error 55163 : BeanShellTestElement no puede citar la cadena al llamar a testStarted(String)/testEnded(String).
  • Error 55349 : NativeCommand se bloquea si no se especifica ningún archivo de entrada y la aplicación solicita una entrada.
  • Error 55462 : System Sampler no debería cambiar la etiqueta del muestreador si falla una muestra

Controladores

  • Error 54467 - Controlador de bucle: calcula el valor del bucle solo una vez por iteración principal.
  • Error 54985 : hacer que el controlador de transacciones establezca el código de respuesta del muestreador principal generado en el código de respuesta del primer hijo que falla en caso de falla de uno de sus hijos. Contribución de Mikhail Epikhin (epihin-m en yandex.ru)
  • Error 54950 - ModuleController: los cambios en el módulo al que se hace referencia no se tienen en cuenta si se producen cambios después de la primera ejecución y el nodo al que se hace referencia está deshabilitado.
  • Error 55201 : el controlador ForEach excluye el índice de inicio e incluye el índice final (documentación aclarada).
  • Error 55334 : agregar el controlador de inclusión al plan de prueba (hecho de controladores de inclusión) sin guardar el plan de prueba hace que el código incluido no se tenga en cuenta hasta que se guarde.
  • Error 55375 : StackOverflowError con ModuleController en modo no GUI si su nombre es el mismo que el del nodo de destino.
  • Error 55464 - Incluir controlador ejecutando el grupo de subprocesos incluido

Oyentes

  • Error 54589 : el árbol de resultados de vista tiene muchos caracteres basura si la página html usa un juego de caracteres de doble byte.
  • Error 54753 : StringIndexOutOfBoundsException en SampleResult.getSampleLabel() si key_on_threadname=false al usar el modo estadístico.
  • Error 54685 : ArrayIndexOutOfBoundsException si "sample_variable" está configurado en el cliente pero no en el servidor.
  • Error 55111 : ViewResultsTree: el texto no se reajustó si se requiere una barra de desplazamiento vertical. Contribuido por Milamber

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 54540 : "Máscara de parámetro HTML" no está marcada como obsoleta en el IHM.
  • Error 54575 - Extractor de CSS/JQuery: Elegir la implementación de JODD siempre usa JSOUP.
  • Error 54901 : la GUI de aserción de respuesta se comporta de manera extraña.
  • Error 54924 : XMLAssertion usa JMeter JVM file.encoding en lugar de la codificación de respuesta y no limpia la variable threadlocal.
  • Error 53679 : error del temporizador de rendimiento constante con localización. Reportado por Ludovic García

Funciones

I18N

  • Error 55437 : ComboStringEditor no traduce las cadenas EDIT y UNDEFINED en el cambio de idioma
  • Error 55501 : codificación incorrecta para la descripción en francés de la función __char. Contribuido por Antonio Gomes Rodrigues (ra0077 en gmail.com)

General

  • Error 54504 : cadena de recursos no encontrada: [clipboard_node_read_error].
  • Error 54538 - GUI: el menú contextual es demasiado grande.
  • Error 54847 - Cortar y pegar no funciona con la selección múltiple de árboles. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54870 : Arrastrar y soltar árboles puede perder nodos de hojas (construcción nocturna afectada). Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 55056 : trabajo desperdiciado en Data.append(). Contribución de Adrian Nistor (nistor1 en illinois.edu)
  • Error 55129 : cambiar la generación de Javadoc según CVE-2013-1571, VU#225657.
  • Error 55187 : desbordamiento de enteros al calcular ONE_YEAR_MS en HTTP CacheManager.
  • Error 55208 : las entradas de idioma JSR223 están duplicadas; doblar a minúsculas.
  • Error 55203 : TestBeanGUI: se encontró una configuración de idioma incorrecta.
  • Bug 55065 - Procesamiento inútil en Spline3.converge(). Contribución de Adrian Nistor (nistor1 en illinois.edu)
  • Error 55064 : Procesamiento inútil en ReportTreeListener.isValidDragAction(). Contribución de Adrian Nistor (nistor1 en illinois.edu)
  • Error 55242 : el jar del cliente BeanShell lanza excepciones después de actualizar a 2.8.
  • Error 55288 : JMeter debe establecer de forma predeterminada 0 reintentos para solicitudes HTTP.
  • Error 55405 : la tarea ant download_jars falla si faltan lib/api o lib/doc. Aportado por Antonio Gomes Rodrigues.
  • Error 55427 : TestBeanHelper debe ignorar las propiedades no admitidas por GenericTestBeanCustomizer
  • Error 55459 : los elementos que usan ComboStringEditor pierden el valor de entrada si el usuario selecciona otro elemento de prueba
  • Error 54152 : en pruebas distribuidas: activeThreads siempre muestra 0 en GUI y Summariser
  • Error 55509 : Permitir que los complementos sean notificados de la progresión del número de subprocesos remotos
  • Error 55572 : la ventana emergente de detalles del parámetro no muestra una barra de desplazamiento cuando el contenido excede la visualización
  • Error 55580 : el panel de ayuda no se desplaza para comenzar con los enlaces <a href="#">
  • Error 55600 - JSyntaxTextArea: Comportamiento extraño al deshacer por primera vez
  • Error 55655 : NullPointerException cuando el control remoto detiene/apaga todo si un motor no arranca correctamente. Contribución de UBIK Load Pack (soporte en ubikloadpack.com)
  • Error 55657 : el estado de los botones de parada/apagado remoto y local no tiene en cuenta el estado local/remoto

Mejoras

Muestreadores HTTP y proxy

  • Solicitud HTTP: pequeñas mejoras en la interacción del usuario en el cuadro de detalles del parámetro Fila. Contribuido por Milamber
  • Error 55255 : permitir el cuerpo en el método HTTP DELETE para admitir la API que lo usa (como ElasticSearch).
  • Error 53480 : agregar compatibilidad con Kerberos a Http Sampler (HttpClient4). Basado en el parche de Felix Schumacher (felix.schumacher en internetallee.de)
  • Error 54874 : dispositivo compatible además de la dirección IP de origen. Basado en el parche de Dan Fruehauf (malkodan en gmail.com)
  • Error 55488 : agregue la extensión de archivo .ico y .woff a las exclusiones sugeridas predeterminadas en la grabadora proxy. Aportado por Antonio Gomes Rodrigues
  • Error 55525 : el proxy debe admitir alias para la entrada del servidor de claves
  • Error 55531 - Grabación de proxy y redireccionamientos. Código agregado para deshabilitar muestras redirigidas.
  • Error 55507 : la grabación de proxy SSL no maneja bien los recursos integrados externos
  • Error 55632 : tiene una nueva implementación de htmlParser para el análisis de recursos integrados con un mejor rendimiento
  • Error 55653 : HTTP(S) Test Script Recorder debe establecer la propiedad TransactionController "Incluir duración del temporizador y pre-postprocesadores en la muestra generada" en falso

Otros muestreadores

  • Bug 54788 - JMS Point-to-Point Sampler - Mejoras en la GUI para aumentar la legibilidad y la facilidad de uso. Contribuido por Bruno Antunes (bmantunes en gmail.com)
  • Error 54798 : uso del asunto del archivo EML para SMTP Sampler. Contribución de Mikhail Epikhin (epihin-m en yandex.ru)
  • Bug 54759 - SSLPeerUnverifiedException usando HTTPS, propiedad documentada.
  • Error 54896 : JUnit sampler muestra solo el mensaje "Error al crear una instancia de la clase" con problemas de constructor.
  • Error 55084 : agregar soporte de tiempo de espera para la solicitud JDBC. Contribución de Mikhail Epikhin (epihin-m en yandex.ru)
  • Error 55403 : mejora de la muestra del sistema operativo: compatibilidad con el tiempo de espera
  • Error 55518 : se agregó la capacidad de limitar el número de declaraciones preparadas almacenadas en caché por conexión cuando se selecciona el tipo de consulta "Declaración de selección preparada", "Declaración de actualización preparada" o "Declaración invocable".

Controladores

  • Error 54271 : el controlador del módulo se rompe si se cambia el nombre del plan de prueba.

Oyentes

  • Error 54532 : mejora la escala del eje Y del gráfico de tiempo de respuesta con valores grandes o valores pequeños (< 1000 ms). Agregue un nuevo campo para definir la escala de incremento. Aportado por Milamber basado en parche de Luca Maragnani (luca.maragnani en gmail.com)
  • Error 54576 - Ver árbol de resultados: agregar un probador de CSS/JQuery.
  • Error 54777 : mejora el rendimiento del ResultCollector predeterminado. Basado en el parche de Mikhail Epikhin (epihin-m en yandex.ru)
  • Error 55389 : muestra la dirección IP de origen en los datos de solicitud

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 54789 : aserción de XPath: mejoras en la GUI para aumentar la legibilidad y la facilidad de uso.

Funciones

  • Error 54991 : agregar funciones para codificar/decodificar caracteres codificados de URL (__urlencode y __urldecode). Contribuido por Milamber.

I18N

  • Error 55241 : se necesita un editor de GUI para procesar campos que se basan en enumeraciones con cadenas de visualización localizadas
  • Error 55440 : ComboStringEditor debería permitir que las etiquetas dependan del idioma
  • Error 55432 : CSV Dataset Config pierde el modo de uso compartido al cambiar de idioma

General

  • Error 54584 - Complemento MongoDB. Basado en el parche de Jan Paul Ettles (janpaulettles en gmail.com)
  • Error 54669 : agregar un indicador que fuerza la salida de JVM no GUI después de la prueba. Contribuido por Scott Emmons
  • Error 42428 : el banco de trabajo no se guardó con el plan de prueba. Contribuido por Dzmitry Kashlach (dzmitrykashlach en gmail.com)
  • Error 54825 : agregar accesos directos para mover elementos en el árbol. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54834 : mejora la función de arrastrar y soltar en el árbol de jmeter. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54839 : establezca el nombre de la aplicación en Mac. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54841 : Manejar correctamente el atajo para salir en Mac OS (CMD-Q). Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54844 : establecer el icono de la aplicación en Mac OS. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54864 : habilite la selección múltiple de arrastrar y soltar en el árbol sin tener que comenzar a arrastrar antes de soltar Shift o Control. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54945 : agregue Shutdown Hook para habilitar la captura de señales de muerte o CTRL+C.
  • Error 54990 : descarga archivos grandes evitando outOfMemory.
  • Error 55085 : mejora de UX: capacidad para crear un nuevo plan de prueba a partir de plantillas. Contribución de UBIK Load Pack (soporte en ubikloadpack.com)
  • Error 55172 : proporciona a los complementos una forma de agregar el menú principal y los elementos del menú.
  • Error 55202 : agregar color de sintaxis para elementos de secuencias de comandos (BeanShell, BSF y JSR223) y elementos JDBC con RSyntaxTextArea. Contribuido por Milamber basado en el parche de Marko Vlahovic (vlahovic74 en gmail.com)
  • Error 55175 : refactorización de HTTPHC4Impl para permitir una mejor herencia.
  • Error 55236 - Plantillas: proporciona un botón para volver a cargar los detalles de la plantilla.
  • Error 55237 : el sistema de plantillas debería admitir entradas relativas de nombre de archivo.
  • Error 55423 : BatchSampleSender: reduce la granularidad de bloqueo moviendo listener.processBatch fuera del bloque sincronizado
  • Error 55424 : agregar eliminación a SampleSenders existentes
  • Error 55451 : la GUI del elemento de prueba con JSyntaxTextArea se desplaza hacia abajo cuando el contenido del texto es lo suficientemente largo como para agregar una barra de desplazamiento
  • Error 55513 : StreamCopier no se puede usar con System.err o System.out ya que cierra el flujo de salida
  • Error 55514 : SystemCommand debería admitir flujos de entrada y salida arbitrarios
  • Error 55515 : SystemCommand debería admitir el encadenamiento de comandos
  • Error 55606 : use JSyntaxtTextArea para la solicitud Http, elementos de prueba JMS
  • Error 55651 : cambiar el icono de la aplicación JMeter al icono de penacho de Apache

Cambios no funcionales

  • Actualizado a jsoup-1.7.2
  • Error 54776 : actualice la dependencia de Bouncy Castle a 1.48. Contribuido por Emmanuel Bourg (ebourg en apache.org)
  • Actualizado a HttpComponents Client 4.2.6 (desde 4.2.3)
  • Actualizado a HttpComponents Core 4.2.5 (desde 4.2.3)
  • Actualizado a commons-codec 1.8 (desde 1.6)
  • Actualizado a commons-io 2.4 (desde 2.2)
  • Actualizado a commons-logging 1.1.3 (desde 1.1.1)
  • Actualizado a commons-net 3.3 (desde 3.1)
  • Actualizado a jdom-1.1.3 (desde 1.1.2)
  • Actualizado a jodd-lagarto y jodd-core 3.4.8 (desde 3.4.1)
  • Actualizado a junit 4.11 (desde 4.10)
  • Actualizado a slf4j-api 1.7.5 (desde 1.7.2)
  • Actualizado a tika 1.4 (desde 1.3)
  • Actualizado a xmlgraphics-commons 1.5 (desde 1.3.1)
  • Actualizado a xstream 1.4.4 (desde 1.4.2)
  • Actualizado a BouncyCastle 1.49 (desde 1.48)
  • Error 54912 : JMeterTreeListener debe usar constantes. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 54903 : elimine la dependencia del marco de activación. Contribuido por Emmanuel Bourg (ebourg en apache.org)
  • Se movió commons-lang (2.6) a lib/doc ya que solo lo necesita Velocity.
  • Archivos de AVISO y LICENCIA reorganizados y simplificados.
  • Error 55411 : NativeCommand podría ser útil en otros lugares. Código copiado a oajorphan.exec.
  • Error 55435 : ComboStringEditor podría simplificarse para que la mayoría de las configuraciones sean definitivas
  • Error 55436 : ComboStringEditor debería implementar ClearGui
  • Error 55463 : se desaconseja Component.requestFocus(); use requestFocusInWindow() en su lugar
  • Error 55486 : nuevo logotipo de JMeter. Contribución de UBIK Load Pack (soporte en ubikloadpack.com)
  • Error 55548: ordenar el uso de TestElement.ENABLED; use TestElement.isEnabled()/setEnabled() en todo
  • Error 55617 : mejoras en la colección jorphan. Contribuido por Benoit Wiart (benoit.wiart en gmail.com)
  • Error 55623 : los valores de configuración no válidos/inesperados no deben ignorarse silenciosamente
  • Error 55626 : cambiar el nombre del servidor proxy HTTP como grabador de secuencias de comandos de prueba HTTP(S)

Gracias

Agradecemos a todos los colaboradores mencionados en las secciones de errores y mejoras anteriores:

  • Bruno Antunes (bmantunes en gmail.com)
  • Emmanuel Bourg (ebourg en apache.org)
  • scott emmons
  • Mikhail Epikhin (epihin-m en yandex.ru)
  • Dzmitry Kashlach (dzmitrykashlach en gmail.com)
  • Luca Maragnani (luca.maragnani en gmail.com)
  • milámbar
  • Adrián Nistor (nistor1 en illinois.edu)
  • Antonio Gomes Rodrigues (ra0077 en gmail.com)
  • UBIK Load Pack (soporte en ubikloadpack.com)
  • Benoit Wiart (benoit.wiart en gmail.com)

También agradecemos a los reporteros de errores que nos ayudaron a mejorar JMeter.
Para este lanzamiento, queremos agradecer especialmente a los siguientes reporteros por los informes claros y las pruebas realizadas después de nuestras correcciones:
  • Immanuel Hayden (immanuel.hayden en gmail.com)
  • Danny Lade (dlade en web.de)
  • Brent Cromarty (brent.cromarty en yahoo.ca)
  • Wolfgang Heider (wolfgang.heider en racon.at)
  • Shmuel Krakower (shmulikk en gmail.com)
Disculpas si hemos omitido a alguien más.

Versión 2.9

Nuevo y digno de mención

Mejoras principales:

* Se ha introducido un nuevo Extractor que usa CSS o una sintaxis de selector similar a jquery, que permite usar implementaciones JODD o JSOUP

Resultado: el título de la página en una variable JMeter

* JMeter ahora puede manejar diferentes tipos de documentos (PDF, archivos de MsOffice, archivos de Apache OpenOffice, ...) dentro de diferentes elementos

  • Extractor de expresiones regulares, extrae texto de documentos
  • Respuesta de aserción, comprobar texto en documentos
  • Ver árbol de resultados, ver como texto los documentos

* Un nuevo preprocesador de parámetros de usuario Regex que permite inyectar nombres y valores de parámetros de entrada utilizando una referencia extraída por Regular Expression Extractor de una respuesta anterior

* TCP Sampler: nuevas opciones

TCP Sampler se ha mejorado con nuevas opciones para permitir la configuración de Close Connection , SO_LINGER y valor de byte de fin de línea (EOL)

* Se ha introducido una nueva función __escapeOroRegexpChars(,) entre comillas ORO regexp metacaracteres

* ForEach Controller: nuevos campos

ForEach Controller ahora tiene 2 nuevos campos para controlar el inicio y el final del ciclo

* El controlador de acción de estado de resultado ahora tiene una nueva opción para "Iniciar el siguiente ciclo de subprocesos"

* JMS Publisher: nueva opción

JMS Publisher ahora puede enviar mensajes de bytes

* Mejoras en la memoria y el rendimiento

Se han realizado mejoras significativas en esta versión en el uso de memoria por subproceso y CPU cuando se usa más de un posprocesador como elemento secundario de un muestreador.

Se han mejorado los elementos JSR223 (habilitar el uso de Groovy, Scala, … como lenguajes de secuencias de comandos) para permitir el almacenamiento en caché de los resultados de la compilación cuando las secuencias de comandos se pasan en el área de texto

Algunos valores predeterminados de configuración han cambiado para mejorar el rendimiento de forma predeterminada (consulte el error 54412 ), consulte la descripción en la sección Nuevo y digno de mención.

  • Las pruebas distribuidas ahora usan MODE_STRIPPED_BATCH, que devuelve muestras en modo por lotes (cada 100 muestras o cada minuto de forma predeterminada). Tenga en cuenta también que MODE_STRIPPED_BATCH elimina los datos de respuesta de SampleResult, por lo que si necesita cambiar a otro modo (propiedad de modo en jmeter.properties)
  • Los datos de resultados ahora se guardan en CSV de forma predeterminada (jmeter.save.saveservice.output_format en jmeter.properties)

* XPath Assertion ahora permite usar una variable JMeter como entrada

Mejoras en GUI y ergonomía:

* La función de búsqueda se ha mejorado para buscar dentro de más campos internos de elementos y expandir los resultados de búsqueda

* Copiar/pegar ahora es posible entre 2 instancias de JMeter >= versión 2.9

Copie los elementos de una instancia de JMeter:

Pegue los elementos en una segunda instancia de JMeter:

* Administrador de encabezado HTTP

Permitir la copia del portapapeles al HeaderPanel, se supone que los encabezados están separados por una nueva línea y tienen el siguiente nombre de formulario: valor

* Controlador de módulo

El controlador del módulo se ha mejorado para representar mejor el controlador referenciado y expandirlo haciendo clic en un nuevo botón

* Servidor proxy HTTP

HTTP Proxy Server ahora tiene un botón para agregar un conjunto de exclusiones predeterminadas para patrones de URL, esta lista se puede configurar a través de la propiedad: proxy.excludes.suggested

* La representación del controlador de destino se ha mejorado en el servidor proxy HTTP

Grabación del servidor proxy HTTP:

* El servidor proxy HTTP ahora usa automáticamente la solicitud HTTP con el modo Raw Post Body para muestras que solo tienen un argumento sin nombre (JSON, XML, GWT, …)

* El servidor proxy HTTP no obliga al usuario a seleccionar el tipo de Sampler en la configuración de HTTP Sampler, esto permite un cambio más fácil entre implementaciones ya que Sampler ya no tiene esta información configurada

* La interfaz de SamplerCreator se ha enriquecido para cumplir con los nuevos requisitos para los proveedores de complementos

* Ahora es posible crear una muestra binaria para la solicitud POST x-www-form-urlencoded modificando la propiedad proxy.binary.types para agregar application/x-www-form-urlencoded

* Detección automática de formato de marca de tiempo mejorada al leer archivos CSV

Errores conocidos

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).

Los oyentes no muestran los recuentos de iteraciones cuando un controlador If tiene una condición que siempre es falsa desde la primera iteración (consulte el error 52496 ). Una solución consiste en agregar un muestreador al mismo nivel que (o superior) al controlador If. Por ejemplo, una muestra de acción de prueba con 0 tiempo de espera (que no genera una muestra), o una muestra de depuración con todos los campos configurados en falso (para reducir el tamaño de la muestra).

El muestreador de servicios web no tiene en cuenta el estado de la respuesta HTTP para calcular el estado de una respuesta, por lo que una respuesta 500 que no contiene un cuerpo vacío se considerará correcta; consulte el error 54006 . Para solucionar este problema, asegúrese de leer siempre la respuesta y agregue un texto de comprobación de afirmación de respuesta dentro de la respuesta.

Cambiar el idioma puede romper parte de la configuración de los siguientes elementos (ver Bug 53679 ):

  • Configuración del conjunto de datos CSV (se perderá el modo de uso compartido)
  • Temporizador de rendimiento constante (se perderá el cálculo del rendimiento basado en)

Los números que aparecen a la izquierda del cuadro verde son el número de subprocesos activos / número total de subprocesos, estos solo se aplican a una prueba ejecutada localmente; no incluyen ningún subproceso iniciado en sistemas remotos cuando se utiliza el modo cliente-servidor (consulte el error 54152 ).

Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:

[java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
 java.util.prefs.BackingStoreException:
 java.lang.IllegalArgumentException: no compatible: número de sangría
Esto no afecta el funcionamiento de JMeter.

Cambios incompatibles

JMeter requiere ahora un tiempo de ejecución de Java 6 o superior.

Algunos valores predeterminados de configuración han cambiado para mejorar el rendimiento de forma predeterminada (consulte el error 54412 ), consulte la descripción en la sección Nuevo y digno de mención.

La muestra de servicios web ahora se agrega para solicitar los encabezados que se establecen a través del Administrador de encabezados, estos se ignoraron anteriormente

Se eliminó la propiedad jdbcsampler.cachesize , anteriormente limitaba el tamaño de un caché por conexión de Map < String, PreparedStatement > , también limitaba el tamaño de este mapa que contenía el PreparedStatement para consultas SQL. Esta limitación provocó un error Bug 53995 . Se ha eliminado, por lo que ahora el tamaño de estos 2 mapas ya no está limitado. Este cambio cambia el comportamiento ya que a partir de esta versión no se cerrará ninguna declaración preparada durante la prueba.

A partir de esta versión, hay algunos cambios importantes en los elementos de prueba JSR223:

  • Los elementos de prueba JSR223 que tienen un nombre de archivo no válido (no existente o ilegible) harán que la prueba falle en lugar de hacer que el elemento funcione en silencio
  • En los elementos de prueba JSR223: responseCodeOk, responseMessageOK y exitoso se configuran antes de que se ejecute el script, si se configuran los datos de respuesta, ya no se anularán mediante toString() en el valor de retorno del script.

Ver el árbol de resultados ahora considera la respuesta con el tipo de contenido faltante como texto.

En el modo de prueba remota, JMeter ahora sale por error si uno de los motores remotos no se puede configurar, anteriormente comenzaba la prueba con los motores disponibles.

Corrección de errores

Muestreadores HTTP y proxy

  • No registre mensajes de advertencia falsos cuando use descargas incrustadas de grupos simultáneos con Cache Manager o CookieManager
  • Error 54057 : la opción de proxy para configurar el usuario y la contraseña al inicio (-u y -a) no funciona con HTTPClient 4
  • Error 54187 : la pestaña Solicitud no muestra encabezados si la solicitud falla
  • Error 53840 - Grabación de proxy: mensaje de respuesta: URLDecoder: caracteres hexadecimales ilegales en el patrón de escape (%) - Para la cadena de entrada: "" "
  • Error 54351 : fallan los fragmentos HC4 y URI

Otros muestreadores

  • Error 53997 - Solicitud extendida de LDAP: Escape de ampersand (&), corchete angular izquierdo (<) y corchete angular derecho (>) en la etiqueta de filtro de búsqueda en los datos de respuesta XML
  • Error 53995 : AbstractJDBCTestElement comparte PreparedStatement entre subprocesos múltiples
  • Error 54119 : la respuesta HTTP 307 no se redirige
  • Error 54326 : el archivo de envío de AjpSampler en la publicación genera una excepción FileNotFoundException
  • Error 54331 : AjpSampler arroja un puntero nulo en una solicitud GET que está protegida

Controladores

Oyentes

  • Error 54088 : el tipo video/f4m es texto, no binario
  • Error 54166 : ViewResultsTree no pudo representar la respuesta HTML: manejar la falla al analizar HTML
  • Error 54287 : marca de tiempo incorrecta en el gráfico de tiempo de respuesta cuando se usa una fecha con hora en el campo de formato de fecha
  • Error 54451 : el gráfico de tiempo de respuesta informa tiempos incorrectos cuando hay muchas muestras al mismo tiempo
  • Error 54459 : CSVSaveService no maneja muy bien el análisis de fechas

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 54058 : en los valores predeterminados de solicitud HTTP, el valor del campo "Las direcciones URL incrustadas deben coincidir: no se guarda si la casilla de verificación "Recuperar todos los recursos incrustados" no está marcada.
  • Error 54375 - Extractor de expresiones regulares: cuando la sintaxis de expresiones regulares es incorrecta, se detiene el procesamiento posterior

Funciones

I18N

General

  • Error 53975 : el reemplazo de variables no funciona con la opción "Retrasar la creación del subproceso hasta que sea necesario"
  • Error 54055 - Ver árbol de resultados: = los signos se eliminan de los valores de los parámetros en la pestaña HTTP
  • Error 54129 : la función de búsqueda no encuentra texto aunque exista en elementos
  • Error 54023 : no se puede iniciar JMeter desde un directorio raíz y si la ruta completa de la instalación de JMeter contiene uno o más espacios (Unix/linux)
  • Error 54172 : la tecla de método abreviado duplicada no funciona y CTRL+C / CTRL+V / CTRL+V no cancelan el evento predeterminado
  • Error 54057 : la opción de proxy para configurar el usuario y la contraseña al inicio (-u y -a) no funciona con HTTPClient 4
  • Error 54267 : la configuración Iniciar el bucle de subproceso siguiente no funciona en grupos de subprocesos personalizados
  • Error 54413 : DataStrippingSampleSender devuelve 0 para la cantidad de bytes de cualquier respuesta

Mejoras

Muestreadores HTTP

  • Error 54185 : permitir cadenas de consulta en rutas que comienzan con HTTP o HTTPS

Otros muestreadores

  • Error 54004 - Muestreador de servicios web: Permitir agregar encabezados para solicitar con el Administrador de encabezados
  • Error 54106 : JSR223TestElement debe verificar la existencia del archivo cuando se establece un nombre de archivo en lugar de usar el contenido del área de texto
  • Error 54107 - JSR223TestElement: habilitar la compilación y el almacenamiento en caché de texto de secuencia de comandos
  • Error 54109 - JSR223TestElement: las propiedades de SampleResult deben configurarse antes de ingresar el script para permitir que el usuario configure un código diferente
  • Error 54230 - Muestreador de TCP, adiciones de las opciones "Cerrar conexión", "SO_LINGER" y "Valor de byte de fin de línea (EOL)"
  • Error 54182 : admite el envío de ByteMessage para JMS Publisher.

Controladores

  • Error 54131 - Controlador ForEach: Agregar índice de inicio y finalización para recorrer variables
  • Error 54132 - GUI del controlador del módulo: mejora la representación del controlador al que se hace referencia
  • Error 54155 - ModuleController: agregue un botón de acceso directo para desplegar el árbol hasta el controlador al que se hace referencia y resaltarlo

Oyentes

  • Error 54200 : agregue compatibilidad con varios tipos de documentos (como archivos de Apache OpenOffice, archivos de MS Office, archivos PDF, etc.) a los elementos Ver árbol de resultados, Respuesta de aserción y Extractor de expresiones regulares (usando Apache Tika)
  • Error 54226 - Ver árbol de resultados: Mostrar respuesta incluso cuando el servidor no devuelve el encabezado ContentType

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 54259 : presenta un nuevo Extractor que usa CSS o una sintaxis de selector similar a jquery
  • Error 45772 : posprocesador de parámetros de usuario RegEx
  • Error 54160 : agregue soporte para la aserción xpath para aplicar a una variable JMeter.

Funciones

I18N

General

  • Error 54005 : servidor espejo HTTP: agregue encabezados especiales "X-" para controlar el estado de la respuesta y el contenido de la respuesta
  • Error 53875 : incluir valores predeterminados sugeridos para filtros de URL en proxy HTTP
  • Error 54031 : agregar información sobre herramientas al indicador de subprocesos totales/en ejecución
  • La solicitud de servicio web (SOAP) ha quedado obsoleta
  • Error 54161 - Proxy: ser capaz de crear una muestra binaria para la solicitud POST x-www-form-urlencoded
  • Error 54154 : el servidor proxy HTTP no debe obligar al usuario a seleccionar el tipo de muestra en la configuración de muestra HTTP
  • Error 54165 - Servidor proxy: mejora la representación del controlador de destino
  • Error 46677 : copia de elementos de prueba entre planes de prueba
  • Error 54204 - Controlador de acción de estado de resultado: agregar la opción de inicio de ciclo de subproceso siguiente
  • Error 54232 - Función de búsqueda: agregue un botón para buscar y expandir los resultados
  • Error 54251 : agregar la implementación de la casilla de verificación tristate
  • Error 54257 : mejora la interfaz de SamplerCreator para cumplir con los nuevos requisitos
  • Error 54258 - Proxy: use el cuerpo de publicación sin formato cuando Sampler tiene un argumento sin nombre, útil para Samplers que usan el método POST por tipo de cuerpo JSON, XML, GWT
  • Error 54268 : mejora el uso de CPU y memoria
  • Error 54376 - ScopePanel: permite configurar ámbitos con mayor precisión
  • Error 54412 : cambiar los valores predeterminados de JMeter para garantizar un mejor rendimiento de forma predeterminada
  • Error 54414 : la prueba remota no debería iniciarse si uno de los motores no arranca correctamente

Cambios no funcionales

  • Error 53956 : agregar la capacidad de pegar (una lista de valores) desde el portapapeles para Header Manager
  • Actualizado a HttpComponents Client 4.2.3 (desde 4.2.1)
  • Actualizado a HttpComponents Core 4.2.3 (desde 4.2.2)
  • Error 54110 : BSFTestElement y JSR223TestElement deben usar una superclase compartida para campos comunes
  • Error 54199 - Mover a Java 6
  • Actualizado a rinoceronte 1.7R4

Versión 2.8

Nuevo y digno de mención

Mejoras principales:

Grupo de subprocesos: nueva opción Retrasar la creación de subprocesos hasta que sea necesario

Nueva opción "Retrasar la creación de subprocesos hasta que sea necesario" que creará e iniciará subprocesos cuando sea necesario en lugar de crearlos al iniciar la prueba.
Esta nueva función permite ejecutar pruebas con una gran cantidad de subprocesos de corta duración.

Administrador de cookies HTTP (compatible con IPv6)

Agregue la implementación de cookies HTTPClient 4 en JMeter.
Cookie Manager ahora tiene la implementación predeterminada HC3.1 y una nueva implementación HC4 de elección (compatible con la dirección IPv6)

Mejoras en la memoria y el rendimiento

Se han realizado mejoras significativas en esta versión en el uso de memoria de JMeterThread

Los elementos JSR223 (habilitar el uso de Groovy, scala, … como lenguajes de secuencias de comandos) se han mejorado para habilitar:

  • uso de la interfaz compilable cuando esté disponible para aumentar el uso de la CPU
  • almacenamiento en caché de compilación cuando los scripts se usan como archivos
Ver rendimientos de JMeter en todas las versiones

Muestreador de procesos del sistema operativo

Permitir definir archivos para stdout/stderr/stdin.

Solicitud HTTP: verbo PATCH

Agregue el verbo PATCH a la muestra HTTP

Solicitud HTTP: HTTPClient 4 ahora es la implementación predeterminada

HTTPClient 4 es ahora la implementación de solicitud HTTP predeterminada (y para el elemento Proxy al generar solicitudes HTTP).
Anteriormente, el valor predeterminado era la implementación de HTTP Java (es decir, la implementación proporcionada por la JVM)

Solicitud HTTP

Agregar filtro de URL incorporado al control de valores predeterminados de solicitud HTTP (ya estaba presente para solicitudes HTTP)

Misceláneas

  • Conjunto de datos CSV: las nuevas líneas incrustadas ahora son compatibles con los datos citados
  • Los archivos JMX ahora contienen la versión de JMeter que creó el archivo
  • La versión de JMeter ahora está disponible como propiedad "jmeter.version"

Mejoras en los informes:

Gráfico de tiempo de respuesta

Agregue un nuevo gráfico de tiempo de respuesta del visualizador para dibujar un gráfico de líneas que muestre la evolución del tiempo de respuesta para una prueba

Configuración del gráfico de tiempo de respuesta

Ver resultados en la tabla

Agregue latencia para ver el resultado en el escucha de la tabla

Gráfico agregado

Pequeñas mejoras: la leyenda a la izquierda o a la derecha ahora está en 1 columna (en lugar de 1 línea grande),...

Mejoras en GUI y ergonomía:

Simplificaciones del servidor proxy HTTP

Las opciones de falsificación de HTTPS se han eliminado de Proxy ya que la grabación de HTTPS está disponible directamente desde JMeter 2.4.

Servidor proxy HTTP

Permitir que los filtros de URL se peguen desde el portapapeles

Buscar en JMeter

CTRL + F para la nueva función Buscar

La tecla ESC ahora cierra las ventanas emergentes.

Interfaz de usuario en GNOME 3

Mostrar el título 'Apache JMeter' en la barra de título de la aplicación en Gnome 3

Errores conocidos

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).

Los oyentes no muestran los recuentos de iteraciones cuando un controlador If tiene una condición que siempre es falsa desde la primera iteración (consulte el error 52496 ). Una solución consiste en agregar un muestreador al mismo nivel que (o superior) al controlador If. Por ejemplo, una muestra de acción de prueba con 0 tiempo de espera (que no genera una muestra), o una muestra de depuración con todos los campos configurados en falso (para reducir el tamaño de la muestra).

Cambiar el idioma puede romper parte de la configuración de los siguientes elementos (ver Bug 53679 ):

  • Configuración del conjunto de datos CSV (se perderá el modo de uso compartido)
  • Temporizador de rendimiento constante (se perderá el cálculo del rendimiento basado en)

Tenga en cuenta que hay un error en Java en algunos sistemas Linux que se manifiesta como el siguiente error al ejecutar los casos de prueba o el propio JMeter:

[java] ADVERTENCIA: No se pudieron vaciar las preferencias del usuario:
 java.util.prefs.BackingStoreException:
 java.lang.IllegalArgumentException: no compatible: número de sangría
Esto no afecta el funcionamiento de JMeter.

Cambios incompatibles

Al usar CacheManager, JMeter ahora almacena en caché las respuestas para consultas GET siempre que el encabezado Cache-Control sea diferente de "no-cache" como se describe en la especificación. Además, ya no pone en Cache entradas obsoletas para respuestas "sin caché". Consulte el error 53521 y el error 53522

Se ha producido un cambio importante en los elementos de prueba JSR223, anteriormente las variables configuradas antes de la ejecución del script se almacenaban en ScriptEngineManager, que se creaba una vez por ejecución, ahora ScriptEngineManager es un singleton compartido por todos los elementos JSR223 y solo ScriptEngine se crea una vez por ejecución, las variables configuradas antes de la ejecución del script ahora se almacenan en los enlaces creados en cada ejecución, consulte el error 53365 .

Los elementos de prueba JSR223 que usan el archivo Script ahora se compilan si ScriptEngine es compatible con esta función; consulte el error 53520 .

El acceso directo para el cuadro de diálogo Asistente de función ahora es CTRL+F1 (CMD + F1 para Mac OS), CTRL+F (CMD+F1 para Mac OS) ahora abre el cuadro de diálogo de búsqueda.

De forma predeterminada, TestCompiler ahora almacena detalles de los pares que ha visto en instancias de controlador en lugar de en un conjunto estático. [ Error 53796 ] Esto proporciona un comportamiento de memoria mucho mejor para los planes de prueba de inicio diferido, ya que la memoria utilizada es proporcional al número de subprocesos simultáneos. Con el conjunto estático, el uso de la memoria era proporcional al recuento total de subprocesos. Es muy poco probable que este cambio cause un problema. El comportamiento original se puede restaurar configurando la propiedad TestCompiler.useStaticSet=true

Las opciones de falsificación de HTTPS se han eliminado de Proxy ya que la grabación de HTTPS está disponible directamente desde JMeter 2.4.

Corrección de errores

Muestreadores HTTP y proxy

  • Error 53521 : el administrador de caché debe almacenar en caché el contenido con Cache-control=private
  • Error 53522 : el administrador de caché no debe almacenar ninguna respuesta con el encabezado "sin caché" y almacenar otros tipos de control de caché que tengan un valor máximo de edad
  • Error 53838 : al presionar "Detener" no se interrumpe la muestra de TCP
  • Error 53911 : JmeterKeystore no permite la clave en la lista de certificados

Otros muestreadores

  • Error 53348 : la muestra de solicitud-respuesta de punto a punto de JMeter JMS no funciona cuando la cola de solicitud y la cola de recepción son diferentes
  • Error 53357 : JMS Point to Point informa tiempos de respuesta demasiado altos en el modo de respuesta de solicitud
  • Error 53440 : la conexión SSL conduce a ArrayStoreException en JDK 6 con algunos KeyManagerFactory SPI
  • Error 53511 : muestra de registro de acceso SessionFilter arroja NullPointerException: el administrador de cookies no se inicializó correctamente
  • Error 53715 : JMeter no carga WSDL

Controladores

Oyentes

  • Error 53742 : cuando jmeter.save.saveservice.sample_count se establece en verdadero, el tiempo transcurrido leído por el oyente siempre es igual a 0
  • Error 53774 : RequestViewRaw no muestra encabezados a menos que samplerData no sea nulo
  • Error 53802 : los valores de IdleTime no se guardan en el registro CSV
  • Error 53874 - Ver árbol de resultados: si algún parámetro que contiene caracteres especiales como % no está codificado, RequestViewHTTP falla con java.lang.IllegalArgumentException: URLDecoder: caracteres hexadecimales ilegales en patrón de escape (%) y no se muestra la respuesta

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 51512 : las cookies no se insertan en la solicitud HTTP con el encabezado del host IPv6

Funciones

I18N

General

  • Error 53365 : JSR223TestElement debe almacenar en caché ScriptEngineManager
  • Error 53520 - Elementos JSR223: use la interfaz compilable para mejorar el rendimiento en los scripts de archivos
  • Error 53501 : el temporizador de sincronización bloquea el final de la prueba.
  • Error 53750 : TestCompiler guarda entradas innecesarias en la colección de emparejamiento
  • Error 52266 - Código: sincronización inconsistente
  • Error 53841 : CSVSaveService lee el archivo usando la codificación de archivos predeterminada de JVM en lugar de usar la configurada en saveservice.properties
  • Error 53953 Nuevo: error tipográfico en la documentación del plan de prueba del monitor

Mejoras

Muestreadores HTTP

  • Error 53675 : agregar el verbo PATCH a la muestra HTTP
  • Error 53931 : defina HTTPClient 4 para la solicitud HTTP predeterminada (y el elemento Proxy para generar las solicitudes HTTP). Antes del valor predeterminado, era HTTP Java Sampler
  • Error 53934 : elimina las opciones de falsificación de HTTPS en el servidor proxy HTTP de JMeter. Desde JMeter 2.4, el protocolo HTTPS es compatible directamente con el proxy

Otros muestreadores

  • Error 55310 : TestAction debería implementar Interruptible
  • Error 53318 : Agregar filtro de URL incorporado al control de valores predeterminados de solicitud HTTP
  • Error 53782 : mejora el manejo de JavaSampler de la limpieza de JavaSamplerClient para usar menos memoria
  • Error 53168 : proceso del sistema operativo: permitir la especificación de stdout/stderr/stdin
  • Error 53844 : los elementos relacionados con JDBC deben verificar la clase de nombre de variable que se supone que contiene la configuración de conexión JDBC para evitar ClassCastException

Controladores

  • Error 53671: el grupo de subprocesos tearDown se ejecuta incluso si se produce una prueba de apagado

Oyentes

  • Error 53566 : no registrar respuestas parciales en el registro de jmeter
  • Error 53716 : pequeñas mejoras en el gráfico agregado: la leyenda a la izquierda o a la derecha ahora está en 1 columna (en lugar de 1 línea grande), sin borde en el color del cuadrado de la referencia, reducción del ancho en algunos campos
  • Error 53718 : agregue un nuevo visualizador 'Gráfico de tiempo de respuesta' para dibujar un gráfico de líneas que muestre la evolución del tiempo de respuesta para una prueba
  • Error 53738 : realizar un seguimiento del número de subprocesos iniciados y finalizados
  • Error 53753 - Summariser: no tiene sentido mostrar fracciones de tiempo en la mayoría de los casos
  • Error 53749 : la interfaz de TestListener quizás podría dividirse. Esto debería reducir los requisitos de memoria y el procesamiento por subproceso, ya que ahora solo es necesario manejar los elementos de prueba que realmente usan la funcionalidad testIterationStart.
  • Error 53941 : agregar latencia al oyente de la tabla Ver resultados

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 53755 : agregar una implementación de cookies HttpClient 4 en JMeter. Cookie Manager ahora tiene la implementación predeterminada HC3.1 y una nueva implementación HC4 de elección (compatible con la dirección IPv6)

Funciones

  • Error 51527 - Función __time(): agregue otra opción a __time() para proporcionar *segundos* desde la época

I18N

General

  • Error 53364 : ordenar la lista de funciones en el cuadro de diálogo Ayudante de funciones
  • Error 53418 : nueva opción "Retrasar la creación de subprocesos hasta que sea necesario" que creará e iniciará subprocesos cuando sea necesario en lugar de crearlos al iniciar la prueba
  • Error 42245 : Mostrar contraseñas claras en el Administrador de autorización HTTP
  • Error 53616 : muestra el título 'Apache JMeter' en la barra de título de la aplicación en Gnome 3
  • Error 53759 : ClientJMeterEngine realiza recorridos innecesarios con SearchByClass (TestListener)
  • Error 52601 : CTRL + F para la nueva función Buscar
  • Error 53796 : TestCompiler usa un conjunto estático que puede crecer mucho
  • Error 53673 : agregar la versión de JMeter en el archivo jmx
  • Agregue soporte para HeapDump al cliente JMeter no GUI y GUI
  • Error 53862 : sería bueno tener la versión de JMeter disponible como propiedad
  • Error 53806 : FileServer debería proporcionar un análisis seguro para subprocesos
  • Error 53807 : CSV Dataset no maneja nuevas líneas incrustadas en datos citados
  • Error 53879 - GUI: Permitir que las ventanas emergentes se cierren con la tecla ESC
  • Error 53876 : permitir que los filtros de URL (proxy HTTP) se peguen desde el portapapeles

Cambios no funcionales

  • Error 53311 : JMeterUtils#runSafe no debería arrojar un error cuando se interrumpe
  • Actualizado a commons-net-3.1 (desde 3.0.1)
  • Actualizado a HttpComponents Core 4.2.2 (desde 4.1.4) y HttpComponents Client 4.2.1 (desde 4.1.3)
  • Error 53765 - Cambiar a commons-lang3-3.1
  • Error 53884 : ID de grupo de Maven incorrecto para commons-lang

Versión 2.7

Nuevo y digno de mención

Muestreador de procesos del sistema operativo

Un nuevo System Sampler que se puede usar para ejecutar comandos en la máquina local.

Ejemplo de resultados de OS Process Sampler con el comando de búsqueda de DNS 'dig'

Mejoras en los muestreadores JMS

Adición de una opción de "Entrega no persistente" para enviar mensajes "No persistentes" (garantizado para ser entregado como máximo una vez. La pérdida de mensajes no es una preocupación). Mensajes JMS

Admite el envío de mensajes de objetos JMS para habilitar el envío de objetos desarmados de XML por XStream

Habilite la configuración de propiedades JMS a través de la muestra de JMS Publisher

Muestreador de acción de prueba

Permitir la salida prematura de un bucle

Mejoras en el muestreador de servicios web

Agregue una propiedad de jmeter, soap.document_cache, para controlar el tamaño de Document Cache

Hacer que Mantener sesión HTTP sea configurable

Gráfico agregado: carácter de barra agrupada con columnas de promedio, mediana, línea del 90 %, mínimo y máximo

Agregue cambios de gráfico al gráfico de barras agrupadas, agregue más columnas (mediana, 90% de línea, mínimo, máximo) y opciones, corrigió algunos errores

Nuevas configuraciones para el gráfico agregado

Mejoras en el diseño de informes HTML generados por la tarea JMeter Ant en la carpeta de extras

Ejemplo de informe HTML

Ejemplo de informe HTML con algunos errores de aserción

Visualizador de correo

  • Habilite la autenticación y la seguridad de la conexión con SSL o TLS
  • Mejorar el diseño de la GUI
  • Agregar soporte de internacionalización (i18n)

Nuevo indicador visual de la cantidad de mensajes de ERROR/FATAL en los registros

El indicador muestra la cantidad de mensajes de ERROR/FATAL en los registros, se puede hacer clic para alternar el panel Visor de registros

Cuadro de diálogo para mostrar el detalle de una fila de parámetros

Agregue un botón de detalle en la tabla de parámetros para mostrar el detalle de una fila

Ejemplo de cuadro de detalle

Escritores de complementos

Se introdujo la nueva interfaz org.apache.jmeter.engine.util.ConfigMergabilityIndicator para indicar si un ConfigTestElement se puede fusionar en Sampler (consulte el error 53042 ):

se aplica booleano público (ConfigTestElement configElement);

Nueva interfaz org.apache.jmeter.protocol.http.proxy.SamplerCreator para permitir conectar muestras basadas en HTTP que difieren de las muestras HTTP predeterminadas a través de Proxy durante la fase de grabación (consulte el error 52674 ):

public String[] getManagedContentTypes();
public HTTPSamplerBase createSampler(HttpRequestHdr request, Map<String, String> pageEncodings, Map<String, String> formEncodings);
public void populateSampler(Muestreador HTTPSamplerBase, solicitud HttpRequestHdr, Map<String, String> pageEncodings, Map<String, String> formEncodings) arroja una excepción;

Errores conocidos

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).

Los oyentes no muestran los recuentos de iteraciones cuando un controlador If tiene una condición que siempre es falsa desde la primera iteración (consulte el error 52496 ). Una solución consiste en agregar un muestreador al mismo nivel que (o superior) al controlador If. Por ejemplo, una muestra de acción de prueba con 0 tiempo de espera (que no genera una muestra), o una muestra de depuración con todos los campos configurados en falso (para reducir el tamaño de la muestra).

Cambios incompatibles

Al reemplazar las variables definidas por el usuario, Proxy ya no sustituirá los valores parciales cuando se utilice la "coincidencia Regexp". Utilizará la coincidencia de palabras Perl 5 ("\b")

En las variables definidas por el usuario, el plan de prueba, la tabla de argumentos del muestreador HTTP, los valores predeterminados de solicitud de Java, el muestreador y publicador de JMS, los valores predeterminados de solicitud LDAP y los valores predeterminados de solicitud extendidos de LDAP, las filas con el nombre y el valor vacíos ya no se guardan.

JMeter ahora expande el árbol del plan de prueba al nivel del plan de prueba y no más, y selecciona la raíz del árbol. Además, el valor predeterminado de onload.expandtree es falso.

Se ha eliminado el oyente de resultados completos de gráfico.

Al llamar al comando "Borrar todo", si se muestra Log Viewer, se borrará su contenido.

Corrección de errores

Muestreadores HTTP y proxy

  • Error 52613 : al usar la opción Raw Post Body, el texto se codifica
  • Error 52781 : el encabezado de disposición de contenido se confunde incluso si los encabezados compatibles con el navegador están marcados (HC4)
  • Error 52796 : MonitorHandler no puede borrar las variables al iniciar un nuevo análisis
  • Error 52871 : varios certificados no funcionan con el cliente HTTP 4
  • Error 52885 - Proxy: problemas de grabación con HTTPS, las cookies que comienzan con seguro están parcialmente truncadas
  • Error 52886 - Proxy: problemas de grabación con HTTPS cuando la suplantación de identidad está activada, las cookies seguras no siempre se modifican
  • Error 52897 - HTTPSampler: el uso del método PUT con HTTPClient4 y la codificación de contenido vacía y el envío de archivos conducen a NullPointerException
  • Error 53145 - Muestreador HTTP - función en la ruta evaluada demasiado pronto

Otros muestreadores

  • Error 51737 - TCPSampler: el paquete se convierte/corrompe
  • Error 52868 : la lista de idiomas BSF debe ordenarse
  • Error 52869 : la lista de idiomas JSR223 actualmente usa la lista BSF, lo cual es incorrecto
  • Bug 52932 - JDBC Sampler: Sampler no está marcado por error en una excepción que no es de clase IOException, SQLException, IOException
  • Error 52916 : excepción de JDBC si hay una variable definida por el usuario vacía
  • Error 52937 - Muestreador de servicios web: Borrar caché de documentos Soap al final de la prueba
  • Error 53027 : JMeter comienza a generar excepciones al usar SMTP Sample en un plan de prueba con HTTP Cookie Mngr o HTTP Request Defaults
  • Error 53072 : las instrucciones JDBC PREPARED SELECT deberían devolver resultados en variables como SELECT no preparado

Controladores

  • Error 52968 : la opción Iniciar siguiente ciclo en el grupo de subprocesos no marca el Transaction Sampler principal como erróneo cuando se produce un error
  • Error 50898 - IncludeController: secuencia de comandos de carga NullPointerException en modo no GUI si los includers usan el mismo nombre de elemento

Oyentes

  • Error 43450 : los oyentes/ahorradores asumen que el recuento de SampleResult siempre es 1; fijo Generar resultados resumidos

afirmaciones

Funciones

I18N

  • Error 52551 : el cuadro de diálogo Asistente de función no cambia el idioma correctamente
  • Error 52552 : la referencia de ayuda solo funciona en inglés

General

  • Error 52639 : el divisor JSplitPane para el panel de registro debe ocultarse si el registro no está activado
  • Error 52672 : la acción Cambiar controlador elimina todos los samplers secundarios menos uno
  • Error 52694 : interbloqueo en la GUI relacionado con subprocesos no AWT que actualizan la GUI
  • Error 52678 - Proxy: al realizar el reemplazo de UserDefinedVariables, los valores parciales no deben sustituirse
  • Error 52728 : el elemento de configuración del conjunto de datos CSV no puede coexistir con BSF Sampler en el mismo plan de subprocesos
  • Error 52762 : problema con varios certificados: el primer índice no se usa hasta que se reinician los índices
  • Error 52741 : los valores predeterminados de TestBeanGUI no funcionan la segunda vez o más tarde
  • Error 52783 : la propiedad oro.patterncache.size nunca se usó debido a un inicio temprano
  • Error 52789 : el proxy con coincidencia de expresión regular puede fallar con NullPointerException en el reemplazo de valor si el valor es nulo
  • Error 52645 : la grabación con proxy conduce a OutOfMemory
  • Error 52679 : las columnas de parámetros de usuario son estrechas
  • Error 52843 : el tamaño del encabezado y el tamaño del cuerpo de la muestra no se acumulan para las submuestras
  • Error 52967 : la función __P() no podía usar el valor predeterminado cuando se ejecutaba con un servidor remoto en modo GUI.
  • Error 50799 : tener una muestra que no sea HTTP en un plan de prueba http impide que funcionen varios administradores de encabezado
  • Error 52997 : JMeter no debe salir sin guardar el plan de prueba si falla el guardado antes de salir
  • Error 53136 - Atrapar Throwable debe manejarse con cuidado

Mejoras

Muestreadores HTTP

Otros muestreadores

  • Error 52775 - JMS Publisher: Agregar opción de entrega no persistente
  • Error 52810 : habilitar la configuración de propiedades JMS a través de la muestra de JMS Publisher
  • Error 52938 - Muestreador de servicios web: agregue una propiedad jmeter soap.document_cache para controlar el tamaño de la memoria caché de documentos
  • Error 52939 - Muestreador de servicios web: hacer que KeepSession sea configurable
  • Bug 53073 - Permitir asignar el resultado OUT de un JDBC CALLABLE a variables JMeter
  • Error 53164 - Muestra del nuevo sistema
  • Bug 53172 - OS Process Sampler - permitir la especificación de variables de entorno
  • Bug 52936 - JMS Publisher: Admite el envío de mensajes de objetos JMS

Controladores

Oyentes

  • Error 52603 - MailerVisualizer: habilitar SSL, TLS y autenticación
  • Error 52698 : eliminar el oyente de resultados completos del gráfico
  • Error 53070 : cambie el gráfico agregado a un gráfico de barras agrupadas, agregue más columnas (mediana, 90% de línea, mínimo, máximo) y opciones, corrigió algunos errores
  • Error 53246 - Mailer Visualizer: mejora el diseño de GUI e I18N

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

Funciones

I18N

  • Mailer Visualizer se ha internacionalizado. Se agregó la traducción al francés. (ver error 53246 )

General

  • Error 45839 - Acción de prueba: permitir la salida prematura de un bucle
  • Error 52614 : MailerModel.sendMail tiene una forma extraña de calcular la configuración de depuración
  • Error 52782 : agregue un botón de detalle en la tabla de parámetros para mostrar el detalle de una fila
  • Error 52674 - Proxy: agregue un creador de muestras para permitir la conexión de muestras basadas en HTTP utilizando un cuerpo POST potencialmente no textual (AMF, Silverlight, ...) y personalizarlos para otros
  • Error 52934 - GUI: Abra el plan de prueba con el árbol expandido al nivel del plan de prueba y no más y seleccione la raíz del árbol
  • Error 52941 : mejoras en el diseño de informes HTML generados por la tarea adicional JMeter Ant
  • Error 53042 : presenta un nuevo método en la interfaz de Sampler para permitir que Sampler decida si un elemento de configuración se aplica a Sampler
  • Error 52771 - Documentación: se agregó fuente RSS en la página de inicio de JMeter en el enlace "Suscribirse a las novedades"
  • Error 42784 : muestra la cantidad de errores registrados en la GUI
  • Error 53256 : el comando Borrar todo limpia el contenido de LogViewer
  • Error 53261 : agregar el contador "Error/fatal" en el error 42784 para abrir el panel Visor de registro cuando se hace clic en el indicador de advertencia

Cambios no funcionales

  • Actualizado a rhino 1.7R3 (era js-1.7R2.jar). Nota: las coordenadas de Maven para el jar se cambiaron de rhino:js a org.mozilla:rhino. Esto no afecta directamente a JMeter, pero puede causar problemas si se usa JMeter en un proyecto de Maven con otro código que depende de una versión anterior del jar de Javascript de Rhino.
  • Error 52675 : refactorizar Proxy y HttpRequestHdr para permitir la creación de muestras por proxy
  • Error 52680 : Mención de la versión en la que se introdujo la función
  • Error 52788 - HttpRequestHdr: Optimizar código para evitar trabajo inútil
  • La tarea JMeter Ant (ant-jmeter-1.1.1.jar) se actualizó de 1.0.9 a 1.1.1
  • Actualizado a commons-io 2.2 (desde 2.1)
  • Error 53129 : actualice XStream de 1.3.1 a 1.4.2
  • Actualizado a httpcomponents-client 4.1.3 (desde 4.1.2)
  • Guía de pruebas distribuidas de JMeter actualizada (jmeter_distributed_testing_step_by_step.pdf). Cambia el formato fuente a OpenOffice odt (desde sxw)

Versión 2.6

Nuevo y digno de mención

Barra de herramientas

Una nueva barra de herramientas en la ventana principal de JMeter

Botón de inicio de prueba de JMeter

Una nueva opción de menú y un botón permiten iniciar una prueba ignorando los temporizadores de pausa

Aspecto y funcionamiento de la interfaz gráfica de usuario de JMeter

Permitir que se configure System o CrossPlatform LAF desde el menú de opciones

JMeter GUI - nodo duplicado

Agregar "nodo duplicado" en el menú contextual

Vista de árbol de JMeter: función de búsqueda

Funcionalidad para buscar por palabra clave en Samplers Tree View

Solicitud HTTP: panel de solicitud sin procesar

Mejore la GUI de solicitud HTTP para mostrar mejor los parámetros sin nombre (solicitud GWT RPC o solicitud SOAP, por ejemplo)

Solicitud HTTP: otros cambios

  • Permitir selección múltiple en el panel de argumentos
  • Permitir agregar (pegar) entradas desde el portapapeles a una lista de argumentos
  • Capacidad para mover variables hacia arriba o hacia abajo en la solicitud HTTP

Solicitud HTTP: protocolo de archivo

Mejor soporte para archivo: protocolo en muestra HTTP

Recuperar recursos incrustados con archivo: protocolo

Solicitud HTTP - Ignorar recursos incrustados falló

Habilitar "ignorar error" para recursos incrustados

El éxito principal con un recurso incrustado falló

Ver resultados en la tabla: pantalla de muestra secundaria

Agregue la opción a TableVisualiser para mostrar muestras secundarias en lugar de las primarias

Almacén de claves: varios certificados

Permitir varios certificados (JKS)

Mejoras de gráficos agregados

Algunas mejoras en Aggregate Graph Listener:

  • nueva interfaz gráfica de usuario para la configuración
  • tamaño de gráfico dinámico
  • permitir cambiar las fuentes para el gráfico del título y la leyenda
  • permitir cambiar el color de la barra (fondo y valores de texto)
  • permitir dibujar o no contornos de barras
  • permitir seleccionar solo algunas muestras mediante un filtro regexp
  • permite definir la escala máxima del eje Y

Barra de gráficos agregados

Contador - nueva opción de reinicio

Agregue una opción para restablecer el contador en cada iteración del grupo de subprocesos

Funciones

  • Agregue una nueva función __RandomString para generar cadenas aleatorias
  • Agregue una nueva función __TestPlanName que devuelve el nombre del "Plan de prueba" actual
  • Agregue una nueva función __machineIP que devuelve la dirección IP
  • Agregue una nueva función __jexl2 para admitir Jexl2

Mejoras en variables definidas por el usuario

  • Agregar un campo de comentario en Variables definidas por el usuario
  • Permitir agregar (pegar) entradas desde el portapapeles a una lista de argumentos
  • Habilidad para subir o bajar variables en Variables definidas por el usuario

Ver árbol de resultados

En Ver árbol de resultados, en lugar de mostrar solo un mensaje si los resultados son demasiado grandes, muestre la mayor parte del resultado que esté configurado

Controladores - elementos de cambio

Agregue la capacidad de cambiar los elementos del controlador

Preprocesador y posprocesador JDBC

Agregar preprocesador y posprocesador JDBC

Opción de aislamiento de transacciones JDBC

Permitir establecer el aislamiento de transacciones en la configuración de conexión JDBC

Temporizador venenoso

Agregue un temporizador basado en Poisson

Interacción de la GUI y el sistema operativo

Soporte para arrastrar y soltar archivos.

Cuadro de diálogo Confirmar eliminación

Agregar un cuadro de diálogo para confirmar la eliminación de los elementos cuando se llama a la acción Eliminar

El diálogo se puede omitir configurando la propiedad JMeter confirm.delete.skip=true

Soporte de procesamiento por lotes remoto

Use una tienda externa para almacenar muestras durante las pruebas distribuidas. Se agregó un remitente remoto de muestras de DiskStore: como Retener, pero guarda las muestras en el disco hasta el final de la prueba.

Muestra de suscriptor de JMS

Con JMS Subscriber, capacidad de usar selectores

Nuevo panel de registro

Se ha agregado un nuevo Visor de registros a la GUI y se puede habilitar desde el menú Opciones → Visor de registros:

Este Log Viewer muestra el archivo jmeter.log y es útil (por ejemplo) para depurar scripts BeanShell/BSF:

El elemento de menú Opciones / Elegir idioma ahora es completamente funcional

El elemento de menú Opciones / Elegir idioma ahora cambia todo el texto mostrado al nuevo idioma siempre que todos los mensajes estén traducidos. Puede ayudar en esto traduciendo a su idioma.

Se restauró la compatibilidad con los formatos Legacy JMX y JTL Avalon

El soporte para leer/escribir el formato XML Avalon original de archivos JMX (script) y JTL (resultado de muestra) se eliminó en la versión 2.4 de JMeter. JMeter ahora puede volver a leer los archivos de formato Avalon, sin embargo, no hay soporte para guardar archivos en el formato anterior.

Jars de JMeter disponibles en el repositorio de Maven

Los jars de JMeter ahora están disponibles en el repositorio de Maven.

Errores conocidos

El controlador de inclusión tiene algunos problemas en el modo sin GUI (consulte los errores 40671, 41286, 44973, 50898). En particular, puede causar una NullPointerException si hay dos controladores de inclusión con el mismo nombre.

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).

Los oyentes no muestran los recuentos de iteraciones cuando un controlador If tiene una condición que siempre es falsa desde la primera iteración (consulte el error 52496 ). Una solución consiste en agregar un muestreador al mismo nivel que (o superior) al controlador If. Por ejemplo, una muestra de acción de prueba con 0 tiempo de espera (que no genera una muestra), o una muestra de depuración con todos los campos configurados en falso (para reducir el tamaño de la muestra).

Cambios incompatibles

Las versiones de JMeter desde 2.1 no pudieron crear una muestra de contenedor al cargar recursos incrustados. Esto ha sido corregido; aún puede volver al comportamiento del error 51939 configurando la siguiente propiedad: httpsampler.separate.container=false

El servidor espejo ahora usa el puerto predeterminado 8081, era 8080 antes de 2.5.1.

TCP Sampler maneja SocketTimeoutException, SocketException e InterruptedIOException de manera diferente desde 2.6, cuando esto ocurre, Sampler se marca como fallado.

Las implementaciones de Sample Sender ahora resuelven su configuración en el lado del cliente desde 2.6. Este comportamiento se puede cambiar con la propiedad sample_sender_client_configured (establecerlo en falso).

Se eliminó el elemento de prueba del modificador de parámetros de usuario HTTP; ha estado en desuso durante mucho tiempo.

Corrección de errores

Muestreadores HTTP y proxy

  • Error 51932 : CacheManager no maneja el encabezado de control de caché con ningún atributo después de max-age
  • Error 51918 : el tráfico comprimido GZIP produce errores cuando se permiten varias conexiones
  • Error 51939 : debe generar una nueva muestra principal si es necesario al recuperar recursos incrustados
  • Error 51942 : problema de sincronización en CacheManager cuando se utiliza la descarga simultánea
  • Error 51957 : la obtención simultánea puede bloquearse si una tarea no se completa
  • Error 51925 : Calling Stop on Test filtra los subprocesos del ejecutor cuando la descarga simultánea de recursos está activada
  • Error 51980 : HtmlParserHTMLParser cuenta dos veces las imágenes utilizadas en los enlaces
  • Error 52064 : riesgo de falta de memoria en CacheManager
  • Error 51919 - Random ConcurrentModificationException o NoSuchElementException en CookieManager#removeMatchingCookies cuando se usa Descarga simultánea
  • Error 52126 : HttpClient4 no borra las cookies entre iteraciones
  • Error 52129 : el tamaño del cuerpo informado es incorrecto cuando se usa el cliente HTTP 4 y la conexión Keep Alive
  • Error 52137 : problemas con el administrador de caché HTTP
  • Error 52221 : excepción de puntero nulo con el uso de recuperación de recursos incrustados sin el administrador de caché HTTP
  • Error 52310 : la variable en IPSource falló en la solicitud HTTP si "Tamaño de grupo simultáneo" está habilitado
  • Error 52371 - Incompatibilidad de API - Los métodos en HTTPSampler2 ahora requieren PostMethod en lugar de HttpMethod[Base]. Revertido a los tipos originales.
  • Error 49950 - Proxy: IndexOutOfBoundsException al grabar con el servidor Proxy
  • Error 52409 : HttpSamplerBase#errorResult modifica sampleResult pasado como parámetro; corrija el código que asume que se crea una nueva instancia (es decir, al agregar una submuestra)
  • Error 52507 : eliminar el modificador de parámetros de usuario Http (obsoleto, obsoleto)

Otros muestreadores

  • Error 51996 : el contexto inicial de JMS filtra el contexto recién creado cuando varios subprocesos ingresan InitialContextFactory#lookupContext al mismo tiempo
  • Error 51691 : la autorización no funciona para JMS Publisher y JMS Subscriber
  • Error 52036 : la suscripción duradera falla con ActiveMQ debido a que falta el campo de identificación del cliente
  • Error 52044 : el suscriptor JMS utilizado con muchos subprocesos conduce a javax.naming.NamingException: algo ya vinculado con ActiveMQ
  • Error 52072 : LengthPrefixedBinaryTcpClientImpl puede finalizar una muestra prematuramente
  • Error 52390 : AbstractJDBCTestElement: pérdida de memoria y problema de sincronización en perConnCache

Controladores

  • Error 51865 : el bucle infinito dentro del grupo de subprocesos no funciona correctamente si se establece la opción "Iniciar el siguiente bucle después de un error de muestra"
  • Error 51868 : muchas excepciones en jmeter.log al usar la opción "Iniciar el siguiente ciclo" para el hilo
  • Error 51866 : el contador en bucle no funciona correctamente si la opción "Iniciar el siguiente bucle en caso de error" está configurada para el grupo de subprocesos
  • Error 52296 : TransactionController + Children ThrouputController o InterleaveController conduce a ERROR sampleEnd llamado dos veces java.lang.Throwable: Secuencia de llamada no válida cuando TPC no ejecuta sample
  • Error 52330 : con next-Loop-On-Error después de que las muestras de error no se ejecuten en el siguiente bucle

Oyentes

  • Error 52357 : la visualización de resultados en la tabla no permite múltiples muestras de resultados
  • Error 52491 : análisis incorrecto de los parámetros de datos de la publicación en la vista Tree Listener/Http Request

afirmaciones

  • Error 52519 : XMLSchemaAssertion usa JMeter JVM file.encoding en lugar de codificación de respuesta

Funciones

  • El ejemplo de CRLF para la función char estaba mal; CRLF=(0xD,0xA), no (0xC,0xA)

I18N

General

  • Error 51937 : JMeter no maneja bien la entrada faltante de TestPlan
  • Error 51988 : la configuración del conjunto de datos CSV no resuelve el delimitador predeterminado para el análisis del encabezado cuando el campo de variables está vacío
  • Error 52003 : Ver el árbol de resultados "Desplazarse automáticamente" no se desplaza correctamente en caso de que se expandan los nodos
  • Error 27112 : los parámetros de usuario deben usar barras de desplazamiento
  • Error 52029 : el apagado de la línea de comandos solo se envía al último motor que se inició
  • Error 52093 : la información sobre herramientas de la barra de herramientas no cambia de idioma
  • Error 51733 : SyncTimer se estropea si interrumpe un plan de prueba
  • Error 52118 - Nueva barra de herramientas: los botones de apagado y parada no están deshabilitados cuando no se está ejecutando ninguna prueba
  • Error 52125: StatCalculator.addAll (StatCalculator calc) se une incorrectamente si hay más muestras con el mismo tiempo de respuesta en uno de los TreeMap
  • Error 52339 : el modo estadístico JMeter en pruebas distribuidas muestra un tiempo de respuesta incorrecto
  • Error 52215 : sincronización confusa en StatVisualizer, SummaryReport, Summariser y problema en StatGraphVisualizer
  • Error 52216 - TableVisualizer: el campo currentData está mal sincronizado
  • Error 52217 - ViewResultsFullVisualizer: Problemas de sincronización en root y treeModel
  • Error 43294 : problemas con el espacio de nombres de XPath Extractor
  • Error 52224 : TestBeanHelper no admite NOT_UNDEFINED == Boolean.FALSE
  • Error 52279 : al cambiar a otro idioma, se pierden los íconos en el árbol y se registra el error No se puede obtener la clase de GUI de...
  • Error 52280 : el elemento de menú Opciones / Elegir idioma no cambia todo el texto mostrado al nuevo idioma
  • Error 52376 - StatCalculator#addValue(T val, int sampleCount) debe usarse long, no int
  • Error 49374 : la codificación de URL de elementos incrustados depende de la propiedad file.encoding
  • Error 52399 : URLRewriteModifier usa file.encoding predeterminado para hacer coincidir el contenido de texto
  • Error 50438 : el código calcula el promedio con matemáticas enteras, esperando un valor doble
  • Error 52469 : cambios en la compatibilidad con SSH-Tunneling de tráfico RMI para pruebas remotas
  • Error 52466 : característica del plan de prueba de actualización: NameUpdater no actualiza las propiedades
  • Error 52503 - Comportamiento de guardado de archivo de Unificar archivo→Cerrar y cerrar ventana
  • Error 52537 : la ayuda no se desplaza para corregir el ancla cuando el archivo se carga por primera vez

Mejoras

Muestreadores HTTP

  • Error 51981 - Mejor soporte para archivo: protocolo en muestra HTTP
  • Error 52033 : Permitir varios certificados (JKS)
  • Error 52352 - Proxy: compatibilidad con la captura de URL de IPv6
  • Error 44301 : Habilitar "ignorar error" para recursos integrados

Otros muestreadores

  • Error 51419 - Suscriptor de JMS: capacidad de usar selectores
  • Error 52088 - JMS Sampler: agregar un selector cuando se elige SOLICITUD / RESPUESTA
  • Bug 52104 - TCP Sampler maneja mal los errores
  • Error 52087 : la interfaz TCPClient no permite lecturas parciales
  • Error 52115 : SOAP/XML-RPC no debe enviar una solicitud POST cuando no se encuentra el archivo para enviar
  • Error 40750 : TCPSampler: Comportamiento cuando el host remoto cierra los sockets
  • Error 52396 : el muestreador TCP en "modo de conexión de reutilización" reutiliza la conexión del muestreador anterior incluso si está configurado con otro host, puerto, usuario o contraseña
  • Error 52048 : BSFSampler, BSFPreProcessor y BSFPostProcessor deben compartir la misma GUI

Controladores

Oyentes

  • Error 52022 : en el árbol de resultados de la vista, en lugar de mostrar solo un mensaje si los resultados son demasiado grandes, muestra la mayor parte del resultado configurado
  • Error 52201 : se agregó una opción a TableVisualiser para mostrar muestras secundarias en lugar de muestras principales
  • Error 52214 - Guardar respuestas en un archivo - mejorar el algoritmo de nomenclatura
  • Error 52340 : permitir que el modo de muestreo remoto se cambie en tiempo de ejecución
  • Error 52452 : mejoras en el escucha gráfico agregado (GUI y configuración)
  • OldSaveService resucitado para permitir la lectura de archivos JTL (resultados) en formato Avalon

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 52128 : agregar preprocesador y posprocesador JDBC
  • Error 52183 : SyncTimer podría mejorarse (rendimiento + confiabilidad)
  • Error 52317 - Contador: Agregar opción para restablecer el contador en cada iteración de grupo de subprocesos
  • Error 37073 : agregar un temporizador basado en Poisson
  • Error 52497 : mejora de DebugSampler y DebugPostProcessor

Funciones

  • Error 52006 : crea una función RandomString para generar cadenas aleatorias
  • Error 52016 : sería útil admitir Jexl2
  • La función __char() ahora admite valores octales
  • Nueva función __machineIP que devuelve la dirección IP
  • Error 51091 : nueva función que devuelve el nombre del "Plan de prueba" actual

I18N

General

  • Error 51892 : el puerto espejo predeterminado debe ser diferente del puerto proxy predeterminado
  • Error 51817 : mover variables hacia arriba y hacia abajo en el control de variables definidas por el usuario
  • Error 51876 - Funcionalidad para buscar en Samplers TreeView
  • Error 52019 : se agregó una opción de menú para iniciar una prueba ignorando los temporizadores de pausa
  • Error 52027 : Permitir que se configure System o CrossPlatform LAF desde el menú de opciones
  • Error 52037 : recuerde el LaF configurado por el usuario durante los reinicios.
  • Error 51861 : mejore la GUI de solicitud HTTP para mostrar mejor los parámetros sin nombre (solicitudes GWT RPC, por ejemplo) (EN DESARROLLO)
  • Error 52040 : agregar una barra de herramientas en la ventana principal de JMeter
  • Error 51816 : campo de comentario en el control de variables definidas por el usuario.
  • Error 52052 : uso de un delimitador para separar los mensajes de resultados para el suscriptor de JMS
  • Error 52103 : agregar la opción de desplazamiento automático al visualizador de tablas
  • Error 52097 : Guardar como debe apuntar a la misma carpeta que se usó para abrir un archivo si se usa la lista MRU
  • Error 52085 : permitir selección múltiple en el panel de argumentos
  • Error 52099 : permitir establecer el aislamiento de transacciones en la configuración de conexión JDBC
  • Error 52116 : permitir agregar (pegar) entradas desde el portapapeles a una lista de argumentos
  • Error 52160 : no mostrar los elementos de TestBeanGui que están marcados como ocultos
  • Error 51886 : la configuración de SampleSender se resolvió en parte en el cliente y en parte en el servidor
  • Error 52161 : habilite complementos para agregar reglas de traducción propias además de upgrade.properties. Carga cualquier propiedad adicional que se encuentre en los archivos META-INF/resources/org.apache.jmeter.nameupdater.properties
  • Error 42538 : agregar "nodo duplicado" en el menú contextual
  • Error 46921 : agregar la capacidad de cambiar los elementos del controlador
  • Error 52240 : TestBeans debería ser compatible con valores booleanos, enteros y largos
  • Error 52241 : GenericTestBeanCustomizer asume que el valor predeterminado es la cadena vacía
  • Error 52242 : FileEditor no permite que la salida se guarde en un archivo
  • Error 51093 : al cargar una selección previamente almacenada en "Guardar selección como", muestra el nombre del archivo en la barra de la ventana azul
  • Error 50086 : los campos de contraseña no están ocultos en JMS Publisher, JMS Subscriber, Mail Reader sampler, SMTP sampler y Database Configuration
  • Error 29352 : use una tienda externa para almacenar muestras durante las pruebas distribuidas. Se agregó un remitente remoto de muestras de DiskStore: como Retener, pero guarda las muestras en el disco hasta el final de la prueba.
  • Error 52333 : reduce la sobrecarga al calcular SampleResult#nanoTimeOffset
  • Error 52346 : el apagado detecta si quedan subprocesos que no sean demonios que impidan la salida de JVM.
  • Error 52281 : soporte para arrastrar y soltar archivos
  • Error 52471 : mejore el rendimiento del servidor espejo mediante el uso de un conjunto de subprocesos en lugar de iniciar un subproceso para cada solicitud
  • OldSaveService resucitado para permitir la lectura de archivos JMX en formato Avalon (eliminado en 2.4)
  • Agregar un cuadro de diálogo para confirmar la eliminación de los elementos cuando se llama a la acción Eliminar
  • Error 41788 : se necesita el visor de registros (ventana de la consola) como opción
  • Agregue la opción para cambiar el tiempo de pausa (predeterminado 2000 ms) en el subproceso del daemon que verifica la salida exitosa de JVM. El subproceso no se inicia ahora a menos que el tiempo de pausa sea mayor que 0.

Cambios no funcionales

  • correcciones a build.xml: scripts de soporte; localizar nombres de propiedades reutilizables
  • Bug 51923 - ¿Error de función de contador o problema de documentación? (documentos fijos)
  • Actualice la velocidad.jar a 1.7 (desde 1.6.2)
  • Actualice js.jar a 1.7R3 (desde 1.6R5)
  • Actualizar commons-códec 1.5 ⇒ 1.6
  • Actualizar commons-io 2.0.1 ⇒ 2.1
  • Actualizar commons-jexl 2.0.1 ⇒ 2.1.1
  • Actualizar jdom 1.1 ⇒ 1.1.2
  • Actualización junit 4.9 ⇒ 4.10
  • Error 51954 : los documentos generados incluyen </br> entradas que provocan líneas en blanco adicionales
  • Error 52075 : JMeterProperty.clone() actualmente devuelve Object; debería devolver JMeterProperty
  • httpcore actualizado a 4.1.4
  • Error 49753 : publique los artefactos de jMeter en el repositorio central de Maven

Versión 2.5.1

Resumen de los principales cambios

  • El muestreador HttpClient4 ahora reutiliza las conexiones correctamente (anteriormente usaba una por muestra, lo que podía provocar el agotamiento rápido de los recursos).
  • Varias correcciones a los muestreadores JMS
  • Las funciones ya no se invocan falsamente cuando se usan con un elemento de configuración
  • La GUI del muestreador de WebService se ha reorganizado para un mejor diseño y una mayor facilidad de uso. Algunas mejoras en el asistente de configuración de WSDL
  • Mejor manejo del apagado de prueba. System.exit ahora solo se llama si no hay otra opción; incluso esto se puede desactivar.

Errores conocidos

El controlador de inclusión tiene algunos problemas en modo no GUI. En particular, puede causar una NullPointerException si hay dos controladores de inclusión con el mismo nombre.

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o claramente especificado).

El controlador If puede causar un bucle infinito si la condición siempre es falsa desde la primera iteración. Una solución consiste en agregar un muestreador al mismo nivel que (o superior) al controlador If. Por ejemplo, una muestra de acción de prueba con 0 tiempo de espera (que no genera una muestra), o una muestra de depuración con todos los campos configurados en falso (para reducir el tamaño de la muestra).

El elemento de menú Opciones / Elegir idioma no cambia todo el texto mostrado al nuevo idioma. [El comportamiento ha mejorado, pero el cambio de idioma aún no funciona completamente] Para anular completamente el idioma local predeterminado, configure la propiedad "idioma" de JMeter antes de iniciar JMeter.

Cambios incompatibles

Los muestreadores HttpClient4 y Commons HttpClient 3.1 anteriormente usaban un recuento de reintentos de 3. Esto se ha cambiado a 1 por defecto, para que sea compatible con la implementación de Java. El recuento de reintentos se puede anular configurando la propiedad JMeter relevante, por ejemplo:

httpclient4.retrycount=3
httpclient3.retrycount=3

Corrección de errores

Muestreadores HTTP y proxy

  • Corrija la muestra de HttpClient 4 para que reutilice las instancias y conexiones de HttpClient cuando sea posible.
  • Corrección temporal de la muestra HC4 para solucionar HTTPCLIENT-1120.
  • Error 51863 : muchas conexiones ESTABLECIDAS con la implementación de HttpClient 4 (vs HttpClient 3.1 impl)
  • Error 51750 : recuperar todos los recursos incrustados no sigue IFRAME
  • Error 51752 : la memoria caché HTTP se rompe al usar "Recuperar todos los recursos incrustados" con un grupo simultáneo
  • Error 39219 - Servidor HTTP: no puede detenerlo después de Archivo→Abrir
  • Error 51775 : el número de puerto se duplica en el encabezado del host cuando se captura con HttpClient (3.1 y 4.x)
  • Error 50617 : la leyenda de los resultados del monitor muestra un servidor "inactivo", aunque se recuperan los valores del servidor

Otros muestreadores

  • Error 50424 : el cuadro de lista desplegable Métodos web no es coherente
  • Error 43293 : los campos de solicitud de Java no se borran al crear una nueva muestra
  • Error 51830 : la solicitud Soap del servicio web activa demasiadas ventanas emergentes cuando la URL WSDL del servicio web está inactiva
  • Solicitud de servicio web (SOAP): agregue un tiempo de espera de conexión para obtener el wsdl utilizado para completar los métodos web cuando el servidor no responde
  • Error 51841 - JMS: si se produce un error en el editor o el editor de ReceiveSubscriber, las conexiones permanecerán abiertas
  • Error 51691 : la autorización no funciona para JMS Publisher y JMS Subscriber
  • Error 51840 - JMS: la memoria caché de InitialContext tiene algunos problemas
  • Error 47888 : JUnit Sampler reutiliza el objeto de prueba

Controladores

  • If Controller: se corrigieron dos regresiones introducidas por el error 50032 (consulte también el error 50618 )
  • Si el controlador: detecta un StackOverflowError cuando una condición siempre devuelve falso (después de al menos una iteración con retorno verdadero) Consulte el error 50618
  • Error 51869 : excepción de NullPointer al usar el controlador de inclusión

Oyentes

afirmaciones

Funciones

  • Error 48943 : las funciones se invocan veces adicionales cuando se usan en combinación con un elemento de configuración

I18N

  • Solicitud de servicio web (SOAP): agregue I18N para algunas etiquetas

General

  • Error 51831 : no se puede deshabilitar el servidor UDP o cambiar el puerto UDP máximo
  • Error 51821 : agregar acceso directo para habilitar/deshabilitar (sub)árbol o ramas en el plan de prueba.
  • Error 47921 : las variables no se publican para GC después de que JMeterThread sale.
  • Error 51839 - "... fin de ejecución" impreso prematuramente
  • Error 51847 : algunas pruebas JUnit son sensibles a la configuración regional y fallan si la configuración regional es diferente de EE. UU.
  • Error 51855 : las muestras principales pueden tener tiempos transcurridos ligeramente imprecisos
  • Error 51880 : el comando de apagado no funciona si lo invoco antes de que se inicie todo el subproceso
  • El elemento del menú del host de cierre remoto no se estaba habilitando.
  • Error 51888 : interbloqueo ocasional al detener un plan de prueba

Mejoras

Muestreadores HTTP

  • Error 51380 : controle la reutilización del contexto SSL almacenado en caché de una iteración a otra
  • Error 51882 : HTTPHC3Client usa un recuento de reintentos predeterminado de 3, hágalo configurable; el valor predeterminado ahora es 1
  • Cambie el recuento predeterminado de reintentos de muestra de HttpClient 4 a 1

Otros muestreadores

  • Beanshell Sampler ahora es compatible con la interfaz interrumpible
  • Error 51605 - Solicitud de servicio web (SOAP): el valor del campo WebMethod cambia subrepticiamente para todas las solicitudes cuando se selecciona un valor en una solicitud
  • Solicitud de servicio web (SOAP): GUI reorganizada para un mejor diseño y más facilidad de uso

Controladores

Oyentes

  • Error 42246 : se necesita una opción de 'desplazamiento automático' en "Ver árbol de resultados" y "Resultados de aserción"
  • Ver árbol de resultados: Regexp Tester - pequeñas mejoras en la interfaz de usuario

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 51885 : permitir una variable JMeter como entrada para XPathExtractor

Funciones

I18N

General

  • Error 51822 - (parte 1) guardar 1 invocación de GuiPackage#getCurrentGui
  • Se agregó AsynchSampleSender, que envía muestras del servidor al cliente de forma asíncrona.
  • Actualizado a htmlparser 2.1; Java Mail 1.4.4; JUnit 4.9

Cambios no funcionales

  • Error 49976 : la visibilidad de FormCharSetFinder es predeterminada en lugar de pública.
  • Error 50917 : propiedad CookieManager.save.cookies no respetada cuando se establece desde el plan de prueba
  • Mejore el registro de errores cuando se detectan errores de Javascript.
  • Pie de página de documentación actualizado

Versión 2.5

Resumen de los principales cambios

  • La implementación de HTTP ahora se puede seleccionar en tiempo de ejecución, y JMeter ahora también es compatible con Apache HttpComponents HttpClient 4.x. Tenga en cuenta que Commons HttpClient 3.1 ya no se desarrolla activamente y es posible que se elimine el soporte de JMeter en una versión futura.
  • La muestra HTTP ahora permite descargas simultáneas de recursos incrustados en una página HTML
  • HTTP Sampler ahora puede informar el tamaño de una solicitud antes de la descompresión.
  • Se han mejorado las muestras de JMS y Mail.
  • El nuevo Test Fragment Test Element facilita el uso de los controladores de inclusión
  • Hay varias mejoras en el escucha del árbol de resultados de vista.
  • Error 30563 : el grupo de subprocesos debe tener una opción de inicio del siguiente bucle en el error de muestra
  • Hay dos nuevos tipos de grupos de subprocesos: configuración y desmontaje, que se ejecutan antes y después de los grupos de subprocesos principales.
  • El modo Cliente-Servidor ahora admite la detención/apagado externo a través de UDP
    . Se pueden iniciar varias instancias del servidor JMeter en el mismo host sin necesidad de cambiar la propiedad del puerto.
  • Error 50516 : el encabezado "Host" en el Administrador de encabezado HTTP no está incluido en la solicitud HTTP generada

Errores conocidos

El controlador de inclusión tiene algunos problemas en modo no GUI. En particular, puede causar una NullPointerException si hay dos controladores de inclusión con el mismo nombre.

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o está claramente especificado).

El elemento de menú Opciones / Elegir idioma no cambia todo el texto mostrado al nuevo idioma. [El comportamiento ha mejorado, pero el cambio de idioma aún no funciona completamente] Para anular completamente el idioma local predeterminado, configure la propiedad "idioma" de JMeter antes de iniciar JMeter.

Cambios incompatibles

El muestreador Commons HttpClient ya no convierte los métodos no admitidos a GET.

Se eliminó el método public static long currentTimeInMs(). Esto ha sido reemplazado por el método de instancia public long currentTimeInMillis().

ProxyControl.getSamplerTypeName() ahora devuelve una cadena en lugar de un int. Esto es interno para el funcionamiento de JMeter Proxy y su GUI, por lo que no debería afectar ningún código de usuario.

Corrección de errores

Muestreadores HTTP y proxy

  • Error 50178 : HeaderManager agregado como hijo de Thread Group puede crear nombres de HeaderManager concatenados y OutOfMemoryException
  • Error 50392 : el valor se recorta al enviar la solicitud en Multipart
  • Error 50686 : registro de HeaderManager demasiado detallado al fusionar instancias
  • Error 50963 : AjpSampler lanza java.lang.StringIndexOutOfBoundsException
  • Error 50516 : el encabezado "Host" en el Administrador de encabezado HTTP no está incluido en la solicitud HTTP generada
  • Error 50544 : en Apache Common Log, las solicitudes HEAD causan problemas.
  • Error 51268 : la solicitud HTTPS a través de un proxy no válido genera una excepción NullPointerException y no se muestra en el árbol de resultados. En lugar de delegar al controlador de subprocesos JMeter para fallas "inesperadas", asegúrese de que todas las excepciones generen un error de muestra.
  • Error 51275 : Panel de cookies clearGui() establece una política predeterminada incorrecta en Java 1.6

Otros muestreadores

  • Error 50173 : JDBCSampler descarta ResultSet de una declaración preparada
  • Asegúrese de que JSR223 Sampler tenga acceso al SampleResult actual
  • Error 50977 : no se puede configurar TCP Sampler para muestras individuales

Controladores

  • Error 50032 : Last_Sample_Ok junto con otros controladores no funciona correctamente cuando el grupo de subprocesos tiene varios bucles
  • Error 50080 : el controlador de transacciones crea muestras incorrectamente, incluida la duración del temporizador
  • Error 50134 : TransactionController: informa un mal tiempo de respuesta cuando contiene otros TransactionControllers

Oyentes

  • Error 50367 : Borrar/Borrar todo en Ver árbol de resultados no borra el elemento seleccionado

afirmaciones

Funciones

  • Error 50568 - Función __FileToString(): No se pudo leer el archivo cuando la opción de codificación está en blanco/vacía

I18N

General

  • Error 49734 : excepción de puntero nulo en el comando detener subprocesos (Ejecutar → Detener)
  • Error 49666 : el encabezado CSV se lee como datos después de EOF
  • Error 45703 - Temporizador de sincronización
  • Error 50088 : corrige getAvgPageBytes en SamplingStatCalculator para que devuelva lo que debería
  • Error 50203 No se puede establecer la propiedad "jmeter.save.saveservice.default_delimiter=\t"
  • mirror-server.sh - corregir classpath para usar: separador (no;)
  • Error 50286 - Modificador de reescritura de URL: el valor jsessionid extraído es incorrecto cuando está entre etiquetas XML
  • System.nanoTime() tiende a desviarse en relación con System.currentTimeMillis(). Cambie SampleResult para volver a calcular el desplazamiento cada vez. También habilite la reversión al uso de System.currentTimeMillis() solamente.
  • Error 50425 : eliminar grupos de subprocesos del menú Agregar controlador
  • Error 50675 : la configuración del conjunto de datos de CVS es incompatible con el inicio remoto Arreglado el inicio de RMI para proporcionar la ubicación del archivo JMX en relación con user.dir.
  • Error 50221 : cambiar el nombre de los elementos en el árbol no cambia el tamaño de la etiqueta
  • Error 51002 - Detener subproceso si el archivo CSV no está disponible. JMeter ahora trata IOError como EOF.
  • Defina sun.net.http.allowRestrictedHeaders=true de forma predeterminada. Esto corrige el error 51238 .
  • Error 51645 : CSVDataSet no lee archivos UTF-8 cuando file.encoding es UTF-8

Mejoras

Muestreadores HTTP

  • AJP Sampler ahora implementa Interruptible
  • Permitir que la implementación de HTTP se seleccione en tiempo de ejecución
  • Error 50684 : Opcionalmente, deshabilite el tipo de contenido y la codificación de transferencia en POST de varias partes
  • Error 50943 : permitir descargas simultáneas de recursos incrustados en la página html
  • Error 50170 : los bytes notificados por http sampler son posteriores a GUnZip
    Agregue propiedades opcionales para permitir cambiar el método para obtener el tamaño de respuesta
  • Ocultar la contraseña del proxy en HTTP Sampler (solo en la GUI, no en el archivo JMX)

Otros muestreadores

  • Error 49622 : permitir el envío de mensajes sin asunto (muestra SMTP)
  • Error 49603 : permitir la aceptación de certificados caducados en Mail Reader Sampler
  • Error 49775 : permitir el envío de mensajes sin cuerpo
  • Error 49862 : mejora la salida de la solicitud SMTPSampler.
  • Error 50268 : agrega destinos estáticos y dinámicos a JMS Publisher
  • Suscriptor JMS - Agregar destino dinámico
  • Error 50666 - JMSSubscriber: soporte para suscripciones duraderas
  • Error 50937 : TCP Sampler no proporciona / respeta el tiempo de espera de conexión
  • Error 50569 : Jdbc Request Sampler para almacenar opcionalmente datos de objetos de conjuntos de resultados
  • Error 51011 - Lector de correo: al fallar la autenticación, diga lo que intentó

Controladores

  • Error 50475 : introducción de un elemento de prueba de fragmento de prueba para un mejor flujo de inclusión

Oyentes

  • Ver árbol de resultados: agregue un cuadro de texto de diálogo en "Pestaña de resultados de muestra → Analizado" para mostrar el valor largo con un doble clic en la celda
  • Error 37156 : vista formateada de la solicitud en el árbol de resultados
  • Error 49365 : permitir que el conjunto de resultados se escriba en un archivo en una ruta relativa al script cargado
  • Error 50579 : el recuento de errores es largo, el recuento de muestras es int. Cambió el recuento de muestras a largo.
  • Ver árbol de resultados: agregue nuevos campos de tamaño: encabezados de respuesta y cuerpo de respuesta (en bytes), derivado del error 43363

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 48015 : Propuesta de nuevos iconos para elementos de preprocesador, posprocesador y aserción
  • Error 50962 : la validación de SizeAssertionGui impide el uso de variables para el tamaño
  • Aserción de tamaño: agregue el alcance del tamaño de la respuesta (completo, encabezados, cuerpo, código, mensaje), derivado del error 43363

Funciones

  • Error 49975 : nueva función que devuelve el nombre de la muestra actual

I18N

  • Agregue traducción al francés para las nuevas etiquetas y reduzca el tamaño de algunas etiquetas (por abreviatura) en HTTP Sample

General

  • Error 30563 : el grupo de subprocesos debe tener una opción de inicio del siguiente bucle en el error de muestra
  • Error 50347 : las instrucciones de configuración de Eclipse deberían recordar al usuario que descargue archivos jar dependientes
  • Error 50490 : mejoras en la configuración y el grupo de subprocesos posteriores para un mejor flujo de prueba.
  • Todos los elementos de prueba de BeanShell ahora tienen definidas las variables de script "prev" y "Label".
  • Error 50708 : el orden de los archivos Classpath en NewDriver no es alfabético
  • Error 50659 : el servidor JMeter no admite pruebas simultáneas: evita que el cliente inicie otra
  • Funcionalidad de apagado remoto agregada
  • El motor JMeter del cliente ahora admite parada/apagado externo a través de UDP
  • El apagado de UDP ahora puede usar una variedad de puertos, desde jmeterengine.nongui.port=4445 hasta jmeterengine.nongui.maxport=4455, lo que permite varias instancias de JMeter en el mismo host sin necesidad de cambiar la propiedad del puerto.
  • Actualizado a httpcore 4.1.3 y httpclient 4.1.2

Cambios no funcionales

  • Error 50008 : permitir que BatchSampleSender se subclasifique
  • Error 50450 : use la copia de System.array en el solucionador jacobi ya que, al ser nativo, es más eficaz.
  • Error 50487 : runSerialTest verifica objetos que nunca necesitan persistir
  • Use Thread.setDefaultUncaughtExceptionHandler() en lugar de ThreadGroup privado
  • Actualizar a Commons Net 3.0

Versión 2.4

Resumen de los principales cambios

  • JMeter ahora requiere al menos Java 1.5.
  • El proxy HTTP ahora puede grabar sesiones HTTPS.
  • JUnit sampler ahora admite anotaciones JUnit4.
  • Se agregaron elementos de prueba JSR223 (javax.script).
  • MailReader Sampler ahora puede usar cualquier protocolo compatible con la implementación subyacente.
  • Se ha agregado un muestreador SMTP.
  • JMeter ahora permite a los usuarios proporcionar sus propias implementaciones de Thread Group.
  • Ver el árbol de resultados ahora admite más opciones de visualización, incluida la búsqueda y la prueba Regex.
  • El rendimiento de StatCalculator ha mejorado mucho; El informe agregado, etc. necesita mucha menos memoria.
  • Las muestras de JMS se han rediseñado ampliamente y ya no deberían perder mensajes. Se mejora el procesamiento de correlación. JMS Publisher y Subscriber ahora admiten tanto temas como colas.
  • Se han realizado muchas otras mejoras, consulte a continuación y en el manual.

Errores conocidos

El controlador de inclusión tiene algunos problemas en modo no GUI. En particular, puede causar una NullPointerException si hay dos controladores de inclusión con el mismo nombre.

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o está claramente especificado).

El elemento de menú Opciones / Elegir idioma no cambia todo el texto mostrado al nuevo idioma. [El comportamiento ha mejorado, pero el cambio de idioma aún no funciona completamente] Para anular completamente el idioma local predeterminado, configure la propiedad "idioma" de JMeter antes de iniciar JMeter.

Cambios incompatibles

El redireccionamiento HTTP ahora está predeterminado en "Seguir redireccionamientos" en lugar de "Redireccionar automáticamente". Esto es para permitir que JMeter rastree las cookies que pueden enviarse durante los redireccionamientos. Esto no afecta los planes de prueba existentes; solo afecta el valor predeterminado para las nuevas muestras HTTP.

El formato de archivo Avalon para archivos JMX y JTL ya no es compatible. Cualquiera de estos archivos deberá convertirse leyéndolos en JMeter 2.3.4 y volviéndolos a guardar.

Los elementos XPath Assertion y XPath Extractor ya no obtienen DTD externos de forma predeterminada; esto se puede cambiar en la GUI.

JMSConfigGui ha sido renombrado como JMSSamplerGui. Esto no afecta los planes de prueba existentes.

El constructor público SampleResult(SampleResult res) se ha cambiado para convertirse en un verdadero "constructor de copias". Ya no llama a addSubResult(). Es posible que esto afecte a algunos complementos de terceros.

Corrección de errores

Muestreadores HTTP y proxy

  • Error 47445 : el uso de Proxy con cookies seguras de suplantación de https debe estar desprotegido
  • Error 47442 : Falta el reemplazo de https por http para ciertas condiciones usando https-spoofing
  • Error 48451 : error en: SoapSampler.setPostHeaders (PostMethod post) en la rama else
  • Error 48542 : SoapSampler usa un campo de encabezado de respuesta incorrecto para decidir si la respuesta está codificada con gzip
  • Error 48568 : CookieManager roto para AjpSampler
  • Error 48570 : AjpSampler no admite parámetros de consulta (GET/POST)
  • Error 46901 : HTTP Sampler no procesa las referencias de var/func correctamente en el primer parámetro de archivo
  • Error 43678 : ¿manejar el conjunto de caracteres http-equiv de la etiqueta META?
  • Error 49294 : las imágenes no se descargan de las páginas redirigidas
  • Error 49560 : "tamaño en bytes" incorrecto al seguir redirecciones

Otros muestreadores

  • Error 47420 : la solicitud extendida de LDAP no cierra las conexiones durante la solicitud de adición
  • Error 48573 : manejo del contexto del directorio LDAPExtSampler
  • Error 47870 : JMSSubscriber falla debido a NPE
  • Error 47899 : NullPointerExceptions en el constructor JMS ReceiveSubscriber
  • Error 48144 : NPE en JMS OnMessageSubscriber
  • Error 47992 - Solicitud JMS punto a punto - La opción de respuesta no funciona
  • Error 48579 : Single Bind no muestra información de configuración cuando se accede a LdapExt Sampler
  • Error 49111 : error "Mensaje con ID no encontrado" en el muestreador JMS P2P.
  • Error 47949 : el suscriptor de JMS nunca recibe todos los mensajes
  • Error 46142 : problemas de correlación punto a punto de JMS
  • Error 48747 : TCP Sampler traga excepciones
  • Error 48709 : la configuración de TCP Sampler Config "nombre de clase" no tiene efecto

Controladores

  • Error 47385 : TransactionController debe configurar AllThreads y GroupThreads
  • Error 47940 : el controlador del módulo crea incorrectamente el subárbol de reemplazo
  • Error 47592 : ejecutar grupos de subprocesos consecutivamente con "Detener prueba" en caso de error, JMeter no marcará como terminado
  • Error 48786 - Ejecutar grupos de subprocesos consecutivamente: con "Detener prueba ahora" en caso de error o detención manual, JMeter deja el cuadro verde activo
  • Error 48727 : no se puede detener la prueba si todos los grupos de subprocesos están deshabilitados

Oyentes

  • Error 48603 : Mailer Visualiser envía dos correos electrónicos para una sola respuesta fallida
  • Cálculo correcto de min/max/std.dev para muestras agregadas (Informe resumido)
  • Error 48889 : tiempo de respuesta incorrecto con mode=Statistical y num_sample_threshold > 1
  • Error 47398 : los eventos de muestra se envían dos veces a través de RMI en pruebas distribuidas y modo no gui

afirmaciones

Funciones

I18N

General

  • Error 47646 : NullPointerException en el elemento "Variable aleatoria"
  • No permitir agregar ningún elemento secundario a la configuración de JDBC
  • BeanInfoSupport ahora almacena en caché getBeanDescriptor(): debe evitar un NPE en JVM que no sean de Sun cuando se usa CSVDataSet (y algunos otros TestBeans)
  • Error 48350 : interbloqueo en pruebas distribuidas con 2 clientes
  • Error 48901 : espera interminable al agregar el temporizador de sincronización
  • Error 49149 : el manual de usuario/index.html tiene un error tipográfico en el enlace a la página "Expresiones regulares"
  • Error 49394 : excepción Classcast en ActionRouter.postActionPerformed
  • Error 48136 : faltan archivos esenciales en el tarball de origen.
    Los archivos de origen ahora contienen todos los archivos de origen, incluidos los archivos de origen que anteriormente solo se proporcionaban en los archivos binarios.
  • Error 48331 : XpathExtractor no devuelve representaciones de cadenas XML para un conjunto de nodos

Mejoras

Muestreadores HTTP

  • Error 47622 : habilitar la grabación de sesiones HTTPS
  • Permitir que el servidor proxy se especifique en la GUI de HTTP Sampler y la GUI de HTTP Config
  • Error 47461 : actualizar el administrador de caché para manejar el encabezado HTTP Expires
  • Error 48153 : soporte para encabezados Cache-Control y Expires
  • Error 47946 : el proxy debería habilitar la agrupación dentro de un controlador de transacciones
  • Error 48300 : permitir la anulación de la dirección IP de origen para solicitudes HTTP HttpClient
  • Error 49083 : colapsar '/pathsegment/..' en URL de redirección

Otros muestreadores

  • JUnit sampler ahora admite pruebas JUnit4 (usando anotaciones)
  • Error 47900 : permitir que se interrumpa JMS SubscriberSampler
  • Muestreador JSR223 agregado
  • Error 47556 : el campo de tiempo de espera de JMS-PointToPoint-Sampler debe usar cadenas
  • Error 47947 : Mail Reader Sampler debe permitir que se anule el puerto
  • Bug 48155 - Múltiples problemas/mejoras con las clases de protocolo JMS
  • Permitir que la muestra de MailReader use protocolos arbitrarios
  • Error 45053 : muestreador SMTP para JMeter
  • Error 49552 : Agregar encabezados de mensajes en SMTPSampler
  • JMS Publisher y Subscriber ahora admiten tanto temas como colas. Se agregó el tiempo de espera de lectura al suscriptor de JMS. Limpieza general del código JMS.

Controladores

  • Error 47909 : TransactionController debe sumar la latencia
  • Error 41418 : Excluir la duración del temporizador del tiempo de ejecución de Transaction Controller en el informe
  • Error 48749 : permitir grupos de subprocesos personalizados
  • Error 43389 : permitir que se encuentren archivos de inclusión en relación con el archivo JMX actual

Oyentes

  • Se agregó el remitente DataStrippingSample: admite los modos "Stripped" y "StrippedBatch".
  • Visualizador de afirmación de comparación agregado
  • Error 47907 : mejoras (mejoras e I18N) aserción de comparación y visualizador de comparación
  • Error 36726 : agregar función de búsqueda a Tree View Listener
  • Error 47869 : capacidad para limpiar campos de SampleResult
  • Error 47952 - Agregado oyente JSR223
  • Error 47474 : compatibilidad con el árbol de resultados de vista para renderizadores de complementos
  • Permitir que el tiempo de inactividad se guarde en archivos de registro de muestra
  • Error 48259 : mejora el rendimiento de StatCalculator mediante el uso de TreeMap
  • Los oyentes que utilizan SamplingStatCalculator tienen necesidades de memoria mucho más reducidas, ya que la caché de muestras se ha movido a la nueva clase CachingStatCalculator. En particular, Aggregate Report ahora puede manejar una gran cantidad de muestras.
  • El informe agregado y el informe resumido ahora permiten que los encabezados de columna se excluyan opcionalmente
  • Error 49506 : agregue la extensión de archivo .csv en el cuadro de diálogo abierto desde la funcionalidad "leer del archivo" de los oyentes
  • Error 49545 : vista formateada (analizado) del resultado de la muestra en el árbol de resultados

Temporizadores, aserciones, configuración, preprocesadores y posprocesadores

  • Error 47338 : XPath Extractor fuerza la recuperación del documento DTD
  • Aserción de comparación añadida
  • Error 47952 : se agregó el preprocesador y el posprocesador JSR223
  • Añadida aserción JSR223
  • Se agregaron el temporizador BSF y el temporizador JSR223
  • Error 48511 : agregar padre, hijo, todas las selecciones al extractor de expresiones regulares
  • Agregue la selección de alcance de Sampler a XPathExtractor
  • El extractor de expresiones regulares, la aserción de respuesta y la aserción de tamaño ahora se pueden aplicar a una variable JMeter
  • Error 46790 : la configuración del conjunto de datos CSV debería poder analizar encabezados CSV

Funciones

I18N

  • Error 47938 - Agregar algunas traducciones al francés para nuevos elementos
  • Error 48714 : agregar nuevos mensajes en francés

General

  • Error 47223 : rendimiento lento del informe agregado (StatCalculator)
  • Error 47980 : el nombre de host se resuelve en 127.0.0.1: no es posible especificar la IP
  • Error 47943 : DisabledComponentRemover no se usa en la clase de inicio
  • Clase HeapDumper para la generación de volcados en tiempo de ejecución
  • Implementación básica del proveedor JavaMail de solo lectura para leer archivos de correo sin formato
  • Error 49540 - Ordenar los menús "Agregar" alfabéticamente

Cambios no funcionales

  • Los archivos jar Beanshell, JavaMail y JMS API (Apache Geronimo) ahora se incluyen en el archivo binario.
  • Agregar compatibilidad con el editor de tablas TestBean
  • Se eliminaron todas las bibliotecas externas de SVN; agregado download_jars Ant target
  • Se actualizaron varios archivos jar:
    • Concha de Frijol - 2.0b4 ⇒ 2.0b5
    • Códec común - 1.3 ⇒ 1.4
    • Colecciones comunes - 3.2 ⇒ 3.2.1
    • JTidy ⇒ r938
    • JUnit - 3.8.2 ⇒ 4.8.1
    • Registro - 1.2 ⇒ 2.0
    • Serializador Xalan = 2.7.1 (anteriormente mostrado erróneamente como 2.9.1)
    • Xerces xml-apis = 1.3.04 (anteriormente mostrado erróneamente como 2.9.1)
    • Se cambió el nombre de algunos archivos jar.

Versión 2.3.4

Resumen de los principales cambios

Esta es una versión de corrección de errores menores, principalmente para corregir algunos errores que se agregaron accidentalmente en 2.3.3.

Errores conocidos

El controlador de inclusión tiene algunos problemas en modo no GUI. En particular, puede causar una NullPointerException si hay dos controladores de inclusión con el mismo nombre.

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o está claramente especificado).

El elemento de menú Opciones / Elegir idioma no cambia todo el texto mostrado al nuevo idioma. [El comportamiento ha mejorado, pero el cambio de idioma aún no funciona completamente] Para anular completamente el idioma local predeterminado, configure la propiedad "idioma" de JMeter antes de iniciar JMeter.

Corrección de errores

Muestreadores HTTP y proxy

  • Error 47321 : no se respeta el tiempo de espera de respuesta de HTTPSampler2

Otros muestreadores

  • Error 47290 : bucle infinito en la búsqueda de fábrica de conexiones (JMS)
  • JDBC Sampler no debe cerrar declaraciones preparadas o invocables, ya que se almacenan en caché

Controladores

  • Error 39509 : el controlador de una sola vez se ejecuta dos veces

Oyentes

  • Cambie ResultCollector para que solo avise si el directorio no se creó
  • Solucionar algunos problemas de sincronización en ResultCollector y SampleResult (se estaban usando bloqueos incorrectos)

I18N

  • Error solucionado introducido en 2.3.3: JMeter no se inicia si no hay un archivo de propiedades de mensajes para la configuración regional predeterminada.

General

  • Solucionar problemas con clientes remotos: error introducido en 2.3.3
  • Error 47377 : haga que ClassFinder sea más sólido y cierre los recursos de archivos comprimidos
  • Solucione algunos errores al generar la documentación (error latente revelado en 2.3.3 cuando se actualizó Velocity)

Mejoras

Otros muestreadores

  • Error 47266 - Muestra de solicitud de FTP: permite especificar un puerto FTP, que no sea el predeterminado

Versión 2.3.3

Resumen de los principales cambios

El manejo del cierre de prueba ha mejorado mucho. El comando "Apagar" gradual ahora espera hasta que todos los subprocesos se hayan detenido y no informa de un error si los subprocesos no se detienen en 5 segundos. El comando inmediato "Parar" ahora se puede usar si "Apagar" tarda demasiado. Además, el comando inmediato "Parar" puede interrumpir los muestreadores que admiten la nueva interfaz interrumpible (por ejemplo, HTTP y SOAP, FTP). Esto permite la finalización inmediata de las respuestas pendientes. A las pruebas en modo no GUI ahora también se les puede enviar un mensaje de "Apagar" o "Detener". La acción de prueba ahora admite una acción "Detener ahora", al igual que los elementos del posprocesador del controlador de acción del estado del resultado y del grupo de subprocesos .

Se mejoró el manejo de cookies HTTP y HTTP POST ahora puede usar nombres de archivos variables correctamente. Se actualizaron las codificaciones de caracteres de muestra de HTTP, SOAP/XML-RPC y WebService (SOAP) para que sean más coherentes. Los muestreadores HTTP ahora admiten tiempos de espera de conexión y respuesta (requiere JVM 1.5 para el muestreador HTTP Java). Junto con las mejoras de cierre descritas anteriormente, esto debería evitar la mayoría de los casos en los que se bloquea una ejecución de prueba. Ahora se admiten varios elementos de Header Manager para una sola muestra HTTP. El servidor proxy se ha mejorado y ya no almacena encabezados de "Host" de forma predeterminada.

JDBC Request puede opcionalmente guardar los resultados de las sentencias Select en variables. JDBC Request ahora maneja cadenas entre comillas y UTF-8, y puede manejar tipos de variables arbitrarias.

Hay varias funciones nuevas : función __char(): permite introducir caracteres Unicode arbitrarios en los campos. Función __unescape(): permite utilizar cadenas escapadas de Java. Función _unescapeHtml(): decodifica texto codificado en Html. Función __escapeHtml(): codifica texto utilizando la codificación Html. Una referencia a una función faltante, por ejemplo, ${__missing(a)}, ahora se trata igual que una variable faltante. Anteriormente, el nombre de la función, y el { inicial, se eliminaron. Esto facilita la depuración de planes de prueba.

Algunas afirmaciones ahora se pueden aplicar a las submuestras, así como (o en lugar de) solo a la muestra principal. Hay un nuevo elemento de configuración de variables aleatorias .

Los muestreadores JMS han mejorado mucho (ver detalles a continuación). TCP Sampler ahora admite algunos clientes adicionales y es un poco más flexible.

Se ha mejorado el modo cliente-servidor, y el servidor puede usar opcionalmente un puerto RMI fijo, lo que debería ayudar con la configuración de firewalls.

Se han realizado varios cambios en I18N; el cambio de idioma funciona mejor (aunque aún no es perfecto). Hay traducciones mejoradas al francés, así como nuevas traducciones al polaco y al portugués brasileño.

El jar BeanShell ahora se incluye con el archivo binario; no hay necesidad de descargarlo por separado.

Errores conocidos

El controlador de inclusión tiene algunos problemas en modo no GUI. En particular, puede causar una NullPointerException si hay dos controladores de inclusión con el mismo nombre.

El controlador Once Only se comporta correctamente bajo un Thread Group o Loop Controller, pero por lo demás su comportamiento no es consistente (o está claramente especificado).

El elemento de menú Opciones  →  Elegir idioma no cambia todo el texto mostrado al nuevo idioma. [El comportamiento ha mejorado, pero el cambio de idioma aún no funciona completamente] Para anular por completo el idioma local predeterminado, establezca la propiedad " idioma " de JMeter antes de iniciar JMeter.

Cambios incompatibles

Al cargar resultados de muestra desde un archivo, los resultados anteriores ya no se borran. Esto permite fusionar varios archivos. Si se requiere el comportamiento anterior, use el elemento de menú Ejecutar  →  Borrar ( Ctrl  +  Shift  +  E ) o Ejecutar  →  Borrar todo ( Ctrl  +  E ) antes de cargar el archivo.

Los elementos de prueba "Guardar resultados en un archivo" y "Generar resultados resumidos" ahora se muestran como oyentes. Anteriormente se mostraban como Post-Procesadores, aunque están implementados como Listeners.

El administrador de cookies ya no guarda las cookies entrantes como variables de forma predeterminada. Para guardar cookies como variables, defina la propiedad " CookieManager.save.cookies=true ". Además, los nombres de las cookies tienen el prefijo " COOKIE_ " antes de almacenarse (esto evita la corrupción accidental de las variables locales). Para volver al comportamiento original, defina la propiedad " CookieManager.name.prefix= " (uno o más espacios).

El elemento Contador ahora se muestra como un elemento de Configuración. Anteriormente se mostraba como un preprocesador, aunque se implementa como un elemento de configuración.

Los cambios anteriores solo afectan los iconos que se muestran y las ubicaciones en los menús emergentes de la GUI. No afectan los planes de prueba ni el comportamiento de prueba.

Los preprocesadores ahora son invocados directamente por la clase JMeterThread, en lugar del método TestCompiler#configureSampler(). (JMeterThread maneja los Postprocesadores). Esto no afecta los planes de prueba o el comportamiento, pero tal vez podría afectar los complementos de terceros (muy poco probable).

Se movió la subsección Reglas de alcance de la Sección 3. "Creación de un plan de prueba" a la Sección 4. "Elementos de un plan de prueba"

El controlador While ahora recorta los espacios iniciales y finales del valor de la condición antes de que se compare con LAST , en blanco o falso.

La variable "threadName" en las funciones _jexl() y __javaScript() anteriormente estaba mal escrita como "theadName".

Los siguientes métodos en desuso se eliminaron de JOrphanUtils: booleanToString(boolean) y valueOf(boolean). Java 1.4+ tiene estos métodos en la clase booleana.

La interfaz TestElement tiene algunos métodos nuevos:

  • void setProperty (clave de cadena, valor de cadena, cadena dflt)
  • void setProperty (clave de cadena, valor booleano, dflt booleano)
  • void setProperty (clave de cadena, valor int)
  • void setProperty (clave de cadena, valor int, dflt int)
  • int getPropertyAsInt(String key, int defaultValue)
Estos se implementan en la clase AbstractTestElement que todos los elementos deben extender, por lo que es poco probable que esto cause un problema.

Corrección de errores

Muestreadores HTTP y proxy

  • Error 46332 : el administrador de cookies HTTP ignora las cookies definidas manualmente (error introducido en r707810)
  • El administrador de cookies no pasaba la política de cookies a los subprocesos en tiempo de ejecución, por lo que siempre usaban el modo de compatibilidad
  • Agregue el atributo de versión a la clase de cookie JMeter (necesario para el soporte adecuado de cookies)
  • Cookie Manager ahora guarda/restaura versiones de cookies
  • Compruebe la validez de las cookies antes de almacenarlas.
  • HTTPSamplers ahora puede usar variables en nombres de archivos publicados
  • Se corrigió el procesamiento del primer nombre de archivo en HTTP POST para que las funciones/variables funcionen (error introducido con la compatibilidad con múltiples archivos)
  • Error 45831 : WS Sampler informa un rendimiento incorrecto si falla la creación del paquete SOAP
  • Codificaciones de caracteres de muestreo HTTP, SOAP/XML-RPC y WebService (SOAP) actualizadas para ser más consistentes
  • Error 46148 : la muestra HTTP falla en las solicitudes SSL cuando el registro de jmeter.util está configurado en DEBUG
  • Solucione el error https de Java 1.6: java.net.SocketException: sockets desconectados no implementados
  • Error 46838 : si no había datos, todavía es necesario configurar la latencia en HTTPSampler
  • Error 46993 : guardar desde Header Manager genera ClassCastException
  • Error 46690 : manejo de redireccionamientos 302 con rutas relativas no válidas. JMeter ahora elimina los segmentos iniciales extraños "../" (al igual que muchos navegadores)
  • Error 44521 : las variables vacías para un POST en la solicitud HTTP no se ignoran
  • Error 46977 : JMeter no maneja encabezados HTTP no delimitados por espacios en blanco
  • Corrección de error en el archivo HTTP: manejo: leer bytes, no caracteres en la codificación predeterminada.
  • Elimine el Host de los encabezados guardados por el servidor Proxy, ya que normalmente lo generará la pila HTTP
  • Error 45199 : no intente reemplazar variables en blanco en la grabación de proxy
  • Cambie la falsificación de HTTPS para que https: los enlaces se reemplacen incluso cuando falla la coincidencia de URL
  • Error 46436 - Mejorar el informe de errores en Proxy Gui
  • Error 46435 : mensaje de error más detallado para el error 501 (servidor proxy)

Otros muestreadores

  • Los objetos "prev" y "sampler" ahora están definidos para elementos de prueba BSF
  • Corrija NPE (en DataSourceElement) al usar JDBC en modo cliente-servidor
  • Error 45425 : la solicitud de JDBC no es compatible con Unicode (muestra modificada para usar UTF-8)
  • Error 46522 : "Datos de respuesta" incorrectos en la muestra de JDBC cuando faltan los nombres de las columnas
  • Error 46821 : la solicitud de selección de JDBC no almacena la primera columna en las variables
  • Error 43791 : asegúrese de que QueueReceiver esté cerrado en el muestreador punto a punto de JMS
  • Error 46016 : evitar posibles NPE en JMSSampler
  • Error 46142 : el receptor JMS ahora usa MessageID
  • Error 45458 : punto a punto JMS en combinación con autenticación
  • Error 45460 : los elementos JMS TestPlan dependen de la propiedad del recurso
  • Varias correcciones de seguridad de subprocesos de ReceiveSubscriber
  • Correcciones de JMSPublisher y Subscriber: seguridad de subprocesos, compatibilidad con cambios dinámicos de configuración regional, independencia de configuración regional para valores de atributos JMX
  • FTP Sampler ahora cierra la sesión antes de desconectarse.
  • TCP sampler ahora llama a los métodos setupTest() y teardownTest()
  • Error 45887 - TCPSampler: propiedad de tiempo de espera configurada incorrectamente

Controladores

  • Reparar NPE cuando se usan Transaction Controllers anidados con muestras principales
  • Se corrigió el procesamiento del modo principal del controlador de transacciones para que la muestra actual se establezca en la muestra real.
  • Error 44941 : los controladores de rendimiento no deben compartir contadores globales
  • Error 47120 - Controlador de rendimiento: cambia el porcentaje de ejecuciones a ejecuciones totales, el valor se almacena en una cadena y se interpreta como 1 ejecución
  • Error 47150 : ThreadGroup con un recuento de bucles de cero provoca un bucle infinito
  • Error 47009 : Insertar padre provocó que se restableciera el nombre del controlador secundario
  • Error 47165 : el uso de nombres de controlador de módulo duplicados en el modo de línea de comandos provoca NPE

Oyentes

  • La documentación de Mailer Visualizer ahora está de acuerdo con el código, es decir, es necesario superar los recuentos de errores/éxitos para activar el correo.
  • Mailer Visualizer ahora muestra el recuento de fallas
  • Mailer Visualiser: corrige el análisis de varias direcciones de correo electrónico cuando se usa el botón de prueba
  • Error 45976 : archivo de resultados incompleto al usar pruebas remotas con más de 1 servidor
  • Arreglar Summariser para que funcione en modo servidor cliente
  • Error 34096 : las muestras duplicadas no se eliminan al escribir en archivos CSV
  • Guarde la configuración "Incluir el nombre del grupo en la etiqueta" en los informes agregados y resumidos
  • La variable JMeter "sample_variables" se envía a todas las instancias del servidor para garantizar que los datos estén disponibles para el cliente.
  • CSVSaveService: verifique EOF mientras lee la cadena entre comillas

afirmaciones

  • Error 45749 : la aserción de respuesta no funciona con una subcadena que resulta ser un RE no válido
  • Error 45904 : permitir que la aserción de respuesta 'No' tenga éxito con una muestra nula

Funciones

  • Reparar la función regex: no se podía procesar $m$mid$n$ correctamente
  • Protéjase contra posibles NPE en RegexFunction si se llama durante el apagado de prueba.
  • Evite NPE si la función XPath no coincide con ningún nodo
  • Corrija el nombre de la variable "theadName" a "threadName" en las funciones __jexl() y __javaScript()
  • Una referencia a una función faltante, por ejemplo, ${__missing(a)}, ahora se trata igual que una variable faltante. Anteriormente, el nombre de la función, y el { inicial, se eliminaron.

I18N

  • Manejo de cambio de idioma fijo para menús (aún no funciona para TestBeans)
  • Agregue HeaderAsPropertyRenderer para admitir nombres de recursos de encabezado; use esto para corregir los cambios de configuración regional en varios elementos de la GUI
  • Error 46424 : correcciones a la traducción al francés
  • Error 46844 : la etiqueta "Biblioteca" en el plan de prueba no es I18N
  • Error 47064 : correcciones para Mac LAF
  • Error 47127 : no se puede cambiar el idioma a pl_PL
  • Error 47137 : las etiquetas en el árbol de resultados de la vista no son I18N
  • Error 46423 - I18N de Proxy Recorder
  • Error 45928 : AJP/1.3 Sampler no recupera su etiqueta de message.properties

General

  • Solicitar sobrescribir un archivo existente al guardar por primera vez un nuevo plan de prueba
  • Modifique TestBeans para mostrar el menú emergente correcto para los oyentes
  • Error 45185 : el delimitador en blanco del conjunto de datos CSV provoca OOM
  • Solucione las clasificaciones de GUI incorrectas: "Guardar resultados en un archivo" y "Generar resultados de resumen" ahora se muestran como Oyentes. "Contador" ahora se muestra como un elemento de configuración.
  • Error 41608 : mensaje de registro de advertencia engañoso eliminado
  • Error 46359 : el preprocesador JavaScript de BSF no puede acceder a la variable de muestra en la primera iteración (Implementar una ronda de trabajo temporal para BSF-22)
  • Error 46407 : los elementos BSF no cargan archivos de script, intenta interpretar el nombre del archivo como script
  • Mejor manejo de excepciones durante el cierre de prueba
  • Solucionar un posible problema de seguridad de subprocesos en la clase JMeterThread
  • Error 46491 : valor incorrecto para la última variable en "Configuración del conjunto de datos CSV" (error al procesar cadenas entrecomilladas)

Mejoras

Muestreadores HTTP

  • Error 45479 : soporte para múltiples nodos de administrador de encabezado HTTP
  • Los muestreadores HTTP ahora admiten tiempos de espera de conexión y solicitud (requiere Java 1.5 para el muestreador Java Http)
  • Apache SOAP 2.3.1 no brinda acceso al código/mensaje de respuesta HTTP, por lo que la muestra de WebService ahora trata una respuesta vacía como un error
  • El servidor espejo ahora admite el encabezado "X-Sleep": si está configurado, el hilo de respuesta esperará el número especificado de milisegundos
  • Error 45694 : compatibilidad con registros comprimidos GZIP en Access Log Sampler

Otros muestreadores

  • JDBC Request puede opcionalmente guardar los resultados de las sentencias Select en variables.
  • JDBC Request ahora maneja cadenas entre comillas.
  • JDBC Request ahora maneja tipos de variables arbitrarias.
  • Los datos de resultados de LDAP ahora están formateados con saltos de línea
  • Error 45200 - MailReaderSampler: almacena el mensaje MIME completo en SamplerResult
  • Error 45571 : mejora de correlación de JMS Sampler
  • Error 46030 : Extender TCP Sampler para admitir datos binarios con prefijo de longitud
  • Agregue el campo de nombre de clase a las GUI de TCP Sampler

Controladores

  • Permitir que If Controller use expresiones variables (no solo Javascript)
  • Recorte los espacios de la condición del controlador while antes de compararlos con LAST, en blanco o falso

Oyentes

  • Guardar respuestas en un archivo puede guardar los nombres de archivo generados en variables.
  • Agregar opción para omitir la generación de sufijos en Guardar respuestas en un archivo
  • Error 43119 - Guardar respuestas en archivo: opcionalmente omitir el número de archivo
  • Agregar elemento de escucha BSF
  • Error 47176 - Monitorear resultados: mejorar el gráfico de estado de carga
  • Error 40045 : permitir que el monitor de resultados seleccione un conector específico
  • Lea archivos XML JTL de manera más eficiente: pase muestras a los visualizadores a medida que se leen, en lugar de guardarlos todos y luego procesarlos.

Aserciones, configuración, preprocesadores y posprocesadores

  • Error 45903 : permitir que las aserciones se apliquen a submuestras
  • Agregue la opción de fuente Cuerpo (sin escape) al Extractor de expresiones regulares.
  • Variable aleatoria: nuevo elemento de configuración para crear variables numéricas aleatorias

Funciones

  • Agregue OUT y registre variables a la función __jexl()
  • Use Script para evaluar la función __jexl() para que pueda tener múltiples declaraciones.
  • Agregar variable de registro a la función __javaScript()
  • Se agregó la función __char(): permite ingresar caracteres Unicode arbitrarios en los campos.
  • Se agregó la función __unescape(): permite usar cadenas escapadas de Java.
  • Se agregó la función __unescapeHtml(): decodifica el texto codificado en Html.
  • Se agregó la función __escapeHtml(): codifica el texto usando la codificación Html.

I18N

  • Error 45929 : traducciones al francés mejoradas
  • Error 47132 - Traducciones al portugués brasileño
  • Error 46900 - Traducciones al polaco
  • Se agregó la propiedad locales.add para permitir nuevas configuraciones regionales.

General

  • Permitir espacios en los nombres de ruta de JMeter (aplicar la ronda de trabajo para Java Bug 4496398 )
  • Procese JVM_ARGS en último lugar en archivos de script para que los usuarios puedan anular la configuración predeterminada
  • Error 46636 : permitir que el modo de servidor use opcionalmente un puerto rmi fijo
  • Haga que algunos muestreadores sean interrumpibles: HTTP (ambos), SoapSampler, FTPSampler
  • Test Action ahora admite la acción "Stop Now", al igual que los elementos Thread Group y Result Status Post Processor.
  • Los elementos del menú Detener y Apagar ahora se comportan mejor. El apagado ahora esperará hasta que todos los subprocesos salgan. En el modo GUI, se puede cancelar y detener la ejecución en su lugar. Detener ahora informa si algunos subprocesos no se cierran y se cierran si se ejecutan en modo no GUI
  • Agregue el servidor UDP para esperar el mensaje de apagado si se ejecuta en modo no GUI; agregue el cliente UDP para enviar el mensaje.
  • Error 41209 : JLabeled* e información sobre herramientas
  • Incluya el jar BeanShell 2.0b4 en la descarga binaria.

Cambios no funcionales

  • Introducir la clase AbstractListenerGui para facilitar la creación de oyentes sin salida visual
  • Las aserciones se ejecutan después de PostProcessors; cambiar el orden de los menús emergentes en consecuencia
  • Elimine los métodos de clonación () innecesarios de las clases de funciones
  • Se movió la invocación de PreProcessor a la clase JMeterThread
  • Hizo que el campo HashTree Map sea final
  • Mejore el rendimiento de llamar a ResultCollector#isSampleWanted() para múltiples muestras
  • Actualizado a nuevas versiones de: xmlgraphics-commons (1.3.1), jdom (1.1), xstream (1.3.1), velocidad (1.6.2)

Versión 2.3.2

Resumen de los principales cambios

Corrección de errores

La versión 2.3.1 cambió la forma en que se determinaban los tipos de contenido de texto y binarios en lo que respecta a View Results Tree Listener: originalmente, todo excepto los tipos de contenido "image/" se consideraban texto, pero 2.3.1 introdujo una verificación para tipos de contenido específicos. Esto ha causado problemas, ya que se omitieron varios tipos populares y ya no se mostraban de forma predeterminada en la pestaña Respuesta. En lugar de intentar enumerar todos los tipos de texto posibles, JMeter ahora solo busca los siguientes tipos binarios:

  • imagen/*
  • audio/*
  • video/*
Ahora se supone que todos los demás tipos son texto.

JMeter 2.3.1 introdujo un error en el Administrador de cookies: si se seleccionó "Borrar cookie en cada iteración", todos los subprocesos verían las mismas cookies. Este error ha sido corregido.

Mejoras

El servidor proxy ahora puede registrar solicitudes binarias. De forma predeterminada, los tipos de contenido application/x-amf y application/x-java-serialized-object se tratarán como binarios y se guardarán en un archivo. Para cambiar los tipos de contenido, actualice la propiedad proxy.binary.types .

El elemento de configuración CSV Dataset tiene nuevas opciones para compartir archivos: por grupo de subprocesos, por subproceso, por identificador. Esto permite un procesamiento de archivos más flexible, por ejemplo, cada subproceso puede procesar los mismos datos en el mismo orden.

Switch Controller ahora funciona correctamente con funciones y variables, y la condición ahora puede ser un nombre en lugar de un número. El controlador simple ahora funciona correctamente con un controlador while

Los campos CSV en archivos JTL ahora pueden contener delimitadores. Los archivos CSV y XML ahora pueden contener variables adicionales (defina la propiedad sample_variables de JMeter ).

La aserción de respuesta ahora puede coincidir con subcadenas (es decir, no con expresiones regulares). El extractor Regex puede operar en variables.

Se mejora el procesamiento XPath; Los errores ordenados se manejan mejor.

Se agregaron botones Guardar datos de tabla a los informes Resumen y Agregado para permitir guardar fácilmente los datos calculados.

Las muestras de HTTP ahora pueden guardar solo el hash MD5 de las respuestas, en lugar de la respuesta completa. Como caso especial, si la ruta de HTTP Sampler comienza con "http://" o "https://", entonces se usa como la URL completa, anulando los campos de host y puerto. Los HTTP Samplers ahora pueden publicar varios archivos. Webservice (SOAP) Sampler ahora puede cargar archivos WSDL locales utilizando el protocolo "archivo:".

Se ha agregado un administrador de caché HTTP simple. Esto necesita un mayor desarrollo.

View Results Tree Listener ahora usa Tidy para mostrar XML. Esto debería permitir que se muestre más contenido con éxito. También evita la necesidad de descargar archivos DTD remotos, lo que puede ralentizar considerablemente el renderizado.

La muestra de MailReader ahora es compatible con los protocolos POP3S e IMAPS. Los correos individuales ahora se agregan como submuestras.

Varias mejoras en BSF Sampler: ahora es compatible con Jexl y el error de Javascript funciona correctamente. Se agregaron elementos de prueba BSF PreProcessor, PostProcessor y Assertion. Todos ahora tienen acceso al objeto de propiedades JMeter "props".

El número de clases cargadas en modo no GUI se reduce mucho.

Errores conocidos

El controlador de inclusión tiene algunos problemas en modo no GUI. En particular, puede causar una NullPointerException si hay dos controladores de inclusión con el mismo nombre.

El controlador Once Only se comporta bien bajo un Thread Group o Loop Controller, pero de lo contrario su comportamiento no es consistente (o está claramente especificado).

El elemento de menú Opciones / Elegir idioma no cambia todo el texto mostrado al nuevo idioma. Para anular el idioma local predeterminado, configure la propiedad "idioma" de JMeter antes de iniciar JMeter.

Cambios incompatibles

  • Para reducir el número de clases cargadas en modo no GUI, las funciones solo se encontrarán si su nombre de clase contiene la cadena '.functions.' y no contiene la cadena '.gui.'. Todas las funciones de JMeter existentes se ajustan a esta restricción. Para volver al comportamiento anterior, comente o cambie las propiedades classfinder.functions.* en jmeter.properties.
  • El parámetro de valor de referencia para intSum() ahora es opcional. Como consecuencia, si se utiliza un nombre de variable, no debe ser un número entero válido.
  • La implementación de TCPClient proporcionada ya no trata tcp.eolByte=0 como especial. Para omitir la verificación de EOL, establezca tcp.eolByte=1000 (o algún otro valor que no sea un byte válido)
  • Los espacios iniciales y finales se eliminan de los nombres de las variables en las llamadas a funciones. Por ejemplo, ${__Random(1,63, LOTTERY )} utilizará la variable 'LOTTERY' en lugar de ' LOTTERY '.
  • La sincronización se eliminó de la clase RunningSample (de todos modos, no era completamente segura para subprocesos). Los desarrolladores de complementos de terceros que usan la clase pueden necesitar sincronizar el acceso.

Corrección de errores

  • Verifique que el delimitador CSV sea razonable.
  • Arreglar Switch Controller para que funcione correctamente con funciones y variables
  • Error 44011 - application/soap+xml no se trata como un tipo de texto
  • Error 43427 : el controlador simple solo se ejecuta parcialmente en el ciclo while
  • Error 33954 : desbordamiento de pila en los controladores If/While (puede haberse solucionado anteriormente)
  • Error 44022 : pérdida de memoria al cerrar el plan de prueba
  • Error 44042 : regresión en el administrador de cookies (error introducido en 2.3.1)
  • Error 41028 : el servidor JMeter no alerta al usuario cuando el host se define como una dirección de bucle invertido
  • Error 44142 : la función __machineName provoca NPE si se omiten los parámetros.
  • Error 44144 - JMS punto a punto: la prueba de respuesta de solicitud no funciona
  • Error 44314 : no es posible agregar más de un SyncTimer
  • Capture la salida de error de la consola Tidy y regístrela
  • Solucionar problemas usando Tidy (analizador tolerante) en XPath Assertion y XPath Extractor
  • Error 44374 : mejora el cálculo del temporizador
  • Regular Expression Extractor ahora elimina todas las variables obsoletas de coincidencias anteriores.
  • Error 44707 : la ejecución de pruebas remotas cambia el plan de pruebas internas
  • Error 44625 : no se pueden tener dos o más muestras de FTP con diferentes acciones de "poner" y "obtener"
  • Error 40850 : pérdida de memoria BeanShell
  • Asegúrese de que ResponseCode y ResponseMessage estén configurados para muestras JDBC correctas
  • FTPSampler ahora detecta e informa fallas al abrir el archivo remoto
  • Los directorios de clases definidos en search_paths y user.classpath ya no necesitan "/" al final
  • Error 44852 La solicitud SOAP/ XML-RPC no muestra los detalles de la solicitud en Ver árbol de resultados
  • Sampler de WebService (SOAP) ResponseData ahora incluye los EOL enviados por el servidor
  • Error 44910 : cerrar el socket anterior (si lo hay) en TCP Sampler
  • Error 44912 : el filtro no funciona en Log Parser
  • La documentación del componente BeanShell y BSF hizo algunas referencias incorrectas al objeto "SampleResponse"; esto ha sido corregido a "SampleResult"
  • BSF Sampler ahora funciona correctamente con Javascript
  • La acción de prueba "Detener prueba" ahora funciona
  • Error 42833 : la clase Argument usa LinkedHashMap en getArgumentsAsMap() para conservar el orden
  • Error 45093 : SizeAssertion no llamó a getBytes()
  • Error 45007 : reescriba los encabezados de ubicación al usar la suplantación de identidad HTTPS de proxy
  • Use CRLF en lugar de LF en Proxy cuando devuelva encabezados al cliente
  • Error 45007 : corrige el encabezado de longitud del contenido si el contenido puede haber cambiado

Mejoras

  • Los archivos CSV ahora pueden manejar campos con delimitadores incrustados.
  • función longSum() agregada
  • Error 43382 : configure la salida ordenada (advertencias, errores) para la aserción XPath y el posprocesador
  • Error 43984 : recortar espacios del campo del puerto
  • Agregar comentario opcional a la función __log()
  • Hacer que el nombre de la variable de función aleatoria sea opcional
  • Reduzca la carga de clases en el modo sin GUI al buscar funciones solo en nombres de clases que contengan '.funciones'. y no contienen '.gui.'
  • Error 43379 : Switch Controller ahora admite la selección por nombre y número
  • Puede especificar una lista de nombres de variables que se escribirán en archivos JTL (formato CSV y XML)
  • Ahora comprueba que las opciones de inicio remoto -r y -R solo se usan con la opción non_GUI -n
  • Error 44184 : permitir que el encabezado se guarde con datos de gráficos agregados
  • Se agregaron los botones "Guardar datos de la tabla" a los informes agregados y resumidos: guarde la tabla como formato CSV con encabezado
  • Permita que la mayoría de las funciones se utilicen en el plan de prueba. Nota __evalVar(), __split() y __regex() no se pueden usar en el plan de prueba.
  • Permitir que las propiedades globales se carguen desde un archivo, por ejemplo, -Gglobal.properties
  • Agregue la opción "Subcadena" a la aserción de respuesta
  • Error 44378 : localización turca
  • Agregar nombre de variable de salida opcional a la función Jexl
  • Agregue application/vnd.wap.xhtml+xml como tipo de texto
  • Agregue medios para anular el tamaño máximo de visualización en Ver árbol de resultados: establezca la propiedad: view.results.tree.max_size
  • Use Tidy para mostrar XML en View Results Tree Listener (evita obtener DTD)
  • Error 44487 - traducción al alemán
  • Como caso especial, si la ruta de HTTP Sampler comienza con "http://" o "https://", entonces se usa como la URL completa.
  • Error 44575 : Result Saver ahora solo puede guardar resultados exitosos
  • Error 44650 : el conjunto de datos CSV ahora maneja los valores de columna citados
  • Error 44600 : temporizador de resolución de 1 ms cuando se ejecuta con Java 1.5+
  • Error 44632 : mejora de entrada de texto en FTP Sampler
  • Error 42204 : agregue el nombre del grupo de subprocesos a los informes agregados y resumidos
  • FTP Sampler establece latencia = tiempo para iniciar sesión
  • FTP Sampler establece una URL si puede
  • Error 41921 : agregue la opción para que los muestreadores almacenen MD5 de respuesta; hecho para muestras HTTP.
  • La función Regex ahora también se puede aplicar a una variable en lugar de solo al resultado de la muestra anterior.
  • Eliminar la máscara de parámetros HTML y el modificador de parámetros de usuario HTTP de los menús, ya que están en desuso
  • Error 44807 : permitir que los ID de sesión finalicen con una barra invertida
  • Error 44784 : permite que un servidor roto devuelva un juego de caracteres adicional
  • Se agregó la propiedad / variable TESTSTART.MS = hora de inicio de la prueba en milisegundos
  • Agregue protocolos POP3S e IMAPS a Mail Reader Sampler.
  • Mail Reader Sampler ahora crea una submuestra para cada correo.
  • La implementación de TCPClient proporcionada ya no trata tcp.eolByte=0 como especial. Para omitir la verificación de EOL, establezca tcp.eolByte=1000 (o algún otro valor que no sea un byte válido)
  • JUnit sampler GUI ahora también encuentra clases de prueba definidas en user.classpath
  • Los espacios iniciales y finales se eliminan de los nombres de las variables en las llamadas a funciones. Por ejemplo, ${__Random(1,63, LOTTERY )} utilizará la variable 'LOTTERY' en lugar de ' LOTTERY '
  • Webservice (SOAP) Sampler ahora puede cargar archivos WSDL locales usando el archivo: protocolo
  • Error 44872 : agregar el filtro "Todos los archivos" a los cuadros de diálogo Abrir archivo
  • El servidor espejo ahora se puede ejecutar de forma independiente (mirror-server.cmd y mirror-server.sh)
  • Error 19128 : se agregó compatibilidad con POST de archivos múltiples a muestras HTTP
  • Permitir el uso del nombre especial LAST para referirse a la última ejecución de prueba; se aplica a las banderas -t, -l, -j
  • Error 44418/42178 : mejoras en el manejo de archivos CSV Dataset
  • Otorgue acceso a las funciones BeanShell, Javascript y Jexl a las propiedades de JMeter a través del objeto "props"
  • Otorgue acceso a BSF Sampler a las propiedades de JMeter a través del objeto "props"
  • Agregue Jexl como un lenguaje BSF Sampler compatible
  • Dar acceso a los elementos de prueba de Beanshell a las propiedades de JMeter a través del objeto "props"
  • Se agregaron elementos de prueba BSF PreProcessor, PostProcessor y Assertion
  • Todos los elementos BSF ahora tienen acceso a System.out a través de la variable "OUT"
  • Resumen actualizado para manejar nombres de variables
  • Sincronización añadida al resumen y al informe agregado para tratar de evitar la pérdida ocasional de muestras
  • Error 44808 , error 39641 : soporte de proxy para solicitudes binarias
  • Error 28502 : caché de recursos HTTP

Cambios no funcionales

  • Mejor manejo de los problemas de inicio de MirrorServer y prueba unitaria mejorada.
  • El proceso de compilación ahora detecta bibliotecas de terceros faltantes e informa la necesidad de archivos binarios y fuente
  • Omita las pruebas de BeanShell si el jar no está presente
  • Actualice a Xerces 2.9.1, Xalan 2.7.1, Commons IO 1.4, Commons Lang 2.4, Commons-Logging 1.1.1, XStream 1.3, XPP3 1.1.4c
  • Usar propiedades para descripciones de funciones de registro/inicio de sesión
  • Verifique que todos los archivos jmx en el directorio de demostraciones se puedan cargar correctamente
  • Actualizar los derechos de autor a 2008; use la etiqueta de copia en lugar del carácter numérico en la salida HTML
  • Los métodos llamados desde los constructores no deben ser anulados: haga que los métodos de inicio de la GUI sean privados
  • Hacer que las variables estáticas sean definitivas si es posible
  • Dividir los cambios en actuales y anteriores

Versión 2.3.1

Resumen de Cambios

Proxy de JMeter

La función de suplantación de proxy se rompió en 2.3; se ha arreglado. Spoof ahora admite un parámetro opcional para limitar la suplantación de identidad a URL particulares. Esto es útil para páginas HTTPS que tienen contenido inseguro; por ejemplo, se puede acceder a imágenes/hojas de estilo mediante HTTP. Las respuestas falsificadas ahora eliminan el puerto predeterminado (443) de los enlaces https para que funcionen mejor.

Las muestras de proxy ignoradas ahora están visibles en los oyentes: la etiqueta se incluye entre [ y ] como indicación. Se ha mejorado la documentación del proxy.

cambios en la GUI

Los menús Agregar muestran los tipos de elementos en el orden en que se procesan; consulte Orden de ejecución del plan de prueba . Ya no es posible agregar elementos de prueba a partes inapropiadas del árbol; por ejemplo, los muestreadores no se pueden agregar directamente bajo un plan de prueba. Esto también se aplica a Pegar y arrastrar y soltar.

El menú Archivo ahora admite la opción "Revertir", que vuelve a cargar el archivo actual. También se recuerdan los últimos nombres de archivo utilizados para recargarlos fácilmente.

El Menú de opciones ahora admite Contraer todo y Expandir todos los elementos para contraer y expandir el árbol de prueba.

Pruebas remotas

El servidor JMeter ahora inicia el servidor RMI directamente (por defecto). Esto simplifica las pruebas y significa que el servidor RMI se detendrá cuando el servidor se detenga.

Las funciones ahora se pueden usar en los nombres de archivo de Listener (las variables no funcionan).

La opción de línea de comandos -G ahora se puede usar para definir propiedades para servidores remotos. La opción -X se puede usar para detener un servidor remoto después de una ejecución sin GUI. El servidor se puede configurar para que salga automáticamente después de una sola prueba (establezca la propiedad server.exitaftertest=true).

Otras mejoras

El inicio de JMeter ya no carga tantas clases; esto debería reducir los requisitos de memoria.

Se agregó compatibilidad con parámetros y archivos a todos los elementos BeanShell. La función Javascript ahora admite el acceso a objetos JMeter; La función Jexl siempre tuvo acceso, pero ahora se ha incluido la documentación. Nuevas funciones __eval() y __evalVar() para evaluar variables.

Los archivos CSV con los nombres de columna de encabezado correctos ahora se reconocen automáticamente cuando se cargan. No es necesario configurar las propiedades.

El nombre de host ahora se puede guardar en archivos de salida CSV y XML. Se agregó la nueva opción "Solo éxitos" al guardar archivos de resultados. La opción Solo errores/éxitos ahora es compatible al cargar archivos XML y CSV.

Mejoras generales en la documentación.

HTTP

PUT y DELETE ahora deberían funcionar correctamente. El Administrador de cookies ya no borra las cookies ingresadas manualmente.

Ahora maneja el conjunto de caracteres http-equiv de la etiqueta META

JDBC

JDBC Sampler ahora permite parámetros INOUT y OUT para procedimientos llamados. JDBC Sampler ahora permite conexiones por subproceso: configure Max Connections = 0 en JDBC Config.


Cambios incompatibles

  • El servidor JMeter ahora crea el registro RMI de forma predeterminada. Si el registro RMI ya se inició de forma externa, generará un mensaje de advertencia, pero el servidor continuará. Esto no debería afectar las pruebas de JMeter. Sin embargo, si también está utilizando el registro RMI para otras aplicaciones, puede haber problemas. Por ejemplo, cuando el servidor JMeter se apaga, detendrá el registro RMI. También es posible que sea necesario ajustar los archivos de comandos escritos por el usuario (los proporcionados con JMeter se han actualizado). Para volver al comportamiento anterior, defina la propiedad JMeter: server.rmi.create=false .
  • El servidor proxy elimina los encabezados If-Modified-Since y If-None-Match de los administradores de encabezados generados. Para volver al comportamiento anterior, defina la propiedad proxy.headers.remove sin valor

Corrección de errores

  • Error 43430 : el recuento de subprocesos activos es incorrecto para muestras remotas
  • El controlador de rendimiento no funcionaba para los recuentos de "todos los subprocesos"
  • Si un cuerpo POST se crea solo a partir de valores de parámetros, estos ahora se codifican si la casilla de verificación está configurada.
  • Error 43584 : el mensaje de error de aserción contiene una coma que también se usa como delimitador para archivos CSV
  • HTTP Mirror Server ahora siempre devuelve exactamente el mismo contenido, solía devolver datos incorrectos si se usaba la codificación UTF-8 para el cuerpo HTTP POST, por ejemplo
  • Error 43612 : HTTP PUT no respeta los parámetros de solicitud
  • Error 43694 : ForEach Controller (error de procesamiento de colección vacía)
  • Error 42012 : los nombres de archivo de escucha variable no se procesan en pruebas remotas. Los nombres de archivo ahora pueden incluir referencias a funciones; las referencias variables no funcionan.
  • Asegúrese de que los nodos de escucha obtengan su propia configuración de guardado cuando se copian y pegan
  • El servidor proxy correcto incluye y excluye la descripción coincidente: se incluyen el puerto y la consulta, al contrario de lo documentado anteriormente.
  • El encabezado de la columna del gráfico agregado y el informe agregado es KB/s; se corrigieron los valores para que fueran KB en lugar de bytes
  • Corrija SamplingStatCalculator para que ya no agregue el tiempo transcurrido a endTime, ya que SampleResult lo maneja. Esto corrige las discrepancias entre el informe de resumen y el cálculo del rendimiento del informe agregado.
  • HTTPSampleResult predeterminado para la codificación ISO-8859-1
  • Arreglar la codificación predeterminada para la codificación en blanco
  • Soluciona la falsificación de Https (problema de puerto) que se rompió en 2.3
  • Arreglar la muestra de HTTP (Java) para que http.java.sampler.retries signifique reintentos, es decir, no incluye el intento inicial
  • Corrija la verificación del tipo de datos de SampleResult para detectar mejor los documentos de TEXTO

Mejoras

  • Agregue run_gui Ant target, al paquete y luego inicie la GUI de JMeter desde Ant
  • Agregar archivo → Revertir para soltar fácilmente los cambios actuales y volver a cargar el archivo de proyecto cargado actualmente
  • Error 31366 - Recordar archivos abiertos recientemente
  • Error 43351 : agregue soporte para parámetros y archivo de script a todos los elementos de prueba BeanShell
  • SaveService ya no necesita instanciar clases
  • Nuevas funciones: __eval() y __evalVar()
  • Los elementos del menú ahora aparecen en orden de ejecución
  • Los elementos del plan de prueba ahora solo se pueden soltar/pegar/combinar en partes del árbol donde están permitidos
  • Visualización de propiedades para mostrar el valor de las propiedades del sistema y JMeter y permitir que se cambien
  • Error 43451 : permitir que Regex Extractor opere en el código de respuesta/mensaje
  • JDBC Sampler ahora permite parámetros INOUT y OUT para procedimientos llamados
  • JDBC Sampler ahora permite conexiones por subproceso
  • El Administrador de cookies ya no borra las cookies definidas en la GUI
  • Los parámetros HTTP sin nombres se ignoran (excepto las solicitudes POST sin archivo)
  • "Guardar selección como" agregado al menú principal; ahora comprueba que solo el elemento está seleccionado
  • El plan de prueba ahora tiene el elemento de menú Pegar (pegar ya se admitía a través de ^ V)
  • Si el delimitador predeterminado no funciona al cargar un archivo CSV, adivine el delimitador analizando la línea del encabezado.
  • Agregue el protocolo de "bucle invertido" opcional para la muestra de HttpClient
  • HTTP Mirror Server ahora admite el bloqueo en espera de que aparezcan más datos, si el encabezado de longitud de contenido está presente en la solicitud
  • La GUI del servidor HTTP Mirror ahora tiene los botones Iniciar y Detener en un lugar más visible
  • El modo de servidor ahora crea el registro RMI; para deshabilitar establezca la propiedad JMeter server.rmi.create=false
  • HTTP Sampler ahora admite el uso del campo Tipo MIME para especificar el encabezado de solicitud de tipo de contenido cuando el cuerpo se construye a partir de valores de parámetros
  • Habilite la salida después de una sola prueba de servidor: defina la propiedad JMeter server.exitaftertest=true
  • Se agregó la opción -G para establecer propiedades en servidores remotos
  • Se agregó la opción -X para detener los servidores remotos después de la ejecución sin GUI
  • Error 43485 : capacidad para especificar keep-alive en una solicitud SOAP/XML-RPC
  • Error 43678 : manejar el juego de caracteres http-equiv de la etiqueta META
  • Error 42555 - [I18N] Correcciones propuestas para la traducción al francés
  • Error 43727 : la acción de prueba no admite variables ni funciones
  • El servidor proxy elimina los encabezados If-Modified-Since y If-None-Match de los administradores de encabezados generados de forma predeterminada. Para cambiar la lista de encabezados eliminados, defina la propiedad proxy.headers.remove como una lista de encabezados separados por comas para eliminar
  • La función javaScript ahora tiene acceso a variables JMeter y contexto, etc. Ver función JavaScript
  • Use la lista desplegable para el campo de idioma de BSF Sampler
  • Agregue el nombre de host a los elementos que se pueden guardar en archivos de salida CSV y XML.
  • El indicador de solo errores ahora es compatible al cargar archivos XML y CSV
  • Asegúrese de que ResultCollector use la codificación SaveService
  • Proxy ahora rechaza los intentos de usarlo con https
  • La suplantación de identidad de proxy ahora puede usar la coincidencia de RE para determinar qué URL falsificar (útil si las imágenes no son https)
  • La suplantación de identidad de proxy ahora descarta el puerto HTTPS predeterminado (443) al convertir enlaces https: a http:
  • Agregar registro y visualización de solo éxitos
  • El nombre del archivo de registro de JMeter tiene el formato de SimpleDateFormat (aplicado a la fecha actual) si contiene comillas simples emparejadas, por ejemplo, 'jmeter_'yyyyMMddHHmmss'.log'
  • Se agregaron los elementos del menú de opciones Contraer todo y Expandir todo
  • Permitir la definición opcional de tipos de contenido adicionales que se pueden ver como texto

Mejoras no funcionales

  • El código del funtor se endureció; Functor ahora se puede usar con interfaces, así como con objetivos y parámetros predefinidos.
  • La función Guardar gráficos ahora solicita antes de sobrescribir un archivo existente
  • Debug Sampler y Debug PostProcessor agregados.
  • Se corrigieron los nombres de los métodos en Calculator y SamplingStatCalculator
  • Se arregló la documentación de Listener.

Versión 2.3

Correcciones desde 2.3RC4

Corrección de errores

  • Arreglar NPE en SampleResultConverter: XStream PrettyPrintWriter no puede manejar valores nulos
  • Si la muestra HTTP de Java ve un mensaje de respuesta nulo, reemplácelo con el encabezado HTTP
  • Bug 43332 - 2.3RC4 no borra Guis basado en TestBean
  • Error 42948 : problemas con los campos de la tabla de interfaz gráfica de usuario de proxy en Java 1.6
  • Reparar el script jmeter-server roto
  • Error 43364 : opción para revertir si el controlador tiene un comportamiento anterior a 2.3RC3
  • Error 43449 : el modo remoto estadístico no maneja la latencia
  • Error 43450 (corrección parcial): permitir que SampleCount y ErrorCount se guarden o restauren desde archivos

Mejoras

  • Agregue la opción nameSpace al extractor XPath
  • Agregue la opción de parámetro NULL a la muestra JDBC
  • Agregue enlaces de documentación para Rhino y BeanShell a las funciones; aclarar variables y propiedades
  • Asegúrese de que se registren las excepciones no detectadas
  • Busque user.properties y system.properties en el directorio bin de JMeter si no se encuentra localmente

Correcciones desde 2.3RC3

  • NPE fijo en Summariser (error introducido en 2.3RC3)
  • Configuración fija del puerto proxy (error introducido en 2.3RC3)
  • Se corrigieron errores cuando se ejecutaba sin GUI en un host sin cabeza (error introducido en 2.3RC3)
  • Error 43054 : SSLManager hace que las pruebas de estrés se saturen y se bloqueen (error introducido en 2.3RC3)
  • Uso aclarado de los valores predeterminados de solicitud HTTP del campo de puerto
  • Error 43006 : NPE si no se encuentra el archivo icon.properties
  • Error 42918 : la afirmación de tamaño ahora trata una respuesta vacía como si tuviera una longitud cero
  • Error 43007 : la prueba finaliza antes de que comiencen todos los grupos de subprocesos
  • Corrige posible NPE en HTTPSampler2 si 302 no tiene encabezado de ubicación.
  • Error 42919 : mensaje de falla en blanco en la salida CSV [ahora registra el primer mensaje que no está en blanco]
  • Agregar enlace a la extensión de JMeter PDF
  • Permitir el juego de caracteres entre comillas en el análisis de tipo de contenido
  • Error 39792 : se necesita sincronización de ClientJMeter
  • Error 43122 : los cambios en la GUI no siempre se detectan cuando se usan teclas de acceso directo (error introducido en 2.3RC3)
  • Error 42947 : los cambios de TestBeanGUI no se detectan cuando se usan teclas de acceso directo
  • Se agregó serializer.jar (necesario para actualizar a xalan 2.7.0)
  • Error 38687 : el controlador del módulo no funciona en modo no GUI

Mejoras desde 2.3RC3

  • Agregue la opción de detener hilo al conjunto de datos CSV
  • Commons-httpclient actualizado a 3.1
  • Error 28715 : permitir valores de cookies variables (establecer CookieManager.allow_variable_cookies=false para deshabilitar)
  • Error 40873 : agregar la opción de entrega no persistente JMS punto a punto
  • Error 43283 : la acción Guardar agrega .jmx si no está presente; comprueba el archivo existente en Guardar como
  • La tecla Control  +  A no funciona para Guardar todo como; cambiado a Control  +  Shift  +  S
  • Error 40991 : permitir que las aserciones verifiquen los encabezados

Versión 2.3RC3

Problemas/restricciones conocidos:

El servidor remoto de JMeter no admite varias pruebas simultáneas: cada prueba remota debe ejecutarse en un servidor independiente. De lo contrario, las pruebas pueden fallar con excepciones aleatorias, por ejemplo, excepción de modificación simultánea en StandardJMeterEngine. Consulte el error 43168 .

Es posible que la muestra de solicitud HTTP predeterminada (no HTTPClient) no funcione para conexiones HTTPS a través de un proxy. Esto parece deberse a un error de Java, consulte el error 39337 . Para evitar el problema, pruebe con una versión más reciente de Java o cambie a la versión HTTPClient de la muestra de solicitudes HTTP.

El modo principal de Transaction Controller no admite Transaction Controller anidados. Si lo hace, puede provocar una excepción de puntero nulo en TestCompiler.

Los recuentos activos de subprocesos siempre son cero en los archivos CSV y XML cuando se ejecutan pruebas remotas.

La propiedad file_format.testlog=2.1 se trata igual que 2.2. Sin embargo, JMeter respeta las 3 versiones del plan de prueba.

Error 22510 : JMeter siempre usa la primera entrada en el almacén de claves.

El modo remoto no funciona si JMeter está instalado en un directorio donde el nombre de la ruta contiene espacios.

Los elementos de prueba BeanShell pierden memoria. Esto se puede reducir utilizando un archivo en lugar de incluir el script en el elemento de prueba.

Las variables y funciones no funcionan en Listeners en modo cliente-servidor (remoto), por lo que no se pueden usar para nombrar archivos de registro en modo cliente-servidor.

Las variables del conjunto de datos CSV se definen una vez que se completa el procesamiento de configuración, por lo que no se pueden usar para otros elementos de configuración, como JDBC Config. (ver error 40394 )

Resumen de cambios (para más detalles, ver más abajo)

Algunas de las principales mejoras son:

  • Htmlparser 2.0 ahora se usa para analizar
  • La autorización HTTP ahora es compatible con el dominio y el reino
  • Las opciones de HttpClient se pueden especificar a través del archivo httpclient.parameters
  • HttpClient ahora se comporta igual que Java Http para certificados SSL
  • HTTP Mirror Server para permitir pruebas locales de muestras HTTP
  • HTTP Proxy admite grabación XML-RPC y otras mejoras de proxy
  • La función __V() permite el soporte de referencias de variables anidadas
  • LDAP Ext sampler opcionalmente analiza conjuntos de resultados y admite el modo seguro
  • FTP Sampler admite carga y modo Ascii/Binary
  • Transaction Controller ahora genera opcionalmente una muestra con subresultados
  • Los contextos de sesión HTTPS ahora son por subproceso, en lugar de compartidos. Esto proporciona una mejor emulación de múltiples usuarios.
  • Los elementos BeanShell ahora son compatibles con las interfaces ThreadListener y TestListener
  • Iconos de colores en Tree View Listener y en otros lugares para diferenciar mejor las muestras fallidas.

Las principales correcciones de errores son:

  • El manejo de HTTPS (SSL) ahora ha mejorado mucho
  • Varios errores del modo remoto corregidos
  • Control  +  C y Control  +  V ahora funcionan en el árbol de prueba
  • Latencia y codificación ahora disponibles en la salida de registro CSV
  • Los elementos de prueba ya no tienen por defecto los contenidos anteriores; los elementos de prueba ya no se borran al cambiar de idioma.

Cambios incompatibles (uso):

NB Las propiedades de javax.net.ssl ​​se han movido de jmeter.properties a system.properties y ya no funcionarán si se definen en jmeter.properties.
La nueva disposición es más flexible, ya que permite definir propiedades arbitrarias del sistema.

Los contextos de sesión SSL ahora se crean por subproceso, en lugar de compartirse. Esto genera una carga más realista para las pruebas de HTTPS. Es probable que el cambio ralentice las pruebas con muchos subprocesos SSL. El comportamiento original se puede habilitar configurando la propiedad JMeter:

https.sessioncontext.shared=true

El muestreador extendido de LDAP ahora usa el mismo panel para las pruebas Thread Bind y Single-Bind. Esto significa que cualquier prueba que utilice la prueba Single-bind deberá actualizarse para configurar el nombre de usuario y la contraseña.

Error 41140 : se cambió el comportamiento de JMeterThread para que los posprocesadores se ejecuten en orden directo (como aparecen en el plan de prueba) en lugar de en orden inverso como anteriormente. El comportamiento original se puede restaurar configurando la siguiente propiedad de JMeter:
jmeterthread.reversePostProcessors=true

El Administrador de autorización HTTP ahora tiene columnas adicionales para el dominio y el reino, por lo que se eliminó la ronda temporal de usar '\' y '@' en el nombre de usuario para delimitar el dominio y el reino.

Control  +  Z ya no se usa para Remote Start All; ahora usa Control  +  Shift  +  R

HttpClient ahora usa autenticación preventiva. Esto se puede cambiar configurando lo siguiente:

jmeter.properties:
httpclient.parameters.file=httpclient.parameters

httpclient.parámetros:
http.authentication.preemptive$Boolean=false

El campo de puerto en los valores predeterminados de solicitud HTTP ya no se ignora para las muestras de https si se establece en 80.

Cambios incompatibles (desarrollo):

NB El método clear() se definió en las siguientes interfaces: Clearable, JMeterGUIComponent y TestElement. Los métodos tienen diferentes propósitos, por lo que se cambió el nombre de dos de ellos: el método Clearable ahora es clearData() y el método JMeterGUIComponent ahora es clearGui(). Es posible que sea necesario reconstruir los complementos de terceros.

Las clases Calculator y SamplingStatCalculator ya no proporcionan ningún formato de sus datos. El formateo ahora debe hacerse usando las clases de Renderer de jorphan.gui.

Se eliminó el método en desuso JMeterUtils.split(): use la versión JOrphanUtils en su lugar.

Se eliminó el método saveUsingJPEGEncoder() de SaveGraphicsService. No se había utilizado hasta ahora y utilizaba la única clase específica de Sun en JMeter.

Nueva funcionalidad/mejoras:

  • Agregar compatibilidad con dominios y dominios al administrador de autorización HTTP
  • HttpClient ahora se comporta igual que la muestra http de JDK para certificados no válidos, etc.
  • Se agregó httpclient.parameters.file para permitir que se definan los parámetros de HttpClient
  • Error 33964 : las solicitudes Http pueden enviar un archivo como el cuerpo completo de la publicación si se omite el nombre/tipo
  • Error 41705 : agregue la opción de codificación de contenido a muestras HTTP para solicitudes POST
  • Error 40933 , error 40945 : coincidencia de RE opcional al recuperar URL de recursos incrustados
  • Error 27780 : (parche 19936) crear una solicitud HTTP de datos de formulario/varias partes sin cargar el archivo
  • Error 42098 : use la codificación especificada para los valores de los parámetros en HTTP GET
  • Error 42506 : los subprocesos de JMeter ahora usan sesiones SSL independientes
  • Error 41707 : compatibilidad con HTTP Proxy XML-RPC
  • Error 41880 : agregar filtrado de tipo de contenido al servidor proxy HTTP
  • Error 41876 : agregue más opciones para controlar lo que genera el proxy HTTP
  • Error 42158 : mejora la compatibilidad con solicitudes de datos de formulario/multiparte en el servidor proxy HTTP
  • Error 42173 : permitir que el proxy HTTP maneje la codificación de la solicitud y descodifique los valores de los parámetros
  • Error 42674 : predeterminado para autorización HTTP preventiva si no se especifica
  • Admite el protocolo de "archivo" en HTTP Samplers
  • Los redireccionamientos automáticos Http ahora están habilitados de forma predeterminada al crear nuevas muestras
  • Error 40103 : varias mejoras de LDAP
  • Error 40369 - LDAP: resultados de búsqueda estables en la muestra
  • Error 40381 - LDAP: cadenas más descriptivas
  • BeanShell Post-Processor ya no ignora las muestras con datos de resultados de longitud cero
  • Se agregó la propiedad beanshell.init.file para ejecutar un script BeanShell al inicio
  • Error 39864 : los archivos de inicio de BeanShell ahora se encuentran en el directorio actual o bin
  • Los elementos BeanShell ahora son compatibles con las interfaces ThreadListener y TestListener
  • BSF Sampler pasa variables adicionales al script
  • Tiempo de espera agregado para el muestreador de servicios web (SOAP)
  • Error 40825 : agregar compatibilidad con declaraciones preparadas de JDBC
  • Amplíe el muestreador de JDBC: compromiso, reversión, compromiso automático
  • Error 41457 : agregue la opción TCP Sampler para no reutilizar las conexiones
  • Error 41522 : use el nombre del muestreador JUnit en los resultados de la muestra
  • Error 42223 : FTP Sampler ahora puede cargar archivos
  • Error 40804 : cambiar el valor predeterminado del contador a max = Long.MAX_VALUE
  • Use la propiedad jmeter.home (si está presente) para anular user.dir al iniciar JMeter
  • Nueva opción -j para cambiar fácilmente el archivo de registro de jmeter
  • Elemento de banco de trabajo del servidor espejo HTTP
  • Error 41253 : extienda XPathExtractor para trabajar con expresiones XPath que no sean de NodeList
  • Error 42088 : Agregar aserción XPath para valores booleanos
  • Se agregó la función de variable __V para resolver nombres de variables anidadas
  • Error 40369 : aserción de respuesta igual
  • Error 41704 : permitir que se especifique la codificación de juego de caracteres para CSV DataSet
  • Error 41259 : campo de comentario agregado a todos los elementos de prueba
  • Agregar desviación estándar al informe de resumen
  • Error 41873 : agregar nombre a AssertionResult y mostrar AssertionResult en ViewResultsFullVisualizer
  • Error 36755 : guardar archivos de prueba XML con codificación UTF-8
  • Use el formato de fecha y hora ISO para Tree View Listener (anteriormente no se mostraba el año)
  • Mejore la carga de archivos CSV: si es posible, use el encabezado para determinar el formato; adivine el formato de marca de tiempo si no milisegundos
  • Error 41913 : TransactionController ahora crea muestras como submuestras de la transacción
  • Error 42582 : impresión bonita de JSON en Tree View Listener
  • Error 40099 : habilitar el uso de la variable de objeto en ForEachController
  • Error 39693 : Ver la tabla de resultados utiliza un icono en lugar de una casilla de verificación
  • Error 39717 : usar íconos en el árbol de resultados
  • Error 42247 : mejorar HCI
  • Permitir que el usuario cancele el diálogo Cerrar

Mejoras no funcionales:

  • Las llamadas de functor ahora se pueden probar por unidad
  • Reemplace las clases de com.sun.net con javax.net
  • Extraiga definiciones de jar externo en el archivo build.properties
  • Use nombres de jar específicos en rutas de clases de compilación para que los errores se detecten antes
  • Arreglo de llamadas ORO; ahora solo un caché, tamaño dado por oro.patterncache.size, por defecto 1000
  • Bug 42326 - Cambios en el orden de los elementos en los archivos .jmx

Actualizaciones de tarros externos:

  • Htmlparser 2.0-20060923
  • xstream 1.2.1/xpp3_min-1.1.3.4.O
  • batik 1.6
  • BSF 2.4.0
  • commons-colecciones 3.2
  • commons-httpclient-3.1-rc1
  • commons-jexl 1.1
  • commons-lang-2.3 (agregado)
  • JUnit 3.8.2
  • velocidad 1.5
  • commons-io 1.3.1 (agregado)

Corrección de errores:

  • Error 39773 : NTLM ahora necesita un nombre de host local; solucione otra llamada
  • Error 40438 : la configuración de "httpclient.localaddress" no tiene efecto
  • Error 40419 - Solución de traducción de mensajes chinos
  • Error 39861 : corregir error tipográfico
  • Error 40562 : los redireccionamientos ya no invocan los posprocesadores RE
  • Error 40451 : establezca la etiqueta si no la establece el muestreador
  • Arreglar NPE en CounterConfig.java en modo remoto
  • Error 40791 : calculadora utilizada por el informe de resumen
  • Error 40772 : analiza correctamente los campos que faltan en los archivos de registro CSV
  • Error 40773 : la marca de tiempo del archivo de registro XML no se analizó correctamente
  • Error 41029 : JMeter -t no puede cerrar el archivo JMX de entrada
  • Error 40954 : el modo estadístico en las pruebas distribuidas muestra resultados incorrectos
  • Solucione la excepción de ClassCast cuando se usa una muestra que devuelve un valor nulo, por ejemplo, TestAction
  • Error 41140 : los posprocesadores se ejecutan en orden inverso
  • Error 41277 : agregar latencia y codificación a la salida CSV
  • Error 41414 : Mac OS X puede agregar un elemento adicional a la ruta de clase -jar
  • Corrija NPE al guardar recuentos de subprocesos en pruebas remotas
  • Error 34261 : NPE en HtmlParser (permitir atributos faltantes)
  • Error 40100 : verifique el tipo de FileServer antes de cerrar la llamada
  • Error 39887 - jmeter.util.SSLManager: No se pudo cargar el mensaje de error del almacén de claves
  • Error 41543 : excepción cuando el servidor web devuelve "Error interno del servidor 500" y la longitud del contenido es 0
  • Error 41416 : no use la entrada fragmentada para la entrada del cuadro de texto en la muestra SOAP-RPC
  • Error 39827 : longitud de contenido de SOAP Sampler para archivos
  • Arreglar la excepción de conversión de clase en Clear.java
  • Error 40383 : no establecer el tipo de contenido si ya está establecido
  • El botón de prueba Mailer Visualiser ahora funciona si el plan de prueba aún no se ha guardado
  • Error 36959 : los accesos directos "ctrl c" y "ctrl v" no funcionan en los elementos del árbol
  • Error 40696 : recuperar recursos incrustados de los atributos STYLE URL()
  • Error 41568 : problema al ejecutar pruebas de forma remota al usar un 'Contador'
  • Se corrigieron varias clases que asumían que las marcas de tiempo siempre eran marcas de tiempo de finalización:
    • MuestreoStatCalculator
    • JTLData
    • Ejecución de muestra
  • Error 40325 : permitir la especificación de proxyuser y proxypassword para WebServiceSampler
  • Cambie la definición del proxy HttpClient para usar NTCredentials; propiedad http.proxyDomain agregada para esto
  • Error 40371 : aserción de respuesta "patrón para probar" problema de la barra de desplazamiento
  • Error 40589 : entidades XML sin escape en URL incrustadas
  • Error 41902 : NPE en HTTPSampler cuando responseCode = -1
  • Error 41903 - ViewResultsFullVisualizer: la columna de estado se ve mal cuando copia y pega
  • Error 41837 : corrupción del valor del parámetro en el proxy
  • Error 41905 : no se pueden cortar/pegar/seleccionar campos del administrador de encabezado en Java 1.6
  • Error 41928 : hacer que todos los encabezados de solicitud enviados por muestra de solicitud HTTP aparezcan en el resultado de la muestra
  • Error 41944 : los subresultados no se manejan recursivamente por ResultSaver
  • Error 42022 : HTTPSampler no permite varios encabezados con el mismo nombre
  • Error 42019 : el tipo de contenido no se almacena en la solicitud HTTP redirigida con subresultados
  • Error 42057 : la conexión puede ser nula si el método es nulo
  • Error 41518 : JMeter cambia el tipo de contenido del encabezado HTTP para la solicitud POST
  • Error 42156 : HTTPRequest HTTPClient codifica incorrectamente el valor del parámetro urlencodes en POST
  • Error 42184 : número de bytes para submuestras que no se agregan a la muestra cuando se agregan submuestras
  • Error 42185 : si una muestra HTTP sigue una redirección y está configurada para descargar imágenes, las imágenes se descargan varias veces
  • Error 39808 : la redirección no válida provoca un tiempo de muestra incorrecto
  • Error 42267 : error de actualización simultánea de la GUI en la grabación de proxy
  • Error 30120 : el nombre del controlador simple se restablece si se agrega un nuevo controlador simple como hijo
  • Error 41078 : fusionar resultados en el cambio de nombre del plan de prueba
  • Error 40077 : la creación de nuevos elementos copia valores de elementos existentes
  • Error 42325 : implementar el método "borrar" para los controladores lógicos
  • Error 25441 : los cambios de TestPlan a veces se detectan incorrectamente (isDirty)
  • Error 39734 : Oyentes compartidos después de la operación de copiar/pegar
  • Error 40851 : controlador de bucle con 0 iteraciones, deja de evaluar el campo de iteraciones
  • Error 24684 : problemas de inicio remoto si hay espacios en la ruta del jmeter
  • Use la configuración de escucha al cargar archivos de datos CSV
  • Los métodos de función setParameters() deben sincronizarse
  • Arreglar el argumento opcional largo de CLI para requerir "=" (como para opciones cortas)
  • Arreglar SlowSocket para que funcione correctamente con Httpclient (tanto http como https)
  • Error 41612 : bucle anidado en If Controller se comporta de forma errática
  • Error 42232 : cambiar el idioma borra el contenido de UDV
  • La función Jexl no permitía variables.

Versión 2.2

Cambios incompatibles:

La marca de tiempo ahora se establece en la hora de inicio de la muestra (era el final). Para volver al comportamiento anterior, cambie la propiedad sampleresult.timestamp.start a false (o coméntelo)

El formato de salida JMX se ha simplificado y los archivos no son compatibles con versiones anteriores.

El archivo JMeter.BAT ya no cambia de directorio a la página principal de JMeter, sino que se ejecuta desde el directorio de trabajo actual. Los archivos jmeter-n.bat y jmeter-t.bat cambian al directorio que contiene el archivo de entrada.

Los oyentes ahora se inician un poco más tarde para permitir el uso de nombres de variables. Esto puede causar algunos problemas; si es así, defina lo siguiente en jmeter.properties:
jmeterengine.startlistenerslater=false

La GUI ahora expande el árbol de forma predeterminada al cargar un plan de prueba. Esto se puede deshabilitar configurando la propiedad JMeter onload.expandtree=false

Problemas conocidos:

  • Los posprocesadores se ejecutan en orden inverso (consulte el error 41140 )
  • El controlador del módulo no funciona en modo no GUI
  • Aggregate Report y algunos otros oyentes usan cantidades crecientes de memoria a medida que avanza una prueba
  • No siempre maneja correctamente la codificación no predeterminada
  • Los espacios en la ruta de instalación causan problemas para el modo cliente-servidor
  • El cambio de idioma no se propaga a todos los elementos de prueba
  • SamplingStatCalculator mantiene una lista de todas las muestras con fines de cálculo; esto puede provocar el agotamiento de la memoria en pruebas de ejecución prolongada
  • No maneja correctamente los certificados de servidor si están vencidos o no están instalados localmente

Nueva funcionalidad:

  • función de informe
  • Postprocesador XPath Extractor. Maneja coincidencias simples y múltiples.
  • Formato de archivo JMX más simple (2.2)
  • El código BeanshellSampler puede actualizar ResponseData directamente
  • Error 37490 : permitir UDV como retraso en la afirmación de duración
  • Emulación de conexión lenta para HttpClient
  • JUnitSampler mejorado para que, de forma predeterminada, los errores y las excepciones no se agreguen al mensaje de error. Los usuarios deben marcar explícitamente agregar en la muestra
  • Se mejoró la documentación del muestreador de servicios web para explicar cómo funciona con CSVDataSet.
  • Se mejoró la documentación de la función javascript para explicar la coma de escape
  • Permitir que los nombres de archivo del conjunto de datos CSV sean absolutos
  • Informar mejor los errores del compilador Tree
  • No restablezca la variable Regex Extractor si el valor predeterminado está vacío
  • propiedad includecontroller.prefix agregada
  • Regular Expression Extractor establece el recuento de grupos
  • Ahora puede guardar toda la pantalla como una imagen, no solo el panel de la derecha
  • Error 38901 : agregue un encabezado SOAPAction opcional a SOAP Sampler
  • Nuevos elementos de prueba BeanShell: Timer, PreProcessor, PostProcessor, Listener
  • La función __split() ahora borra la siguiente variable, por lo que se puede usar con ForEach Controller
  • Error 38682 : agregar la funcionalidad CallableStatement a JDBC Sampler
  • Facilite el cambio del puerto RMI/Servidor
  • Agregue la propiedad jmeter.save.saveservice.xml_pi para proporcionar instrucciones de procesamiento xml opcionales en archivos JTL
  • Agregue bytes y URL a elementos que se pueden guardar en archivos de registro de muestra (XML y CSV)
  • El posprocesador "Guardar respuestas en un archivo" ahora guarda el nombre del archivo generado con la muestra, y el nombre del archivo se puede incluir en el archivo de registro de la muestra.
  • Cambie el script jmeter.bat DOS para que funcione desde cualquier directorio
  • Nueva opción -N para definir nonProxyHosts desde la línea de comandos
  • Nueva opción -S para definir las propiedades del sistema desde el archivo de entrada
  • Error 26136 : permitir la configuración de la dirección local
  • Expandir el árbol de forma predeterminada al cargar un plan de prueba; se puede deshabilitar configurando la propiedad onload.expandtree=false
  • Error 11843 : URL Rewriter ahora puede almacenar en caché la identificación de la sesión
  • Counter Pre-Processor ahora admite números formateados
  • Agregue soporte para los métodos HEAD PUT OPTIONS TRACE y DELETE
  • Permitir que se cambie la implementación HTTP predeterminada
  • Opcionalmente, guarde los recuentos de subprocesos activos (grupo y todos) en los archivos de resultados
  • Las variables/funciones ahora se pueden usar en nombres de archivos de escucha
  • Nueva función __time(); definir las propiedades y variables de START.MS/START.YMD/START.HMS
  • Agregar nombre de subproceso a las vistas de árbol y tabla
  • Agregue funciones de depuración: qué clase, depuración activada, depuración desactivada
  • Calculadora sin almacenamiento en caché: utilizada por Table Visualiser para reducir el consumo de memoria
  • Informe resumido: similar al informe agregado, pero usa menos memoria
  • Error 39580 : opción de reciclaje para el conjunto de datos CSV
  • Error 37652 : compatibilidad con el protocolo Ajp Tomcat
  • Error 39626 : carga de solicitudes SOAP/XML-RPC desde un archivo
  • Error 39652 : permitir el truncamiento de etiquetas en AxisGraph
  • Permitir el uso de htmlparser 1.6
  • Error 39656 : use siempre la acción SOAP si se proporciona
  • Incluir automáticamente propiedades del archivo user.properties
  • Agregue la función __jexl () - evalúa las expresiones Commons JEXL
  • Opcionalmente, cargue las propiedades de JMeter desde user.properties y las propiedades del sistema desde system.properties.
  • Error 39707 : permitir la coincidencia de expresiones regulares con la URL
  • Agregar hora de inicio al visualizador de tablas
  • HTTP Samplers ahora puede extraer recursos incrustados para cualquier tipo de medio requerido

Corrección de errores:

  • Repare NPE cuando no se seleccionó ningún módulo en el controlador de módulos
  • Arreglar NPE en XStream cuando no hay ResponseData presente
  • Eliminar el prefijo ?xml cuando se ejecuta con Java 1.5 y sin x-jars
  • Error 37117 : la función setProperty() debería devolver ""; Se agregó el retorno opcional de la configuración original.
  • Arreglar el formato de tiempo de salida CSV
  • Error 37140 : manejar mejor la codificación en RegexFunction
  • Cargue todas las cookies, no solo la primera; corregir la excepción de conversión de clase
  • Corregir el nombre de la ruta de la cookie predeterminada (eliminar el nombre de la página)
  • Nombre de atributo de código de resultado fijo
  • Error 36898 : aplicar codificación a RegexExtractor
  • Agregue propiedades para guardar subresultados, aserciones, latencia, datos de muestra, encabezados de respuesta, encabezados de solicitud y codificación
  • Error 37705 : el temporizador de sincronización ahora funciona bien después de detener la ejecución
  • Error 37716 : la solicitud de proxy ahora maneja la publicación de archivos correctamente
  • HttpClient Sampler ahora ahorra latencia
  • Arreglar NPE al usar la función de JavaScript en el plan de prueba
  • Arreglar el análisis de Base Href en htmlparser
  • Error 38256 : manejar cookie sin ruta
  • Error 38391 : use long al acumular retrasos en el temporizador
  • Error 38554 : la función aleatoria ahora usa números largos
  • Error 35224 : permitir atributos duplicados para la muestra LDAP
  • Error 38693 : el muestreador de servicios web ahora puede usar el protocolo https
  • Error 38646 : Regex Extractor ahora borra variables antiguas en caso de falla de coincidencia
  • Error 38640 : corrige la agrupación de muestras de servicios web
  • Error 38474 : HTML Link Parser no sigue los enlaces de marco
  • Error 36430 : Counter ahora usa long en lugar de int para aumentar el rango
  • Error 38302 : corrección de la función XPath
  • Error 38748 : JDBC DataSourceElement falla con la prueba remota
  • Error 38902 : a veces, parece que se devuelve -1 innecesariamente para el código de respuesta
  • Error 38840 : hacer que la aserción XML sea segura para subprocesos
  • Error 38681 : el controlador de inclusión ahora funciona en modo sin GUI
  • Agregar implementación de escritura (SO, IS) a TCPClientImpl
  • El convertidor de resultados de muestra guarda el código de respuesta como "rc". Anteriormente se guardaba como "rs" pero se leía con "rc"; ahora también se leerá con "rc". Las hojas de estilo XSL ahora también aceptan "rc" o "rs"
  • Arreglar la función de contador para que cada instancia de contador sea independiente (anteriormente, los contadores por usuario se compartían entre instancias de la función)
  • Arreglar ejemplos de TestBean para que funcionen
  • Corrija el analizador JTidy para que no omita las etiquetas del cuerpo con imágenes de fondo
  • Arreglar el analizador HtmlParser para que capture todas las imágenes de fondo
  • El error 39252 establece el resultado de muestra de SoapSampler a partir de datos XML
  • Error 38694 : WebServiceSampler no configura correctamente la codificación de datos
  • Result Collector ahora cierra los archivos de entrada leídos por los oyentes
  • Error 25505 : el primer muestreo HTTP falla con "Nombre de host HTTPS incorrecto: debería ser 'localhost'"
  • Error 25236 : elimine la barra de desplazamiento doble del detector de resultados de aserción
  • Bug 38234 - Graph Listener divide por cero problema
  • Error 38824 : aclarar el comportamiento de Ignorar estado
  • Error 38250 : jmeter.properties "idioma" ahora admite el sufijo de país, para zh_CN y zh_TW, etc.
  • El archivo jmeter.properties ahora está cerrado después de haber sido leído
  • Error 39533 : StatCalculator agregó elementos incorrectos
  • Error 39599 : excepción de modificación simultánea
  • HTTPSampler2 ahora maneja las redirecciones automáticas y de seguimiento correctamente
  • Error 29481 : corrige la recarga de resultados de muestra para que los subresultados no se cuenten dos veces
  • Error 30267 : manejar los redireccionamientos automáticos correctamente
  • Error 39677 : permitir espacio en la variable JMETER_BIN
  • Utilice el análisis y la administración de cookies de Commons HttpClient. Solucionar varios problemas con el manejo de cookies.
  • Error 39773 : NTCredentials necesita un nombre de host

Otros cambios

  • Actualizado a HTTPClient 3.0 (desde 2.0)
  • Actualizado a Commons Collections 3.1
  • Formato mejorado de los datos de la solicitud en la vista de árbol
  • Documentación de usuario ampliada
  • Se agregó MANIFIESTO, AVISO y LICENCIA a todos los frascos.
  • Extraiga la interfaz htmlparser en un archivo jar separado para que sea posible reemplazar el analizador
  • Se eliminó la GUI de configuración de SQL porque ya no se necesita (¡o funciona!)
  • HTTPSampler ya no registra una advertencia para Página no encontrada (404)
  • StringFromFile ahora se puede llamar como __StringFromFile (así como _StringFromFile)
  • Actualizado a Commons Logging 1.1

Versión 2.1.1

Nueva funcionalidad:

  • El nuevo controlador de inclusión permite que un plan de prueba haga referencia a un archivo jmx externo
  • Nuevo JUnitSampler agregado para usar clases de prueba JUnit
  • El nuevo oyente Aggregate Graph es capaz de graficar estadísticas agregadas
  • Puede proporcionar entradas de classpath adicionales mediante la propiedad user.classpath y en el elemento Test Plan

Corrección de errores:

  • Los elementos de prueba AccessLog Sampler y JDBC se completaron correctamente a partir de los planes de prueba 2.0
  • BSF Sampler ahora completa el nombre de archivo y los parámetros del plan de prueba guardado
  • Error 36500 : maneje los datos faltantes con más gracia en WebServiceSampler
  • Error 35546 : agregar combinación al menú contextual
  • Error 36642 : Summariser dejó de funcionar en 2.1
  • Error 36618 : la línea de encabezado CSV no coincide con los datos guardados
  • JMeter ahora debería ejecutarse bajo JVM 1.3 (pero no se compila con 1.3)

Versión 2.1

Nueva funcionalidad:

  • Nuevo formato de archivo Test Script: más pequeño, más compacto, más legible
  • Nuevo formato de archivo de resultados de muestra: más pequeño, más compacto
  • Aserción de esquema XS
  • Visualización de árbol XML
  • Elemento de configuración de CSV DataSet
  • Nuevo elemento de configuración del grupo de conexiones JDBC
  • Temporizador de sincronización
  • función establecer propiedad
  • Guardar datos de respuesta en caso de error
  • Ant JMeter XSLT ahora muestra opcionalmente respuestas fallidas y tiene enlaces internos
  • Permitir que se omita el nombre de la variable de JavaScript
  • Se cambiaron los siguientes Samplers para establecer la etiqueta de la muestra a partir del nombre del sampler.
  • Todos los elementos de prueba se pueden guardar como una imagen gráfica en un archivo
  • Error 35026 : agregar coincidencia de patrón RE a Proxy
  • Error 34739 : mejora el temporizador de rendimiento constante
  • Error 25052 : use la codificación de respuesta para crear una cadena de comparación en la aserción de respuesta
  • Nuevos iconos opcionales
  • Permitir que los iconos se definan a través de archivos de propiedades
  • Nuevas hojas de estilo para salida de prueba XML en formato 2.1
  • Guarde muestras, elementos de configuración y oyentes como PNG
  • Compatibilidad mejorada con el procesamiento de WSDL
  • Nuevo muestreador JMS para temas y mensajes de cola
  • Instrucciones para muestreadores JMS
  • Error 35525 : localización en español agregada
  • Error 30379 : permitir que se anule server.rmi.port
  • mejoró el oyente del monitor para guardar las estadísticas calculadas
  • Las funciones y variables ahora funcionan en el nivel superior del plan de prueba

Corrección de errores:

  • Error 34586 : XPath siempre permaneció como /
  • BeanShellInterpreter no manejó correctamente los objetos nulos
  • Arreglar nombres de paquetes de recursos chinos
  • Guarde los nombres de campo si es necesario en archivos CSV
  • Asegúrese de que el archivo XML esté cerrado
  • Los iconos correctos ahora se muestran para los componentes TestBean
  • Permitir que falten frascos opcionales al crear menús
  • Muestreadores cambiados para establecer la etiqueta de la muestra del nombre de la muestra como fue el caso de HTTP
  • Corrija varios muestreadores para evitar NPE cuando se proporcionen datos incompletos
  • Arreglar el Administrador de cookies para usar segundos; agregar depuración
  • Error 35067 : configurar el nombre de archivo al usar la opción -t
  • No sustituya las propiedades TestElement.* por UDV en Proxy
  • Error 35065 : no guardar extensiones antiguas en File Saver
  • Error 25413 : no habilite el botón Reiniciar innecesariamente
  • Error 35059 : el controlador de tiempo de ejecución dejó de funcionar
  • Elimine las conexiones sobrantes creadas por LDAP Extended Sampler
  • Error 23248 : el controlador del módulo no recordaba cosas entre guardar y recargar
  • Arreglar locales chinos
  • Error 29920 : cambie la configuración regional predeterminada si es necesario para garantizar que las propiedades predeterminadas se recojan cuando se selecciona inglés.
  • Corrección de errores para los subtítulos del monitor Tomcat
  • Muestreador de servicio web fijo para que funcione con variables definidas por el usuario
  • Bordes de pantalla fijos para elementos GUI de configuración LDAP
  • Error 31184 : asegúrese de que la codificación esté especificada en la muestra de JDBC
  • Muestreador de TCP: solo comparte sockets con el mismo host: detalles del puerto; corregir el manual
  • Extraiga el atributo src para incrustar etiquetas en JTidy y Html Parsers

Versión 2.0.3

Nueva funcionalidad:

  • Aserción XPath y función XPath
  • Controlador de interruptores
  • ForEach Controller ahora puede recorrer conjuntos de grupos
  • Permitir que se cambie el delimitador CSVRead (ver jmeter.properties)
  • Error 33920 : permitir archivos de propiedades adicionales
  • Error 33845 : permitir la anulación directa del directorio de inicio

Corrección de errores:

  • La constante anidada de Regex Extractor no se colocó en el lugar correcto Error 32395
  • La hora de inicio se restablece ahora si es necesario para que la demora funcione correctamente.
  • Se supone que las horas de inicio/finalización que faltan en el programador son ahora, no 1970
  • Error 28661 : 304 respuestas que no aparecen en los oyentes
  • Los scripts de DOS ahora manejan mejor diferentes discos
  • Error 32345 : HTTP Rewriter no funciona con la solicitud HTTP predeterminada
  • Captura excepciones de tiempo de ejecución para que un error en un oyente no afecte a otros
  • Error 33467 : __threadNum() extrajo el número incorrectamente
  • Error 29186 , 33299: corrige el análisis CLI de "-" en el segundo argumento
  • Arreglar el error de análisis CLI: -D arg1=arg2. Registre más parámetros de inicio.
  • Repare los analizadores JTidy y HTMLParser para manejar el formulario src= y vincular rel=stylesheet
  • JMeterThread ahora registra errores en jmeter.log que aparecían en la consola
  • Asegúrese de que la condición de WhileController se verifique dinámicamente
  • El error 32790 asegura que si la condición del controlador se vuelve a evaluar cada vez
  • Error 30266 : documento sobre cómo mostrar las respuestas de grabación de proxy
  • Error 33921 : la combinación no debe cambiar el nombre del archivo
  • Cerrar archivo ahora da la oportunidad de guardar cambios
  • Error 33559 : correcciones para Runtime Controller

Otros cambios:

  • Para ayudar con la evaluación de variables, JMeterThread establece "muestreo iniciado" un poco antes (ver jmeter.properties)
  • Error 33796 : eliminar cookies con valores nulos/vacíos
  • Mejor control del recuento de parámetros en la función de JavaScript
  • Thread Group ahora tiene un valor predeterminado de 1 bucle en lugar de para siempre
  • Todo el acceso a Beanshell ahora es a través de una sola clase; solo necesita BSH jar en tiempo de ejecución
  • Error 32464 : configuración de dibujo directo del documento en jmeter.bat
  • Error 33919 : aumentar el tamaño de los campos del contador
  • Error 32252 : ForEach no estaba inicializando contadores

Versión 2.0.2

Nueva funcionalidad:

  • Mientras que el controlador
  • Scripts de inicialización de BeanShell
  • Result Saver puede guardar opcionalmente solo los resultados fallidos
  • Mostrar como HTML tiene la opción de no descargar marcos e imágenes, etc.
  • Ahora se pueden habilitar/deshabilitar/copiar/pegar varios elementos del árbol a la vez
  • Función __split() agregada
  • El error 28699 permite que Assertion considere las respuestas fallidas, por ejemplo, 404, como exitosas
  • El error 29075 Regex Extractor ahora puede extraer datos del encabezado de respuesta http y del cuerpo
  • Las funciones __log() ahora pueden escribir en stdout y stderr
  • El modificador de URL ahora puede ignorar opcionalmente los parámetros de consulta

Corrección de errores:

  • Si el controlador ahora funciona después de la primera condición falsa Bug 31390
  • Regex GUI estaba perdiendo el rastro de la casilla de verificación Encabezado/Cuerpo Error 29853
  • Mostrar como HTML ahora maneja marcos e imágenes relativas
  • Haga clic derecho en abrir reemplazado por fusionar
  • Solucionar algunos problemas de arrastrar y soltar
  • Se corrigió el ejemplo de demostración de foreach para que funcione
  • Error 30741 Solicitud de contraseña SSL ahora funciona de nuevo
  • StringFromFile ahora cierra los archivos al final de la prueba; comenzar y terminar ahora opcional según lo previsto
  • Error 31342 Texto fijo de los encabezados de SOAP Sampler
  • El proxy ahora debe detenerse antes de que pueda eliminarse Error 25145
  • Link Parser ahora es compatible con BASE href Error 25490
  • Error 30917 Classfinder ignora nombres duplicados
  • Error 22820 Permitir que se borre el valor del contador
  • Error 28230 Corrección de NPE en HTTP Sampler recuperando recursos incrustados
  • Mejorar el manejo de StopTest; capturar y registrar algunos errores más
  • ForEach Controller ya no ejecuta ninguna muestra si la primera variable no está definida
  • Error 28663 NPE en ejecución remota de JDBC
  • Error 30110 Interbloqueo en el procesamiento de stopTest
  • Error 31696 La duración no funciona correctamente cuando se usa el Programador
  • JMeterContext ahora usa ThreadLocal; debería corregir algunos posibles errores de NPE

Versión 2.0.1

Lanzamiento de corrección de errores. TBA.

Versión 2.0

  • Se mejoró el análisis de HTML; ahora tiene la opción de 3 analizadores, y la mayoría de los elementos incrustados ahora se pueden detectar y descargar.
  • Los redireccionamientos ahora se pueden delegar a URLConnection definiendo la propiedad JMeter HTTPSamper.delegateRedirects=true (el valor predeterminado es falso)
  • Se agregaron los métodos Stop Thread y Stop Test para Samplers y Asertions, etc. Los samplers pueden llamar a setStopThread(true) o setStopTest(true) si detectan un error que necesita detener el hilo de la prueba después de que se haya procesado la muestra.
  • Thread Group Gui ahora tiene un panel adicional para especificar qué sucede después de un error de Sampler: Continuar (como ahora), Detener subproceso o Detener prueba. Esto debe extenderse a un nivel inferior en algún momento.
  • Se agregó el apagado al menú Ejecutar. Esto es lo mismo que Detener excepto que permite que los subprocesos finalicen normalmente (es decir, después de que se haya completado la siguiente muestra)
  • Las muestras remotas se pueden almacenar en caché hasta el final de una prueba definiendo la propiedad hold_samples=true cuando se ejecuta el servidor. Se necesita más trabajo para poder controlar esto desde la GUI
  • El servidor proxy tiene la opción de omitir la grabación de los encabezados del navegador
  • El reinicio del proxy funciona mejor (la parada espera a que finalice el demonio)
  • El programador ignora el inicio si ya ha pasado
  • El programador ahora tiene función de retraso
  • Se agregaron pruebas de elementos de prueba Summariser (principalmente para no GUI). Esto imprime estadísticas resumidas en System.out y/o el archivo de registro de vez en cuando (3 minutos por defecto). Se pueden utilizar varios resúmenes; las muestras se acumulan por nombre de resumen.
  • Opciones adicionales del servidor proxy: Cree todas las muestras con la función Keep-alive deshabilitada. Agregue marcadores de separador entre conjuntos de muestras. Agregue afirmación de respuesta a la primera muestra de cada conjunto.
  • El plan de prueba tiene un campo de comentarios
  • La página de ayuda ahora se puede empujar al fondo
  • Página de ayuda de función separada
  • Funciones nuevas/modificadas
    • Funciones __property() y __P()
    • __log() y __logn() - para escribir en el archivo de registro
    • _StringFromFile ahora puede procesar una secuencia de archivos, por ejemplo, dir/file01.txt, dir/file02.txt, etc.
    • La función _StringFromFile() ahora puede usar una variable o función para el nombre del archivo
  • Afirmaciones nuevas/modificadas
    • La aserción de respuesta ahora funciona para URL y maneja mejor los datos nulos
    • La aserción de respuesta ahora también puede coincidir con el código de respuesta y el mensaje de respuesta
    • Aserción HTML usando JTidy para verificar HTML bien formado
  • Si el controlador (todavía no es completamente funcional)
  • Transaction Controller (agrega los tiempos de sus hijos)
  • Nuevos muestreadores
    • Muestreador BSF Básico (opcional)
    • BeanShell Sampler (opcional, debe descargarse de www.beanshell.org
    • Muestreador de TCP básico
  • Opcionalmente, inicie el servidor BeanShell (permite el acceso remoto a las variables y métodos de JMeter)

Versión 1.9.1

por confirmar

Versión 1.9

  • Los archivos de registro de resultados de muestra ahora pueden estar en formato CSV o XML
  • Nuevo modelo de eventos para la notificación de eventos de iteración durante la ejecución del plan de prueba
  • Nueva función Javascript para ejecutar sentencias javascript arbitrarias
  • Muchas mejoras en la GUI
  • Los nuevos preprocesadores y posprocesadores reemplazan los modificadores y los modificadores basados ​​en respuestas.
  • Compatible con jdk1.3
  • Las funciones de JMeter ahora son completamente recursivas y universales (pueden usar funciones como parámetros para funciones)
  • La ventana de ayuda integrada ahora admite enlaces de hipertexto
  • Nueva función aleatoria
  • Nueva aserción XML
  • Nueva muestra de LDAP (código alfa)
  • Nueva tarea Ant para ejecutar JMeter (en la carpeta de extras)
  • Nueva implementación de prueba de Java Sampler (para ayudar a los desarrolladores)
  • Uso más eficiente de la memoria, carga más rápida de archivos .jmx
  • Nueva muestra de SOAP (código alfa)
  • Nuevo cálculo de la mediana en el visualizador de resultados gráficos
  • Elemento de configuración predeterminado agregado para beneficio del desarrollador
  • Varias mejoras de rendimiento durante la ejecución de la prueba
  • Nueva grabadora de archivos simples para una sobrecarga mínima de GUI durante la ejecución de la prueba
  • Nueva función: StringFromFile: toma valores de un archivo
  • Nueva función: CSVRead: toma múltiples valores de un archivo
  • Las funciones ahora ya no necesitan codificarse: los valores especiales deben escaparse con "\" si son valores literales
  • Nueva funcionalidad de cortar/copiar/pegar
  • Las pruebas de SSL deberían funcionar con menos manipulación del usuario y en modo sin interfaz gráfica de usuario.
  • Mailer Model funciona en modo no gui
  • Nuevo controlador de rendimiento
  • Nuevo controlador de módulo
  • Las pruebas ahora se pueden programar para que se ejecuten desde un momento determinado hasta un momento determinado
  • Los servidores JMeter remotos se pueden iniciar desde un cliente que no sea gui. Además, en modo gui, todos los servidores remotos se pueden iniciar con un solo clic
  • ThreadGroups ahora se puede ejecutar en serie o en paralelo (predeterminado)
  • Nuevas opciones de línea de comando para anular propiedades
  • Nueva afirmación de tamaño

Versión 1.8.1

  • Lanzamiento de corrección de errores. Se corrigieron muchos errores.
  • Se eliminó el nodo "raíz" redundante del árbol de prueba.
  • Iconos reintroducidos en el árbol de prueba.
  • Cierta reorganización del código para mejorar el proceso de compilación.
  • Ver árbol de resultados ha agregado una opción para ver los resultados como documento web (todavía con errores en este punto).
  • Nueva línea Total en Aggregate Listener (todavía con errores en este punto).
  • Mejoras en la capacidad de cambiar la configuración regional de JMeter.
  • Mejoras en el Administrador de SSL.

Versión 1.8

  • Mejora en los cálculos del informe Agregado.
  • Registro de aplicaciones simplificado.
  • Nueva afirmación de duración.
  • Visualizador de correo fijo y mejorado.
  • Mejoras en la recuperación de recursos de HTTP Sampler (sockets y identificadores de archivos).
  • Mejorar el manejo interno de JMeter de inicio/parada de prueba.
  • Corrección y adición de opciones al comportamiento de Interleave y Random Controllers.
  • Nuevo elemento de configuración de contador.
  • Nuevo elemento de configuración de parámetros de usuario.
  • Rendimiento mejorado del abridor de archivos.
  • Las funciones y otros elementos pueden acceder a las variables globales.
  • Sistema de ayuda disponible dentro de la GUI de JMeter.
  • Los elementos de prueba se pueden desactivar.
  • El idioma/la configuración regional se puede cambiar mientras se ejecuta JMeter (principalmente).
  • Ver árbol de resultados se puede configurar para registrar solo errores.
  • Varias correcciones de errores.

Versión 1.7.3

  • Nuevas funciones que brindan más capacidad para cambiar las solicitudes de forma dinámica durante las ejecuciones de prueba.
  • Nuevas traducciones de idiomas en japonés y alemán.
  • Se eliminaron los molestos mensajes de error de Log4J.
  • Compatibilidad mejorada para cargar archivos de plan de prueba de la versión JMeter 1.7 (archivos .jmx).
  • JMeter ahora admite servidores proxy que requieren autenticación de nombre de usuario/contraseña.
  • El cuadro de diálogo que indica que la detención de la prueba no bloquea a JMeter en problemas con la detención de la prueba.
  • La GUI puede ejecutar varios servidores JMeter remotos (corrige el error de la GUI que impedía esto).
  • Cuadro de diálogo para ayudar a las llamadas a funciones creadas en la GUI.
  • Nuevo conmutador Keep-alive en las solicitudes HTTP para indicar que JMeter debe o no debe usar Keep-Alive para los sockets.
  • Las solicitudes HTTP Post pueden tener argumentos de estilo GET en el campo Ruta. Proxy los graba correctamente ahora.
  • Nuevas variables estáticas definidas por el usuario para toda la prueba.
  • Ver árbol de resultados ahora muestra más información, incluido el nombre de la solicitud (que coincide con el nombre en el árbol de prueba) y la solicitud completa y los datos POST.
  • Se eliminó el visualizador de resultados de vista obsoleto (usar el árbol de resultados de vista en su lugar).
  • Mejoras de rendimiento.
  • Mejoras en el uso de la memoria.
  • Mejoras en la GUI del visualizador gráfico.
  • Actualizaciones y correcciones de Mailer Visualizer.

Versión 1.7.2

  • JMeter ahora notifica al usuario cuando la prueba ha dejado de ejecutarse.
  • El servidor proxy HTTP registra las solicitudes HTTP con la redirección desactivada.
  • Se puede indicar a las solicitudes HTTP que sigan los redireccionamientos o que los ignoren.
  • Varias mejoras en la GUI.
  • Nuevo controlador aleatorio.
  • Nuevo muestreador SOAP/XML-RPC.

Versión 1.7.1

  • La arquitectura de JMeter se renovó para una separación más completa entre el código GUI y el código del motor de prueba.
  • Uso del código de Avalon para guardar planes de prueba en XML como objetos de configuración
  • Todos los oyentes pueden guardar datos en un archivo y cargar los mismos datos en una fecha posterior.

Versión 1.7 Beta

  • Mejor compatibilidad con XML para caracteres especiales (Tushar Bhatia)
  • Funcionamiento sin GUI y ejecución del plan de prueba sin GUI (Tushar Bhatia)
  • Eliminando la dependencia de Swing de las clases base de JMeter
  • Internacionalización (Takashi Okamoto)
  • Corrección de errores de AllTests (neth6@atozasia.com)
  • Corrección de errores de ClassFinder (neth6@atozasia.com)
  • Nuevo controlador de bucle
  • El servidor proxy registra muestras HTTP del navegador (y documentado en el manual del usuario)
  • Compatibilidad con formularios de varias partes
  • Clase de encabezado HTTP para la personalización del encabezado
  • Extraer información del encabezado HTTP de las respuestas (Jamie Davidson)
  • Mailer Visualizer agregado de nuevo a JMeter
  • JMeter ahora url codifica nombres y valores de parámetros
  • los oyentes ya no dan excepciones si su interfaz gráfica de usuario no se ha inicializado
  • HTTPS y autorización trabajando juntos
  • Nueva muestra de Http que analiza automáticamente la respuesta HTML de las imágenes para descargar e incluye la descarga de estas imágenes en el tiempo total de solicitud (Neth neth6@atozasia.com)
  • Las respuestas HTTP del servidor se pueden analizar en busca de enlaces y formularios, y los datos dinámicos se pueden extraer y agregar a muestras de prueba en tiempo de ejecución (documentado)
  • Nueva función de aceleración (Jonathan O'Keefe)
  • Nuevos visualizadores (Net)
  • Nuevas afirmaciones para pruebas funcionales

Versión 1.6.1

  • Se corrigió el guardado y la carga de scripts de prueba (no más líneas adicionales)
  • Puede guardar y cargar caracteres especiales (como "&" y "<").
  • Puede guardar y cargar temporizadores y oyentes.
  • Corrección de errores menores para las cookies (si el valor de la cookie contenía un "=", entonces se rompió).
  • Las URL pueden muestrear puertos que no sean 80 y pueden probar HTTPS, siempre que tenga los archivos jar necesarios (JSSE)

Versión 1.6 Alfa

  • Nueva interfaz de usuario
  • Separación de GUI y código lógico
  • Nuevo marco de complementos para nuevos módulos
  • Rendimiento mejorado
  • Capas de lógica de prueba para una mayor flexibilidad
  • Se agregó soporte para guardar elementos de prueba.
  • Se agregó soporte para pruebas distribuidas usando un solo cliente

Versión 1.5.1

  • Se corrigió un error que causaba que las cookies no se leyeran si el nombre del encabezado no era el esperado.
  • Clonar las entradas antes de enviarlas a la muestra: evita que las reubicaciones arruinen la información en los subprocesos
  • Corrección de errores menores en el cuadro de diálogo de conveniencia para agregar parámetros a la muestra de prueba. El error impedía que las entradas en el cuadro de diálogo aparecieran en la muestra de prueba.
  • Se agregó xerces.jar a la distribución.
  • Se agregó junit.jar a la distribución y se crearon algunas pruebas.
  • Comenzó a trabajar en el nuevo marco. Nuevos archivos en cvs, pero aún no afectan el programa.
  • Se corrigió un error que evitaba que HTTPJMeterThread se retrasara según el temporizador elegido.

Versión 1.5

  • Abstraído el concepto de Sampler, SamplerController y TestSample. Un Sampler representa un código que comprende un protocolo (como HTTP o FTP, RMI, SMTP, etc.). Es el código que realmente hace la conexión con lo que sea que se esté probando. Un SamplerController representa un código que comprende cómo organizar y ejecutar un grupo de muestras de prueba. Es lo que une un Sampler y sus muestras de prueba y las ejecuta. Un TestSample representa un código que comprende cómo recopilar información del usuario sobre una prueba en particular. Para un sitio web, representaría una URL y cualquier información que se envíe con la URL.
  • La interfaz de usuario se ha actualizado para facilitar la entrada de muestras de prueba.
  • Se han agregado grupos de subprocesos, lo que permite a un usuario configurar varias pruebas para que se ejecuten simultáneamente y permitir el intercambio de muestras de prueba entre esas pruebas.
  • Ahora es posible guardar y cargar muestras de prueba.
  • … y muchos más cambios/mejoras menores…

Apache JMeter 1.4.1-desarrollo

  • Se limpió el código URLSampler después de toneladas de parches para una mejor legibilidad. (SM)
  • Hizo que JMeter enviara un identificador especial de "agente de usuario". (SM)
  • Se corrigieron problemas con la redirección que no enviaba cookies e información de autenticación y se eliminó una advertencia con la compilación de jikes. Gracias a Wesley Tanaka por los parches (SM)
  • Se corrigió un error en URLSampler que provocaba que se omitiera una URL al probar listas de URL y un problema con el manejo de cookies. Gracias a Graham Johnson por los parches (SM)
  • Se solucionó un problema con las acciones POST. Gracias a Stephen Schaub por el parche (SM)

Apache JMeter 1.4 - 11 de julio de 1999

  • Se solucionó un problema con las acciones POST. Gracias a Brendan Burns por el parche (SM)
  • Se agregó un botón de cierre al cuadro Acerca de para aquellos administradores de ventanas que no lo proporcionan. Gracias a Jan-Henrik Haukeland por señalarlo. (SM)
  • Se agregó el visualizador de muestra Spline simple (JPN)

Apache JMeter 1.3 - 16 de abril de 1999

  • Ejecute el recolector de basura y ejecute la finalización antes de comenzar a tomar muestras para garantizar el mismo estado cada vez (SM)
  • Se corrigieron algunas NullPointerExceptions aquí y allá (SM)
  • Se agregaron capacidades de autenticación HTTP (RL)
  • Se agregó un visualizador de muestra con ventana (SM)
  • Se corrigió un error estúpido para los argumentos de la línea de comandos. Gracias a Jorge Bracer por señalar esto (SM)

Apache JMeter 1.2 - 17 de marzo de 1999

  • Capacidades de cookies integradas con JMeter (SM)
  • Se agregó el administrador de cookies y el analizador de archivos Netscape (SD)
  • Corregido error de compilación para JDK 1.1 (SD)

Apache JMeter 1.1 - 24 de febrero de 1999

  • Creó la oportunidad de crear alias de URL a partir del archivo de propiedades, así como la capacidad de asociar alias a secuencias de URL en lugar de URL individuales (SM). Gracias a Simon Chatfield por las muy buenas sugerencias y ejemplos de código.
  • Se eliminó TextVisualizer y se reemplazó con el mucho más útil FileVisualizer (SM)
  • Se agregó la lista de errores conocidos (SM)
  • Se eliminó el logotipo de Java Apache (SM)
  • Se corrigieron un par de errores tipográficos (SM)
  • Se agregó el archivo MAKE de UNIX (SD)

Apache JMeter 1.0.1 - 25 de enero de 1999

  • Se eliminaron los problemas pendientes de documentos (SM)
  • Se corrigió el script de Unix (SM)
  • Se agregó la posibilidad de ejecutar el JAR directamente usando "java -jar ApacheJMeter.jar" con Java 2 (SM)
  • Algunas pequeñas actualizaciones: ubicación fija de Swing después del lanzamiento de Java 2(tm), actualización de licencia y pequeñas limpiezas (SM)

Apache JMeter 1.0 - 15 de diciembre de 1998

  • Versión inicial. (SM)

Go to top