Geschichte früherer Änderungen

Auf dieser Seite werden nur die Änderungen aufgeführt, die in früheren Versionen vorgenommen wurden.
Aktuelle Änderungen sind unter Änderungen aufgeführt .

Änderungsabschnitte sind chronologisch von oben (neueste) nach unten (älteste) geordnet.

Version 5.4.2

Zusammenfassung

Diese Version ist ein Fix-Release gegen die Schwachstelle CVE-2021-44228: Apache Log4j2 JNDI-Funktionen schützen nicht vor angreifergesteuertem LDAP und anderen JNDI-bezogenen Endpunkten.

Neu und bemerkenswert

UX-Verbesserungen

Inkompatible Änderungen

Verbesserungen

HTTP-Sampler und Testskript-Recorder

Andere Sampler

Controller

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

Bericht / Dashboard

Allgemein

Nicht funktionale Änderungen

  • Apache log4j2 auf 2.16.0 (von 2.13.3) aktualisiert.

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

Andere Sampler

Controller

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

Bericht / Dashboard

Dokumentation

Allgemein

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.
  • Seit Java 11 ist die JavaScript-Implementierung Nashorn veraltet . Java gibt die folgenden Deprecation-Warnungen aus, wenn Sie JavaScript basierend auf Nashorn verwenden.
    Warnung: Die Nashorn-Engine soll aus einer zukünftigen JDK-Version entfernt werden
    
    Um diese Warnungen stumm zu schalten, fügen Sie -Dnashorn.args=--no-deprecation-warning zu Ihren Java-Argumenten hinzu. Dies kann durch Setzen der Umgebungsvariable JVM_ARGS erreicht werden
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    
  • Mit Java 15 wurde die JavaScript-Implementierung Nashorn entfernt . Um eine JSR-223-kompatible JavaScript-Engine hinzuzufügen, haben Sie zwei Möglichkeiten:
    Verwenden Sie Mozilla Rhino
    Kopieren Sie rhino-engine-1.7.13.jar nach $JMETER_HOME/lib/ext .
    Verwenden Sie OpenJDK Nashorn
    Die OpenJDK Nashorn-Implementierung kommt als Modul. Um es zu verwenden, müssen Sie es herunterladen und dem Modulpfad hinzufügen. Eine hackige Methode zum Herunterladen der Version 15.0 und ihrer Abhängigkeiten und zum Festlegen des Modulpfads ist unten beschrieben:
    mkdir lib/modules
    pushd lib/modules
    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
    popd
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmeter
          

Version 5.4.1

Zusammenfassung

Neu und bemerkenswert

UX-Verbesserungen

Inkompatible Änderungen

  • Neustart, nachdem die LAF-Änderung wiederhergestellt wurde, sie wurde in JMeter 5.3 entfernt

Verbesserungen

HTTP-Sampler und Testskript-Recorder

Andere Sampler

Controller

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

Bericht / Dashboard

Allgemein

  • Fehler 65028 – Dokumentation für die Eigenschaft client.rmi.localport hinzugefügt
  • Bug 65012 - Bessere Behandlung der Anzeige langer Kommentare in der GUI

Nicht funktionale Änderungen

  • SaxonHE auf 9.9.1-8 (von 9.9.1-7) aktualisiert
  • asm auf 9.0 aktualisiert (von 7.3.1)
  • Hüpfburg auf 1.67 aktualisiert (von 1.66)
  • Koffein auf 2.8.8 aktualisiert (von 2.8.0)
  • Commons-Codec auf 1.15 aktualisiert (von 1.14)
  • commons-io auf 2.8.0 aktualisiert (von 2.7)
  • commons-net auf 3.7.2 aktualisiert (von 3.7)
  • Jackson auf 2.10.5 aktualisiert (von 2.10.3)
  • Juni auf 4.13.1 aktualisiert (von 4.13)
  • ph-commons auf 9.5.1 aktualisiert (von 9.4.1)
  • ph-css auf 6.2.3 aktualisiert (von 6.2.1)
  • Groovy auf 3.0.7 aktualisiert (von 3.0.5)
  • xstream auf 1.4.15 aktualisiert (von 1.4.14)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 64955 – Keystore-Passwort wird beim Neuladen nicht zurückgesetzt
  • Fehler 65002 – Der HTTP(S)-Testskript-Recorder erstellt eine ungültige Basisauthentifizierungs-URL. Beigesteuert von Ubik Load Pack (https://ubikloadpack.com)
  • Fehler 65004 – Der HTTP(S)-Testskript-Recorder berechnet eine falsche HTTP-Anfrage, wodurch die Anwendung beschädigt wird. Beigesteuert von Ubik Load Pack (https://ubikloadpack.com)
  • Fehler 64543 – Unter MacOSX löst Darklaf-IntelliJ Theme NPE in javax.swing.ToolTipManager.initiateToolTip aus
  • Fehler 65024 – Das Senden des MIME-Typs mit Parameter löst IllegalArgumentException aus
  • Fehler 65029 – Versuchen Sie mehr, die URL für Applets richtig zu erraten, wenn das Herunterladen von eingebetteten URLs aktiviert ist

Andere Sampler

  • Fehler 65034SocketTimeoutException auf BinaryTCPClientImpl ignorieren , wenn kein EOM-Byte gesetzt ist. Regression eingeführt durch Commit c190641e4f0474a34a366a72364b0a8dd25bfc81, wodurch Fehler 52104 - behoben wurde. Bei diesem Fehler ging es darum, den Fall des Wartens auf einen EOM zu behandeln.

Controller

Zuhörer

  • Fehler 64821 – Beim Importieren von JTL-Dateien im XML-Format werden Sub-Sampler umbenannt
  • Fehler 65052 – XPath2 Tester und JSON JMESPath Tester fehlen in der Eigenschaft view.results.tree.renderers_order

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

Bericht / Dashboard

Dokumentation

  • Fehler 64960 – Planer-Referenz in der Thread-Gruppen-Dokumentation geändert. Beigesteuert von Ori Marko
  • Fehler 65006 – Abbildung für das Element "Standardwerte für HTTP-Anfragen" (Abbildung 4.4) enthält irreführende Informationen

Allgemein

  • Fehler 64957 – Beim Importieren eines Beispiel-Testplans zeigt JMeter eine NullPointerException an
  • Fehler 64961 – Darklaf: Unter Windows 7 NPE in BasicEditorPaneUI.cleanDisplayProperties mit Darklaf Intellij
  • Fehler 64963 – Leerer Kommentar-Tooltip ist sichtbar
  • Fehler 64969 – RemoteJMeterEngineImpl#rexit deexportiert RemoteJMeterEngineImpl beim Beenden nicht. Beigesteuert von luo_isaiah auf qq.com
  • Fehler 64984 – Darklaf LAF: Die Auswahl eines Testelements funktioniert unter bestimmten Bildschirmauflösungen unter Windows nicht. Mit der Hilfe von Jannis Weis
  • Fehler 65008 – SampleResult.setIgnore(), aufgerufen vom PostProcessor, wird nicht berücksichtigt
  • Fehler 64993 – Daklaf LAF: Menünavigation funktioniert nicht mit Tastaturkürzeln. Mit der Hilfe von Jannis Weis
  • Fehler 65013 – POST multipart/form-data cURL-Code mit Argumenten in Anführungszeichen wird nicht korrekt importiert

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.
  • Seit Java 11 ist die JavaScript-Implementierung Nashorn veraltet . Java gibt die folgenden Deprecation-Warnungen aus, wenn Sie JavaScript basierend auf Nashorn verwenden.
    Warnung: Die Nashorn-Engine soll aus einer zukünftigen JDK-Version entfernt werden
    
    Um diese Warnungen stumm zu schalten, fügen Sie -Dnashorn.args=--no-deprecation-warning zu Ihren Java-Argumenten hinzu. Dies kann durch Setzen der Umgebungsvariable JVM_ARGS erreicht werden
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    
  • Mit Java 15 wurde die JavaScript-Implementierung Nashorn entfernt . Um eine JSR-223-kompatible JavaScript-Engine hinzuzufügen, haben Sie zwei Möglichkeiten:
    Verwenden Sie Mozilla Rhino
    Kopieren Sie rhino-engine-1.7.13.jar nach $JMETER_HOME/lib/ext .
    Verwenden Sie OpenJDK Nashorn
    Die OpenJDK Nashorn-Implementierung kommt als Modul. Um es zu verwenden, müssen Sie es herunterladen und dem Modulpfad hinzufügen. Eine hackige Methode zum Herunterladen der Version 15.0 und ihrer Abhängigkeiten und zum Festlegen des Modulpfads ist unten beschrieben:
    mkdir lib/modules
    pushd lib/modules
    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
    popd
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmeter
          

Version 5.4

Zusammenfassung

Neu und bemerkenswert

UX-Verbesserungen

Fehler 62179 - Fehler 64658 - Der Begrüßungsbildschirm ist jetzt anwendungsmodal und nicht mehr systemmodal, sodass andere Anwendungen beim Start von JMeter nicht blockiert werden.

Inkompatible Änderungen

  • Entfernen Sie die LogKit-Logger-Funktionalität aus einigen Klassen. Dies sollte die LoggingManager -Klasse vollständig entfernen (sie ist seit JMeter 3.2 veraltet), aber da jmeter-plugins davon abhängig sind, bleiben LoggingManager und unser LogKit - Adapter für diese Version erhalten (ist aber immer noch veraltet).

Verbesserungen

HTTP-Sampler und Testskript-Recorder

Andere Sampler

  • Fehler 64555 – Legen Sie das JMSType-Header-Feld über JMSProperties fest. Beigesteuert von Daniel van den Ouden

Controller

Zuhörer

  • Pull-Anforderung Nr. 544 – BackendListener hinzufügen, der „rohe“ Ergebnisse an InfluxDB sendet. Beigesteuert von Graham Russell (graham at ham1.co.uk)

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

Bericht / Dashboard

  • Fehler 64824 – Dashboard/HTML-Bericht: Benennen Sie KO in FAIL um
  • Fehler 64936 – Erhöhen Sie generate_report_ui.generation_timeout auf 5 Minuten, um große Leistungstests zu bewältigen

Allgemein

  • Fehler 64446 – Bessere Analyse von Curl-Befehlen mit Backslash am Zeilenende und Unterstützung der PUT -Methode mit Datenargumenten
  • Pull-Request Nr. 599 – Stellen Sie sicher, dass sich alle zur Symbolleiste hinzugefügten Schaltflächen konsistent verhalten/aussehen. Beigesteuert von Jannis Weis
  • Fehler 64581SampleResult#setIgnore erlauben , das Verhalten bei Sampler-Fehlern zu beeinflussen
  • Fehler 64680 – Greifen Sie beim Start auf JMETER_HOME zurück , um das Installationsverzeichnis von JMeter zu erkennen
  • Fehler 64787 Pull-Request Nr. 630 – Koreanische Übersetzung hinzugefügt. Beigesteuert von Woonsan Ko (woonsan at apache.org)
  • Fehler 64776 – Fügen Sie die Möglichkeit hinzu, zusätzliche SecurityProvider zu installieren. Beigesteuert von Timo (ASF.Software.Timo at Leefers.eu)

Nicht funktionale Änderungen

  • Build-System von Gradle auf 6.7 (von 6.6) aktualisiert
  • Pull Request #594 - Neo4j-Java-Treiber auf 4.2.0 (von 1.7.5) aktualisiert
  • Bug 64454 - Genauere Fehlermeldung, wenn kein Datenquellenwert im JDBC-Sampler gefunden werden kann
  • Fehler 64440 – Über JMeterUtils#reportToUser gemeldete Protokollausnahmen auch im GUI-Modus
  • Pull-Anforderung Nr. 591 – Entfernen Sie das veraltete Sudo-Flag aus der Travis-Datei. Deng Liming (liming.d.pro bei gmail.com)
  • Darklaf auf 2.4.10 aktualisiert (von 2.1.1)
  • Groovy auf 3.0.5 aktualisiert (von 3.0.3)
  • Pull Request Nr. 596 – Verwenden Sie neutrale Wörter in der Dokumentation
  • Fehler 63809 Pull-Anforderung Nr. 557 – Commons-Sammlungen auf 4.4 (von 3.2.2) aktualisiert, während die JAR-Dateien für die alten Commons-Sammlungen 3.x aus Kompatibilitätsgründen beibehalten wurden
  • Pull-Request Nr. 598 – Fügen Sie der Gebäudeseite eine weitere Option zum Erstellen von Diffs hinzu. Beigesteuert von jmetertea (github.com/jmetertea)
  • Pull-Request Nr. 609 – Verwenden Sie die neuere API für die Darklaf-Installation. Jannis Weiss
  • Pull-Request #612 – Tippfehler in README.md korrigieren . Basierend auf Patches von Pooja Chandak (poojachandak002 bei gmail.com)
  • Pull-Request Nr. 613 – Dokumentation für Darklaf-Eigenschaften hinzufügen. Jannis Weiss
  • Aktualisieren Sie SpotBugs auf 4.1.2 (von 4.1.1), aktualisieren Sie spotbugs-gradle-plugin auf 4.5.0 (von 2.0.0)
  • Aktualisieren Sie das org.sonarqube Gradle-Plugin auf 3.0 (von 2.7.1)
  • Aktualisieren Sie Apache ActiveMQ auf 5.16.0 (von 5.15.11)
  • Aktualisieren Sie Bouncycastle auf 1.66 (von 1.64)
  • Aktualisieren Sie Apache commons-io auf 2.7 (von 2.6)
  • Update Apache commons-lang3 auf 3.11 (von 3.10)
  • Aktualisieren Sie Apache commons-net auf 3.7 (von 3.6)
  • Aktualisieren Sie Apache commons-pool2 auf 2.9.0 (von 2.8.0)
  • Apache commons-text auf 1.9 aktualisieren (von 1.8)
  • Update equalsverifier auf 3.4.2 (von 3.1.13)
  • Update junit5 auf 5.6.2 (von 5.6.0)
  • Aktualisieren Sie Apache log4j2 auf 2.13.3 (von 2.13.1)
  • rsyntaxtextarea auf 3.1.1 aktualisieren (von 3.1.0)
  • Update JUnit5 auf 5.7.0 (von 5.6.2)
  • Aktualisieren Sie Rhino auf 1.7.13 (von 1.7.12)
  • Aktualisieren Sie XStream auf 1.4.14 (von 1.4.14.1)
  • Aktualisieren Sie Apache commons-dbcp2 auf 2.8.0 (von 2.7.0)
  • Pull Request #635 – Korrigieren Sie einige Bildverhältnisse in der Dokumentation. Patch bereitgestellt von Vincent Daburon (vdaburon at gmail.com)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 64479 – Regression: HTTP(s) Script Recorder verhindert ordnungsgemäßes Herunterfahren im Nicht-GUI-Modus
  • Fehler 64653 – Schließen Sie Javascript und JSON vom Parsen für Zeichensätze aus Formularen per Proxy aus

Andere Sampler

Controller

  • Fehler 64795 - Zusammenfassungsbericht generieren gibt möglicherweise keine Zusammenfassungszeile im konfigurierten Intervall ( summariser.interval ) aus: Klären Sie die Dokumentation

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 64638 – JSON JMESPath Assertion / JSON Assertion: Beim Öffnen der GUI wird eine horizontale Bildlaufleiste angezeigt, die sich weiter verschiebt
  • Fehler 64915 – JMeter Cache Manager verhält sich falsch, wenn „Cache-Control/Expires-Header verwenden“ aktiviert ist

Funktionen

I18N

Bericht / Dashboard

  • Fehler 64547 – Bericht/Dashboard: Stellen Sie sicher, dass die Antwortcodes der Grafiken pro Sekunde nicht durch einen leeren Antwortcode in SampleResult unterbrochen werden. Beigesteuert von Ubik Load Pack (https://ubikloadpack.com)
  • Fehler 64617 – HTML-Bericht: Im Diagramm Response Time Percentiles Over Time entspricht das 90., 95., 99. Perzentil in Wirklichkeit 0,90, 0,95 und 0,99 Perzentilen
  • Fehler 64553 – Bei Verwendung des Transaktionscontrollers werden gesendete Bytes und empfangene Bytes als 0 in der influxdb (BackendListener) angezeigt.
  • Fehler 64624 – Verwenden Sie weniger aggressives Escaping für JSON-Strings in Fehlermeldungen

Dokumentation

  • Pull-Anforderung Nr. 571 – Korrigieren Sie den dokumentierten Namen der generierten Zertifizierungsstelle, wenn Sie den Proxy-Skript-Recorder verwenden. Teil einer größeren PR. Vincent Daburon (vdaburon bei gmail.com)
  • Ändern Sie die Dokumentation der speziellen Header-Funktionalität des Spiegelservers, um die Implementierung widerzuspiegeln.

Allgemein

  • Fehler 64448 – Benutzerdefinierte Variablenduplizierung im Rechtsklick-Kontextmenü
  • Fehler 64499 – Beenden von JMeter, wenn jmeterengine.stopfail.system.exit=true zu lange dauert, wenn Threads nicht gestoppt werden
  • Fehler 64510 – Darklaf – IntelliJ Theme löst NPE in DarkTreeUI auf MacOS aus
  • Fehler 64594 – Es ist nicht möglich, Variablenwerte anstelle von numerischen Werten in Komponenten einzugeben, die PowerTableModel verwenden (beeinflusst Plugins von Drittanbietern wie Throughput Shaping Timer)
  • Fehler 64475 – Menü HTML-Bericht generieren: Wenn die Berichterstellung aufgrund einer Zeitüberschreitung fehlschlägt, ist die Fehlermeldung nicht eindeutig. Beigesteuert von Ubik Load Pack (https://ubikloadpack.com)
  • Bug 64627 – Programmatische Manipulation des Kontrollflusses über API-Methoden von JMeterContext funktioniert nicht mehr wie vor 5.0. Beigetragen von Till Neunast
  • Fehler 64647 – groovy-dateutil fehlt in der Distribution
  • Fehler 64640 – Darklaf: NPE unter com.github.weisj.darklaf.ui.DarkPopupFactory.getPopupType(DarkPopupFactory.java:96)
  • Fehler 64641 – Darklaf: NPE unter com.github.weisj.darklaf.ui.tree.DarkTreeUI.isChildOfSelectionPath(DarkTreeUI.java:603) ~[darklaf-core-2.4.2-SNAPSHOT.jar:2.4.2-SNAPSHOT]
  • Fehler 64453 – Darklaf: Fehler beim Speichern des Testplans als neuer Ordner
  • Fehler 64625 – Darklaf: Der Versuch, einen Ordner in Browse auszuwählen, führt zu einem Fehler-Popup und Stacktrace
  • Fehler 64711 – Textbereichsfarben sind in dunklen Modi nicht gut. Beigesteuert von Jannis Weis
  • Fehler 64935 – Eine defekte Plugin-Klasse sollte JMeter nicht am Starten hindern

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • Michael Weidmann (https://github.com/michaelweidmann)
  • Deng Liming (liming.d.pro bei gmail.com)
  • jmetertea (https://github.com/jmetertea)
  • Ubik-Ladepaket
  • Jannis Weiss
  • Daniel van den Ouden
  • Till Neunast (https://github.com/tilln)
  • Pooja Chandak (poojachandak002 bei gmail.com)
  • Vincent Daburon (vdaburon bei gmail.com)
  • Woonsan Ko (woonsan auf apache.org)
  • Timo (ASF.Software.Timo bei Leefers.eu)
  • Graham Russell (Graham bei ham1.co.uk)

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

  • Hiroyoshi Mitsumori (mitsumori bei mis.dev)

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.
  • Seit Java 11 ist die JavaScript-Implementierung Nashorn veraltet . Java gibt die folgenden Deprecation-Warnungen aus, wenn Sie JavaScript basierend auf Nashorn verwenden.
    Warnung: Die Nashorn-Engine soll aus einer zukünftigen JDK-Version entfernt werden
    
    Um diese Warnungen stumm zu schalten, fügen Sie -Dnashorn.args=--no-deprecation-warning zu Ihren Java-Argumenten hinzu. Dies kann durch Setzen der Umgebungsvariable JVM_ARGS erreicht werden
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    
  • Mit Java 15 wurde die JavaScript-Implementierung Nashorn entfernt . Um eine JSR-223-kompatible JavaScript-Engine hinzuzufügen, haben Sie zwei Möglichkeiten:
    Verwenden Sie Mozilla Rhino
    Kopieren Sie rhino-engine-1.7.13.jar nach $JMETER_HOME/lib/ext .
    Verwenden Sie OpenJDK Nashorn
    Die OpenJDK Nashorn-Implementierung kommt als Modul. Um es zu verwenden, müssen Sie es herunterladen und dem Modulpfad hinzufügen. Eine hackige Methode zum Herunterladen der Version 15.0 und ihrer Abhängigkeiten und zum Festlegen des Modulpfads ist unten beschrieben:
    mkdir lib/modules
    pushd lib/modules
    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
    popd
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmeter
          

Version 5.3

Zusammenfassung

Neu und bemerkenswert

UX-Verbesserungen

Darklaf -Look-and-Feel hinzugefügt , das mehrere Komponenten verbessert.

Die Baumeinrückungsebene ist einfacher zu verfolgen:

JMeter-Baum mit Darklaf Darcula-Thema
JMeter-Baum mit Darklaf Darcula-Thema
JMeter-Baum mit Darklaf IntelliJ-Design
JMeter-Baum mit Darklaf IntelliJ-Design

Neue Look-and-Feel-Themen. Licht: IntellJ, solarisiertes Licht, kontrastreiches Licht. Dunkel: OneDark, Solarized Dark, HighContrast Dark.

Wenn ein Element im Baum deaktiviert ist, werden alle seine Nachkommen grau dargestellt. Beispielsweise ist While Contoller im folgenden Baum deaktiviert, sodass seine untergeordneten Elemente grau sind. Es handelt sich lediglich um eine Änderung der Benutzeroberfläche, und das Verhalten wird nicht geändert.

Während der Controller deaktiviert ist, sind seine Kinder grau
Während der Controller deaktiviert ist, sind seine Kinder grau

Das Baumkontextmenü wird auch dann angezeigt, wenn die Knotenauswahl geändert wird. Zuvor verschwand das Popup und es war erforderlich, zuerst einen Knoten auszuwählen und erst dann das Popup zu starten.

Look and Feel kann jetzt ohne Neustart aktualisiert werden

Verwenden Sie STRG  +  ALT  +  Rad zum Zoomen von Schriftarten. Die vorherige Tastenkombination war STRG  +  UMSCHALT  +  Rad , es kam jedoch zu Konflikten mit dem horizontalen Scrollen.

In-App-Zoom ist konsistenter (z. B. wurden manchmal nicht alle Beschriftungen oder sogar Panels skaliert). Zum Beispiel: Log Viewer, JSR223-Code-Editor wurden zuvor nicht mit Zoom-In/Out-Funktion skaliert

Das Baum-Kontextmenü wird für die gesamte Zeile angezeigt, nicht nur für die Beschriftung

Unterstützung für bearbeitbare Felder rückgängig machen und wiederherstellen. Tastenanschläge sind je nach Betriebssystem STRG  +  Z / STRG  +  SHIFT  +  Z oder CMD  +  Z / CMD  +  SHIFT  +  Z . Das Rückgängigmachen wird auf Feldebene implementiert (jedes Feld hat seinen eigenen Verlauf), und der Verlauf wird ungültig, wenn sich die Baumauswahl ändert.

Markieren Sie die aktuell ausgewählte Sprache im Optionsmenü.

Markieren Sie im Optionsmenü den aktuell ausgewählten Loglevel.

Überarbeitung vieler Testelement-UIs (JUnit Request, ForEach Controller, If Controller, Throughput Controller, WhileController, Counter Config, XPath2 Extractor, Function Helper Dialog, Search Popup, JMS Elements)

Inkompatible Änderungen

  • Der Standardwert von httpclient4.time_to_live wurde von 2000 auf 60000 geändert , das bedeutet, dass HTTP-Verbindungen länger leben als zuvor. Dies hat Auswirkungen auf die Verbindungserstellung und den SSL-Handshake, siehe Bug 64289
  • Das Update auf Groovy 3 ( Pull-Request #590 - ) kann einigen alten Groovy-Code Ihrer Tests beschädigen. Werfen Sie einen Blick auf die Update-Hinweise für Groovy 3

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 64160 – Test HTTP/S Test Script Recorder: Benennen Sie Transaktionscontroller/einfachen Controller mit Präfix ohne Suffix „ -XXXX “ .
  • Fehler 64289 – Setzen Sie httpclient4.time_to_live auf 60000 , um dem typischen Browserverhalten näher zu kommen

Andere Sampler

  • Fehler 64288 – JUnit-Anfrage: UX verbessern
  • Fehler 64407 – Verbesserte JMS Publisher UX. Beigesteuert von Ubik Load Pack (https://ubikloadpack.com)
  • Fehler 64408 – Verbesserung der JMS-Abonnenten-UX. Beigesteuert von Ubik Load Pack (https://ubikloadpack.com)

Controller

Zuhörer

  • Fehler 64150 – Ergebnisstruktur anzeigen: Bearbeiten von Antwortdaten in Testern zulassen
  • Fehler 63822 – Ergebnisbaum anzeigen: Position des geteilten Bereichs beibehalten, während der Renderer-Modus gewechselt wird

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 64091 – Präzise Durchsatz-Timer-Planerstellung wurde erheblich verbessert (z. B. 2 Sekunden für 10 Millionen Samples)
  • Fehler 64281 – Zählerkonfiguration: Verbesserung der UX
  • Fehler 64283 – XPath2-Extraktor: Verbesserte UX

Funktionen

  • Fehler 64070Die _timeshift- Funktion funktioniert nicht mit Offset-Formatierern
  • Fehler 64275 – Funktionshilfedialog: Verbesserung der UX

I18N

  • Fehler 64102 – Chinesische Übersetzung für das Menü „Extras“ hinzugefügt. Beigesteuert von Liu XP (liu_xp2003 auf sina.com)

Bericht / Dashboard

  • Fehler 64380 – Fügen Sie dem Dashboard ein „ Median “-Feld hinzu und sorgen Sie dafür, dass die Antwortzeit-Perzentilfelder Fließkommazahlen unterstützen. Beigesteuert von Keith Mo (https://github.com/keithmork)
  • Fehler 64378 – Die Generierung von HTML-Berichten sollte nicht fehlschlagen, wenn ein Plugin einen Graphen registriert hat und nicht mehr im Klassenpfad vorhanden ist, stattdessen eine Warnung ausgeben

Allgemein

  • Fehler 63458 Pull Request Nr. 551 – Neue Vorlage „Functional Testing Test Plan [01]“ hinzugefügt. Beigesteuert von Sebastian Boga (sebastian.boga at endava.com)
  • Fehler 64119 – Verwenden Sie den ersten Renderer aus der Eigenschaft view.results.tree.renderers_order als Standard in View Results Tree
  • Fehler 64148 – Verwenden Sie graue Symbole für deaktivierte Elemente im Baum, zeigen Sie den Unterbaum grau an
  • Fehler 64198 – Leerzeichen in ${...} - Ausdrücken um Funktionen herum zulassen.
  • Fehler 64276 – Such-Popup: UX verbessern
  • Pull-Request Nr. 573 – Verbessern Sie die Startzeit: Initialisierung der Benutzeroberfläche des Testplans überspringen
  • Pull-Request Nr. 585 – JEXL3 als Syntax-Alias ​​für JSyntaxTextArea hinzugefügt. Beigesteuert von drivera-armedia (https://github.com/drivera-armedia)
  • Pull-Request #590 – Groovy auf 3.0.3 aktualisieren.

Nicht funktionale Änderungen

  • Build-System von Gradle auf 6.3 (von 6.1) aktualisiert, Java 14 kann jetzt für den Build verwendet werden
  • Fehler 63963 Pull-Request #546 – ​​Jackson auf 2.10.3 aktualisiert (von 2.9.10)
  • Fehler 64120 – jsoup auf 1.13.1 aktualisiert (von 1.12.1)
  • Fehler 63809 – commons-dbcp2 auf 2.7.0 aktualisiert (von 2.5.0)
  • Apache ActiveMQ auf 5.15.11 aktualisiert (von 5.15.8)
  • Hüpfburg auf 1.64 aktualisiert (von 1.60)
  • asm auf 7.3.1 aktualisiert (von 7.1)
  • Aktualisierter Apache Commons-Codec auf 1.14 (von 1.13)
  • Aktualisierter Apache Commons-Pool auf 2.8.0 (von 2.7.0)
  • Equalsverifier auf 3.1.9 aktualisiert (von 3.1.12)
  • Apache Groovy auf 2.4.18 aktualisiert (von 2.4.16)
  • hsqldb auf 2.5.0 aktualisiert (von 2.4.1)
  • Hamcrest auf 2.2 aktualisiert (von 2.1)
  • Apache httpclient und httpmime auf 4.5.12 aktualisiert (von 4.5.10)
  • Apache httpcore und httpcore-nio auf 4.4.13 aktualisiert (von 4.4.12)
  • Apache Tika auf 1.24.1 aktualisiert (von 1.22)
  • jmespath auf 0.5.0 aktualisiert (von 0.3.0)
  • Apache log4j auf 2.13.1 aktualisiert (von 2.12.1)
  • junit4 auf 4.13 aktualisiert (von 4.12)
  • junit5 auf 5.6.0 aktualisiert (von 5.5.1)
  • slf4j auf 1.7.30 aktualisiert (von 1.7.28)
  • ph-commons auf 9.4.1 aktualisiert (von 9.3.7)
  • ph-css auf 6.2.2 aktualisiert (von 6.2.0)
  • rsyntaxtextarea auf 3.1.0 aktualisiert (von 3.0.4)
  • rhino auf 1.7.12 aktualisiert (von 1.7.11)
  • SaxonHE auf 9.9.1-7 (von 9.9.1-5) aktualisiert
  • cglib auf 3.2.12 aktualisiert (von 3.2.9)
  • commons-lang3 auf 3.10 aktualisiert (von 3.9)
  • Freemarker auf 2.3.30 aktualisiert (von 2.3.29)
  • Hamcrest-Datum auf 2.0.7 aktualisiert (von 2.0.4)
  • Equalsverifier auf 3.1.13 (von 3.1.12) aktualisiert
  • xstream auf 1.4.11.1 aktualisiert (von 1.4.11)
  • Pull Request #559 – Fügen Sie der Quelle von TrustAllSSLSocketFactory einen Hinweis hinzu, dass es nicht sicher ist, allen zu vertrauen. Basierend auf einer PR von YYTVicky (yytvicky at github)
  • Pull-Request Nr. 588 – Dokumentation zur Nutzung von InfluxDB v2 für Echtzeit-Ergebnisse hinzufügen. Basierend auf PR von Jakub Bednář (jakub.bednar at gmail.com)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 64400 – Machen Sie das Sortieren aufgezeichneter Samples in Transaktionscontroller vorhersehbarer
  • Fehler 64267 – Wenn die präventive Authentifizierung deaktiviert ist, antwortet HTTP Sampler nicht automatisch auf die Basic Auth-Abfrage

Andere Sampler

Controller

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 64091 – Precise Throughput Timer produziert möglicherweise weniger Samples, wenn eine niedrige Testdauer verwendet wird
  • Fehler 64142 – Das Vorhandensein von DebugPostProcessor im Testplan unterbricht ActiveThread im Laufe der Zeit im Bericht aufgrund fehlender Informationen
  • Fehler 64196 – Beim Prüfen von Behauptungen tiefer in Sub-Sampler rekursieren
  • Fehler 64196 – Rekursion in sampleResults für AbstractScopedTestElement#getSampleList
  • Fehler 64381 – PreciseThroughputTimer: Beim Beenden enthält die Protokollnachricht einen negativen Wert

Funktionen

I18N

Bericht / Dashboard

  • Fehler 64059 – Reaktionszeit-Perzentile im Laufe der Zeit, die Perzentile können nicht geändert werden

Dokumentation

  • Pull-Request Nr. 547 – Korrigieren Sie die Dokumentation auf Protokollebene. Beigesteuert von jmetertea
  • Pull-Request Nr. 548 – Korrektur von Tippfehlern in der Dokumentation. Beigesteuert von jmetertea
  • Fehler 64022 – Korrigieren Sie die chinesische Übersetzung für „Ignore Sub-Controller blocks“. Bereitgestellt von yangxiaofei77 (yangxiaofei77 auf gmail.com)
  • Pull-Anforderung Nr. 552 – Korrigieren Sie die Beschreibung der client.rmi.localport-Portzuweisung . Beigesteuert von anant-93
  • Pull-Request Nr. 543 – Klärung der Dokumentation der __StringToFile- Funktion bezüglich des Standardwerts von An Datei anhängen? Parameter. Beigesteuert von Ori Marko
  • Fehler 64302 – Korrekte Links zur JMeter-API in druckbaren Dokumenten und Best Practices von BeanShell und zur JavaFX-Implementierungswebsite in allen Dokumenten. Gemeldet von 2477441814 (2477441814 auf qq.com)

Allgemein

  • Fehler 63945 – NPE beim Öffnen einer Datei nach Dateisystemänderung
  • Fehler 64034 – Shell-Skripte schlagen fehl, wenn Leerzeichen im JAVA_HOME- Pfad vorhanden sind. Beigesteuert von ray7219 (ray7219 bei hotmail.com)
  • Fehler 63856 – Setze connectTime für übergeordnete Beispiele, wenn ein Transaktionscontroller verwendet wird
  • Fehler 64227 – Fehler beim Laden von Vorlagen unter Windows
  • TestPlan-Benutzeroberfläche: Hinzufügen des Eintrags zum Klassenpfad überspringen, wenn der Benutzer auf „Abbrechen“ klickt

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • Jannis Weiss
  • Stefan Seide (stefan bei trilobyte-se.de)
  • jmetertee
  • ray7219
  • Sebastian Boga (sebastian.boga at endava.com)
  • Liu XP (liu_xp2003 bei sina.com)
  • anant-93 (https://github.com/anant-93)
  • Ori Marko (orimarko bei gmail.com)
  • Keith Mo (https://github.com/keithmork)
  • drivera-armedia (https://github.com/drivera-armedia)
  • Ubik-Ladepaket
  • Jakub Bednář (jakub.bednar at gmail.com)

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

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

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.
  • Seit Java 11 ist die JavaScript-Implementierung Nashorn veraltet . Java gibt die folgenden Deprecation-Warnungen aus, wenn Sie JavaScript basierend auf Nashorn verwenden.
    Warnung: Die Nashorn-Engine soll aus einer zukünftigen JDK-Version entfernt werden
    
    Um diese Warnungen stumm zu schalten, fügen Sie -Dnashorn.args=--no-deprecation-warning zu Ihren Java-Argumenten hinzu. Dies kann durch Setzen der Umgebungsvariable JVM_ARGS erreicht werden
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    

Version 5.2.1

Zusammenfassung

Neu und bemerkenswert

Diese Version ist eine kleinere Bugfix-Version. Bitte sehen Sie sich die Seite Änderungsverlauf an, um die letzten Versionshinweise von Version 5.2 anzuzeigen.

Inkompatible Änderungen

Verbesserungen

HTTP-Sampler und Testskript-Recorder

Andere Sampler

  • Fehler 63926 – JDBC-Verbindungskonfiguration: Möglichkeit zum Festlegen von Verbindungseigenschaften hinzugefügt

Controller

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

Bericht / Dashboard

Allgemein

Nicht funktionale Änderungen

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

Andere Sampler

Controller

Zuhörer

  • Fehler 63906 – NPE für den InfluxDB-Backend-Listener während des Failover-Tests

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

Bericht / Dashboard

Dokumentation

Allgemein

  • Fehler 63910 – Defekte Maven-Poms in der veröffentlichten Version 5.2
  • Fehler 63911 – Der Inhalt von ApacheJMeter_config.jar hat sich geändert (bin verschoben, um ausgeführt zu werden, und fehlende Dateien)

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.
  • Seit Java 11 ist die JavaScript-Implementierung Nashorn veraltet . Java gibt die folgenden Deprecation-Warnungen aus, wenn Sie JavaScript basierend auf Nashorn verwenden.
    Warnung: Die Nashorn-Engine soll aus einer zukünftigen JDK-Version entfernt werden
    
    Um diese Warnungen stumm zu schalten, fügen Sie -Dnashorn.args=--no-deprecation-warning zu Ihren Java-Argumenten hinzu. Dies kann durch Setzen der Umgebungsvariable JVM_ARGS erreicht werden
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    

Version 5.2

Zusammenfassung

Neu und bemerkenswert

Diese Version ist eine Hauptversion. Bitte sehen Sie sich die Seite Änderungsverlauf an, um die letzten Versionshinweise von Version 5.1.1 anzuzeigen.

Inkompatible Änderungen

  • Der HTTP(S) Test Script Recorder fügt jetzt eine Zahl am Ende von Namen hinzu, während sie zuvor am Anfang hinzugefügt wurde. Siehe Fehler 63450
  • Bei der Verwendung von XPath Assertion mit einem XPath-Ausdruck, der einen booleschen Wert zurückgibt, hatte „ True“, wenn nichts übereinstimmt , keine Auswirkung und gab immer „True“ zurück, siehe Fehler 63455
  • Das XML-Parsing verweigert jetzt unsicheres XML, dies hat Auswirkungen auf die folgenden Funktionen:
    • XMLAssertion
    • XMLSchemAssertion
    • XPath-Funktion
    • XPath 1 & 2 Extraktoren
    • XPath 1 & 2 Behauptungen

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 63450 – HTTP(S) Test Script Recorder: Zahl am Ende statt am Anfang
  • Fehler 63790 – Download von eingebetteten Ressourcen: Optimieren Sie die CSS-Analyse, indem Sie den Quellspeicherort entfernen

Andere Sampler

  • Fehler 63406 – JDBC-Verbindungskonfiguration: Neue Option für die Vorab-Initialisierung, um den Verbindungspool zu initialisieren. Beigesteuert von Franz Schwab (franz.schwab at exasol.com)
  • Fehler 63561 – JDBC-Anforderung: Erlauben Sie, nur eine bestimmte Anzahl von Zeilen abzurufen. Beigesteuert von Franz Schwab (franz.schwab at exasol.com)
  • Fehler 63801 – Bolt-Protokollunterstützung für die Neo4j-Datenbank hinzugefügt. Beigesteuert von GraphAware (www.graphaware.com)

Controller

  • Fehler 63565 - Wenn Controller: GC-Problem mit JMeter während des Dauerlaufs bei Verwendung mit "Bedingung als Variablenausdruck interpretieren?" unmarkiert => Dokumentation verbessern

Zuhörer

  • Fehler 63720 – BackendListener: InfluxDBBackendListenerClient Unterstützung für InfluxDB 2 hinzugefügt. Beigesteuert von Jakub Bednář (https://github.com/bednar)
  • Fehler 63770 – Ergebnisbaum anzeigen: JMESPath Tester hinzugefügt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 62863 – Aktivieren Sie PKCS11-Keystores für die Verwendung mit KeyStore Manager. Basierend auf einem Patch von Clifford Harms (clifford.harms at gmail.com).
  • Pull-Anforderung Nr. 457 – Leichte Leistungsverbesserung in PoissonRandomTimer durch Verwendung von ThreadLocalRandom. Basierend auf einem Patch von Xia Li.
  • Fehler 62787 – Neue XPath2-Assertion , die XPath2 mit besserer Leistung als XPath-Assertion unterstützt . Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63643 – Überspringen Sie BOM bei Dateien, die über FileServer geöffnet wurden, und verwenden Sie die BOM, um die Zeichencodierung zu erkennen, wenn keine explizit angegeben ist. Gemeldet von Havlicek Honza (havlicek.honza at gmail.com)
  • Fehler 63727 – Neues JMESPath Extractor - Element, um die Extraktion aus JSON mithilfe der JMESPath -Technologie zu erleichtern. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63763 – Neues JMESPath-Assertion - Element, um die Assertion auf JSON mithilfe der JMESPath -Technologie zu erleichtern. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63775 – Erlauben Sie Boundary Extractor, leere Grenzen zu akzeptieren

Funktionen

  • Fehler 63219 – Neue Funktion __StringToFile zum Speichern/Anhängen eines Strings in einer Datei. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Verwenden Sie AtomicInteger für __counter anstelle der eigenen Synchronisation

I18N

Bericht / Dashboard

  • Fehler 63471 – Für die Berichterstellung verwendete StringConverter sollten Leerzeichen um Zahlen herum ignorieren.

Allgemein

  • Fehler 63396 – JSR223-Testelemente: Die Beschreibung der Parameter ist irreführend, dasselbe gilt für das Skript
  • Fehler 63480 – XPathAssertion und XPathAssertion2: Verbesserte Testabdeckung für Eingaben aus Variablen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Bug 63452 – Tools / Import aus cURL: Vollständige Abdeckung aller Befehlszeilenoptionen, die im JMeter-Anwendungsfall gültig sind. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63419 – Tools / Import aus cURL: Möglichkeit hinzugefügt, eine Reihe von cURL-Befehlen aus einer Datei zu importieren. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63760 – JOrphanUtils: Zufallsgenerator für alphanumerische Passwörter hinzugefügt
  • Fehler 63355 – Ergebnisstruktur anzeigen: Die Browser-Ansichtsoption ist seit Java 11 nicht verfügbar, dokumentieren Sie, wie Sie sie verfügbar machen, siehe hier
  • Fehler 62861 – Thread-Gruppe: Bieten Sie die Möglichkeit, zu konfigurieren, ob eine neue Iteration ein neuer Benutzer oder derselbe Benutzer ist (würde auf Cookie Manager, Cache Manager und httpclient.reset_state_on_thread_group_iteration angewendet). Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63616 – Javadoc behoben:
    JMeterContext#getThreadNum()
    beginnt bei 0 und nicht bei 1. Beigesteuert von Ori Marko (orimarko at gmail.com)
  • Aktualisiert auf httpclient/httpmime 4.5.10 (von 4.5.7)
  • Aktualisiert auf dnsjava 2.1.9 (von 2.1.8)
  • Aktualisiert auf jsoup 1.12.1 (von 1.11.3)
  • Aktualisiert auf rsyntaxtextarea 3.0.4 (von 3.0.2)
  • Aktualisiert auf Koffein 2.8.0 (von 2.6.2)
  • Aktualisiert auf Commons-Codec 1.13 (von 1.11)
  • Aktualisiert auf commons-lang3 3.9 (von 3.8.1)
  • Aktualisiert auf Commons-Pool 2.7 (von 2.6)
  • Aktualisiert auf commons-text 1.8 (von 1.6)
  • Aktualisiert auf freemarker 2.3.29 (von 2.3.28)
  • Aktualisiert auf httpcore/httpcore-nio 4.12 (von 4.11)
  • Aktualisiert auf jodd 5.0.13 (von 5.0.6)
  • Aktualisiert auf log4j 2.12.1 (von 2.11.1)
  • Aktualisiert auf ph-commons 9.3.7 (von 9.2.1)
  • Aktualisiert auf ph-css 6.2.0 (von 6.1.1)
  • Aktualisiert auf Mozilla Rhino 1.7.11 (von 1.7.10)
  • Aktualisiert auf Saxon-HE 9.9.1-5 (von 9.9.1-1)
  • Aktualisiert auf slf4j 1.7.28 (von 1.7.25)
  • Aktualisiert auf Tika-Core und Tika-Parser 1.22 (von 1.21)
  • Aktualisierte Jackson-Anmerkungen, Jackson-Core und Jackson-Databind auf 2.9.10 (von 2.9.8)

Nicht funktionale Änderungen

  • Von Subversion zu Git migriert
  • Fehler 63630 – Wechseln Sie den Build von Apache Ant zu Gradle
  • Fehler 63529 – Fügen Sie weitere Unit-Tests für org.apache.jorphan.util.JOrphanUtils hinzu. Beigesteuert von John Bergqvist (John.Bergqvist at diffblue.com)
  • Aktualisiert auf den neuesten Checkstyle (Version 8.22)
  • Codebereinigung in CompareAssertion und an anderen Stellen. Basierend auf einem Patch von Graham Russell (graham at ham1.co.uk)
  • Pull Request Nr. 491 – Erhöhen Sie die Abdeckung der Graphite-Metriken. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 520 – Ersetzen Sie anonyme Klassen durch Lambda-Ausdrücke. Beigesteuert von Graham Russell (graham at ham1.co.uk).
  • Pull Request Nr. 524 – Migration von JUnit 4 zu JUnit 5. Beigesteuert von Graham Russell (graham at ham1.co.uk).

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 63298 – HTTP-Anforderungen mit verschlüsselten URLs werden im decodierten Format gesendet
  • Fehler 63364 – Beim Setzen von subresults.disable_renaming=true werden Unterergebnisse immer noch mit ihrem übergeordneten SampleLabel umbenannt, obwohl dies nicht der Fall sein sollte. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63129 – JMeter kann die Codierung während der erstmaligen Seitenübermittlung nicht identifizieren. Teilweise basierend auf Analysen und PR von Naveen Nandwani (naveen.nandwani at india.nec.com)
  • Fehler 62672 – HTTP-Anfrage sendet doppelte Anfragen, wenn Proxy mit Authentifizierung verwendet wird. Basierend auf dem Patch von Artem Fedorov (artem.fedorov auf blazemeter.com) und beigesteuert von BlazeMeter.
  • Fehler 63574 – Der HTTP-Cache-Manager speichert keine Ressourcen, wenn der Cache-Control- Header fehlt.

Andere Sampler

  • Fehler 63442 – Reduzieren Sie das Scannen nach LogParser- Implementierungen in AccessLogSamplerBeanInfo.
  • Fehler 63563 – LdapExtSampler: Wenn der Sampler mit einer Ausnahme fehlschlägt, die sich von NamingException unterscheidet, wird kein SampleResult generiert
  • Fehler 63469 – JMSPublisher: Racebedingung in jms.client.ClientPool#clearClient

Controller

Zuhörer

  • Fehler 63319ArrayIndexOutOfBoundsException in Aggregate Graph bei Auswahl von 90 %- oder 95 %-Spalten
  • Fehler 63423 – Die Auswahl von Tabellenzeilen im Gesamtdiagramm geht zu oft verloren
  • Bug 63347 - Ergebnisbaum anzeigen: Das Suchfeld ist so klein, dass selbst ein einzelnes Zeichen unter Windows 7 nicht sichtbar ist
  • Fehler 63433 – ListenerNotifier: Problem in Listener NullPointerException erkannt, wenn Dateiname null ist. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63674 – Strip-Ergebnisse mit Unterergebnissen tiefer in ihrer Hierarchie, wenn DataStripping aktiviert ist

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 63455 – XPath-Assertion: „ Wahr, wenn nichts übereinstimmt “ funktioniert nicht, wenn der XPath-Ausdruck einen booleschen Wert zurückgibt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Funktionen

I18N

Bericht / Dashboard

Dokumentation

  • Fehler 63513 – MariaDB-Beispiele zur JDBC-Dokumentation hinzugefügt. Beigesteuert von Ori Marko (orimarko at gmail.com)
  • Fehler 63484 – Hinweise zur Verwendung von Apache Velocity als JSR223-Skriptsprache hinzugefügt. Basierend auf einem Patch von Ori Marko (orimarko at gmail.com)
  • Fehler 63519 Pull-Anforderung Nr. 471 – Verwenden Sie die korrekte Methode getLabelResource() im JMeter-Tutorial. Beigesteuert von Sun Tao (buzzerrookie at hotmail.com>)

Allgemein

  • Fehler 63394 – JMeter sollte mit einem Wert ungleich Null fehlschlagen, wenn die Testausführung fehlschlägt (aufgrund eines fehlenden Testplans oder aus anderen Gründen). Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63464 – image/svg+xml wird fälschlicherweise als binär angesehen
  • Fehler 63490 - Am Ende der Scheduler-Dauer werden viele Sampler gleichzeitig ausgeführt
  • Pull-Request Nr. 480 , Pull-Request Nr. 482 – Korrigieren Sie einige Tippfehler in Kommentaren und Protokollnachrichten. Basierend auf dem Patch von Anass Benomar (anassbenomar at gmail.com)
  • Fehler 63751 – Korrigieren Sie einen Tippfehler in chinesischen Übersetzungen. Gemeldet von Jinliang Wang (wjl31802 at 126.com)
  • Fehler 63723 – Verteiltes Testen: Der JMeter-Controller-Knoten beendet den verteilten Test, obwohl einige Threads noch aktiv sind
  • Fehler 63614 – Verteiltes Testen: Dashboard-Bericht kann am Ende des Belastungstests nicht generiert werden
  • Fehler 63862 – Suchdialog / Suche im Ergebnisbaum anzeigen: Nicht abgefangene Ausnahme, wenn Regex aktiviert ist und Regex ungültig ist
  • Fehler 63793 – Unsicheres XML-Parsing behoben

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • Clifford Harms (clifford.harms bei gmail.com)
  • Ubik-Ladepaket
  • Xia Li
  • Naveen Nandwani (naveen.nandwani auf india.nec.com)
  • Artem Fedorov (artem.fedorov bei blazemeter.com)
  • Ori Marko (orimarko bei gmail.com)
  • Sun Tao (Buzzer-Rookie bei hotmail.com)
  • John Bergqvist (John.Bergqvist auf diffblue.com)
  • Franz Schwab (franz.schwab at exasol.com)
  • Graham Russell (Graham bei ham1.co.uk)
  • Anass Benomar (anassbenomar bei gmail.com)
  • Jakub Bednář
  • Pascal Schumacher (pascalschumacher at apache.org)
  • GraphAware

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

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

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.
  • Seit Java 11 ist die JavaScript-Implementierung Nashorn veraltet . Java gibt die folgenden Deprecation-Warnungen aus, wenn Sie JavaScript basierend auf Nashorn verwenden.
    Warnung: Die Nashorn-Engine soll aus einer zukünftigen JDK-Version entfernt werden
    
    Um diese Warnungen stumm zu schalten, fügen Sie -Dnashorn.args=--no-deprecation-warning zu Ihren Java-Argumenten hinzu. Dies kann durch Setzen der Umgebungsvariable JVM_ARGS erreicht werden
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    

Version 5.1.1

Zusammenfassung

Neu und bemerkenswert

Diese Version ist hauptsächlich eine Bugfix-Version. Bitte sehen Sie sich die Seite Änderungsverlauf an, um die letzten wichtigen Verhaltensweisen mit Version 5.1 anzuzeigen.

Live-Berichterstattung und Web-Bericht

Dem Menü Extras wurde ein neuer Menüeintrag hinzugefügt . Es ist möglich, einen Ergebnisbericht aus einer früheren CSV/JTL-Datei zu generieren.


Inkompatible Änderungen

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 62977 – Senden von HTTP-Anforderungen ohne standardmäßigen User-Agent-Header zulassen

Andere Sampler

  • Fehler 63185 – LDAP-bezogene Elemente: Option hinzugefügt, um SSL/TLS-Verbindungen implizit zu vertrauen/Hostnamen-Überprüfung zu deaktivieren. Basierend auf dem Beitrag von Brian Wolfe (wolfebrian2120 at gmail.com)

Controller

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 63178 – CSS-Selektor-Extraktor: Verbesserte Leistung der auf JODD (JoddExtractor) basierenden Implementierung

Funktionen

I18N

Bericht / Dashboard

  • Bug 59896 - Bericht / Dashboard: Fügen Sie einen Menüeintrag hinzu, um einen Bericht bei Bedarf aus einer CSV-Datei zu generieren. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Allgemein

  • Pull-Request Nr. 444 – Update auf die neueste Spock v1.2 (war 1.0). Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 446 – Verbessern Sie die Lesbarkeit von Unit-Tests und die Verwendung von Spock. Beigesteuert von Graham Russell (graham at ham1.co.uk)

Nicht funktionale Änderungen

  • Fehler 63203 – Komponententests: Ersetzen Sie die Verwendung von @Deprecated durch @VisibleForTesting für Methoden/Konstruktoren/Klassen, die nur für Komponententests veröffentlicht wurden
  • Pull-Request Nr. 449 – Refactoring und Test ResponseTimePercentilesOverTimeGraphConsumer. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 450 – Verbraucherverbesserungen des abstrakten Diagramms. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 451 – Verbessern Sie einige Unit-Tests und Klassen. Beigesteuert von Graham Russell (graham at ham1.co.uk)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

Andere Sampler

  • Fehler 63202 – JMS Publisher: ObjectMessageRenderer erstellt eine XStream-Instanz mit nicht initialisierter Sicherheit

Controller

Zuhörer

  • Fehler 63204RenderAsJSON#prettyJSON : JSONParser#parse kann JSONValue nicht zurückgeben

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 62446 – Die Zählerdokumentation ist in den erforderlichen Feldern falsch. Beigesteuert von orimarko bei gmail.com
  • Fehler 62327 – TestPlan: Wenn in der Bibliothekstabelle der Pfad geändert und der Plan gespeichert wird, geht die Änderung beim Neuladen der Datei verloren

Funktionen

  • Fehler 63241__threadGroupName verursacht eine NullPointerException, wenn es von Nicht-Test-Threads aufgerufen wird

I18N

Bericht / Dashboard

  • Fehler 63198 – Die Diagramme „Antwortzeit vs. Anforderung“ und „Latenz vs. Anforderung“ stimmen nicht mit dem Durchsatz überein. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Dokumentation

Allgemein

  • Fehler 63201 – SearchTreeDialog verschwindet hinter dem Master-JFrame. Beigesteuert von Benoit Vatan (benoit.vatan at gmail.com)
  • Fehler 63220Funktionshilfedialog , Exporttransaktionen für Berichte und Import aus cURL verschwinden als Master-JFrame. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63207 – java.lang.NullPointerException: null, wenn JMeter 5.1 mit Proxy-Optionen ausgeführt wird
  • Fehler 58183 – Rampup wird möglicherweise nicht berücksichtigt, wenn Threads Zeit brauchen, um zu starten, was dazu führt, dass Threads weiterhin nach der Ramp-Up-Zeit beginnen

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • Ubik-Ladepaket
  • Benoit Vatan (benoit.vatan bei gmail.com)
  • Graham Russell (Graham bei ham1.co.uk)
  • Brian Wolfe (wolfebrian2120 bei gmail.com)
  • orimarko bei gmail.com

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 5.1

Zusammenfassung

Neu und bemerkenswert

Kernverbesserungen

JDBC-Tests wurden mit der Möglichkeit verbessert, Init-SQL-Anweisungen festzulegen und Kompatibilität mit JDBC-Treibern hinzuzufügen, die QueryTimeout nicht unterstützen

  • Es wurden verschiedene Fehlerbehebungen implementiert, z. B. das Sammeln der richtigen Header beim Aufzeichnen von Anfragen über den HTTP(S) Test Script Recorder mit HTTPS
  • In Version 5.0 wurde JMeter geändert, um Sub-Ergebnisse mithilfe einer benutzerdefinierten Benennungsrichtlinie umzubenennen ( Bug 62550 ). Diese Änderung könnte für Functional Testing lästig sein, eine neue Eigenschaft subresults.disable_renaming=true wurde eingeführt, um bei Bedarf zum vorherigen Verhalten zurückzukehren. Alternativ können Sie den Funktionstestmodus im Testplan überprüfen , siehe Fehler 63055

UX-Verbesserungen

Vorlagen können Parameter bereitstellen, die bei der Testplangenerierung ausgefüllt werden. Die Aufzeichnungsvorlage verwendet diese Funktion

Ein neues Tools- Menü wurde eingeführt, um die Einträge zu sammeln, die für die allgemeine Verwendung in JMeter verwendet werden, wie zum Beispiel:

  • Funktionshelferdialog
  • Exportieren Sie Transaktionen für den Bericht
  • Generieren Sie eine schematische Ansicht , die einen Überblick über den Testplan als HTML bietet
  • Import aus cURL , mit dem Sie Ihren Testplan erstellen oder aktualisieren können, indem Sie einen cURL-Befehl importieren
  • Kompilieren Sie JSR223-Testelemente
  • Erstellen Sie einen Heap-Dump
  • Erstellen Sie einen Thread-Dump

Versuchsplan

Möglichkeit, einen Testplan aus einem cURL-Befehl zu erstellen.

Scripting-/Debugging-Verbesserungen

  • Ein Menüpunkt zum Kompilieren aller JSR223-Elemente ist jetzt im Menü Tools verfügbar

Live-Berichterstattung und Web-Bericht

  • Bei Verwendung der Optionen -e oder -g wird jetzt eine JSON-Datei generiert, die eine Zusammenfassung einer Auslastungsteststatistik enthält .
  • Der Perzentil-Berechnungsalgorithmus für die grafische Darstellung über die Zeit wurde geändert, um für jeden Zeitschlitz neu zu starten
  • Benutzerfreundlicheres Verhalten, wenn der Berichtsordner nicht vorhanden oder über die Befehlszeilenoption -f nicht leer ist

Inkompatible Änderungen

  • Im Diagramm Antwortzeitperzentile im Zeitverlauf (erfolgreiche Antworten) des HTML-Berichts wurden vor dieser Version für die Perzentilberechnung jedes Zeitfensters die Perzentildaten des vorherigen Zeitfensters als Basis verwendet. Ab dieser Version ist jeder Zeitschlitz unabhängig. Siehe Fehler 62883
  • Die ClientJMeterEngine#rsetProperties- Signatur wurde geändert, um HashMap<String,String> anstelle von Eigenschaften zu verwenden, siehe Fehler 63034
  • Ein neuer Menüpunkt Tools wurde eingeführt, einige Menüpunkte, die im Menü Hilfe waren , befinden sich jetzt unter diesem neuen Menüpunkt. Siehe Fehler 63094
  • slf4j-ext wurde aus Bibliotheken (lib-Ordner) und JMeter pom entfernt. Es wurde nicht standardmäßig verwendet und aufgrund von CVE-2018-8088 und der Nichtverfügbarkeit einer stabilen Version mit einer Lösung für dieses Problem haben wir uns entschieden, es zu entfernen. Wenn Sie es noch benötigen, können Sie es im lib-Ordner hinzufügen.

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 62840 – HTTP-Anfrage: Option httpclient4.gzip_relax_mode hinzugefügt , um Fehler beim Entpacken scheinbar ungültiger Streams zu vermeiden
  • Fehler 63025 – Verbesserte Such- und Ersetzungsfunktion für HTTP-Anforderungen, um Port- und Protokollfelder einzuschließen. Erste Codekorrektur von Mohamed Ibrahim (rollno748 at gmail.com)

Andere Sampler

  • Fehler 62934 – Kompatibilität für JDBC-Treiber hinzugefügt, die QueryTimeout nicht unterstützen
  • Fehler 62935 – Übergeben Sie benutzerdefinierte mail.* - Eigenschaften an Mail Reader Sampler. Implementiert von Artem Fedorov (artem.fedorov at blazemeter.com) und beigetragen von BlazeMeter.
  • Fehler 63055 – Benennen Sie SampleResult Label nicht um, wenn der Test im Funktionsmodus oder der Eigenschaft subresults.disable_renaming=true ausgeführt wird . Implementiert von Artem Fedorov (artem.fedorov at blazemeter.com) und beigetragen von BlazeMeter.

Controller

Zuhörer

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Bug 62766 – Keystore Config: Wir sollten standardmäßig alle Aliase laden. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62832 – JDBC-Verbindungskonfiguration: Init-SQL-Anweisungen können gesetzt werden. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Funktionen

  • Bug 63037 - Bei Verwendung von CSVRead auch den Basispfad des Skripts nach Dateien durchsuchen.

I18N

Bericht / Dashboard

  • Fehler 62883 – Bericht/Dashboard: Ändern Sie die Art und Weise, wie Perzentile für das Diagramm „Reaktionszeitperzentile im Zeitverlauf (erfolgreiche Antworten)“ berechnet werden
  • Bug 63060 – Report Generator: Ein Generator sollte nur nach Ordnern/Dateien suchen, die er generiert, und nur diese löschen
  • Fehler 63059 – Erstellen Sie einen neuen JsonExporter, der den Inhalt der für die HTML-Dashboard-Statistiktabelle berechneten Daten als JSON exportiert. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63081 – Befehlszeilenoption -f löscht den Berichtsordner nicht, wenn die Generierung nur über die Befehlszeilenoption -g verwendet wird . Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Allgemein

  • Fehler 62959 – Möglichkeit, einen Testplan aus einem cURL-Befehl zu erstellen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Pull-Request Nr. 394Nullwerte im FieldStringEditor zulassen . Basierend auf dem Patch von Mingun (alexander_sergey at mail.ru)
  • Fehler 62826 – Wenn Sie LAF ändern, lassen Sie JMeter neu starten, wenn der Benutzer auf Ja klickt, um das Popup zu öffnen
  • Fehler 62257 Pull-Anforderung Nr. 401 – Erweitern/ Reduzieren der Kurztaste (Minuszeichen) auf dem Nummernblock funktioniert nicht. Beigesteuert von Ori Marko (orimarko at gmail.com)
  • Fehler 62752 – Zur Dokumentation hinzufügen: ctx.getThreadNum() ist nullbasiert, während ${__threadNum} einsbasiert ist
  • Pull-Anforderung Nr. 411 – Verwenden Sie SHA-1 anstelle von SHA1 in org.apache.jmeter.save.SaveService . Beigesteuert von Paco (paco.xu bei daocloud.io)
  • Fehler 62914 – Fügen Sie einen Hinweis in der Benutzeroberfläche der Thread-Gruppe zur Dauer des Tests hinzu
  • Fehler 62925 – Unterstützung für ThreadDump zur JMeter-Nicht-GUI hinzugefügt
  • Fehler 62870 – Vorlagen: Möglichkeit zur Bereitstellung von Parametern hinzugefügt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62829 – Angabe des Proxy-Server-Schemas für HTTP-Anfrage-Sampler, Registerkarte „Erweitert“ und Befehlszeilenoption zulassen. Beigesteuert von Hitesh Patel (hitesh.h.patel at gmail.com)
  • Fehler 59633 - Die Menüs Testplan speichern unter , Als Testfragment speichern und Auswahl speichern unter ... sollten im Dateidialog einen neuen Dateinamen verwenden
  • Fehler 61486 – Lassen Sie jmeter-server und den Nicht-GUI-Modus kopflos laufen
  • Fehler 63093Menüelement „JSR223-Testelemente kompilieren“ hinzugefügt . Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63094 – Einführung eines neuen Tools-Menüs
  • Fehler 63101 – Schlagen Sie einen Menüpunkt vor, um eine lesbare Übersicht des Testplans zu generieren
  • Fehler 63144 – Es dauert lange, bis der Listener-Baum eine Antwort öffnet, die sehr viel Text enthält. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Nicht funktionale Änderungen

  • Pull-Anforderung Nr. 408 – Protokolliert eine Informationsnachricht anstelle eines Stack-Trace, wenn JavaFX für die RenderInBrowser- Komponente nicht gefunden wird.
  • Pull-Request Nr. 412 – Chinesische Übersetzung aktualisieren. Beigesteuert von 刘士 (liushilive at outlook.com).
  • Pull-Request Nr. 406 – Fügen Sie einen kurzen Absatz zur Verwendung eines Sicherheitsmanagers mit JMeter hinzu.
  • Fehler 62893 – Verwenden Sie StringEscapeUtils aus commons-text (Version 1.6) anstelle der veralteten aus commons-lang3.
  • Fehler 62972 Pull-Anforderung Nr. 435 – Ersetzt Aufrufe der veralteten Methode Class#newInstance .
  • Fehler 63034 – ClientJMeterEngine: Lassen Sie rsetProperties HashMap<String,String> anstelle von Properties verwenden
  • Aktualisiert auf httpclient/httpmime 4.5.7 (von 4.5.6)
  • Aktualisiert auf httpcore 4.4.11 (von 4.4.10)
  • Aktualisiert auf httpcore-nio 4.4.11 (von 4.4.10)
  • Aktualisiert auf Tika-Core und Tika-Parser 1.20 (von 1.18)
  • Aktualisiert auf commons-dbcp2-2.5.0 (von commons-dbcp2-2.4.0)
  • Aktualisiert auf commons-lang3-3.8.1 (von commons-lang3-3.8)
  • Aktualisiert auf groovy-all-2.4.16 (von groovy-all-2.4.15)
  • Aktualisiert auf httpasyncclient-4.1.4.jar (von 4.1.3)
  • Aktualisiert auf jsoup-1.11.3 (von 1.11.2)
  • Aktualisiert auf cglib-nodep-3.2.9 (von cglib-nodep-3.2.7)
  • Aktualisiert auf ph-commons-9.2.1 (von ph-commons-9.1.2)
  • Aktualisiert auf log4j-2.11.1 (von log4j-2.11.0)
  • Aktualisiert auf xmlgraphics-commons 2.3 (von 2.2)
  • Fehler 63033 – Aktualisiert auf Saxon-HE 9.9.1-1 (von 9.8.0-12). Danke an Saxonica
  • Aktualisiert auf xstream 1.4.11 (von 1.4.10)
  • Aktualisiert auf jodd 5.0.6 (von 4.1.4)
  • Aktualisiert auf asm-7.0 (von 6.1)
  • Update auf ActiveMQ 5.15.8 (von 5.5.16)
  • Aktualisiert auf rsyntaxtextarea-3.0.2 (von 2.6.1)
  • Aktualisiert auf Apache-Ratte-0.13 (von 0.12)
  • Aktualisiert auf jacocoant-0.8.3 (von 0.8.2)
  • Aktualisiert auf hsqldb-2.4.1 (von 2.4.0)
  • Aktualisiert auf mina-core-2.0.19 (von 2.0.16)
  • Fehler 62818 – Auf xercesImpl auf 2.12.0 (von 2.11.0) aktualisiert. Gemeldet von Stefan Seide (stefan at trilobyte-se.de)
  • Fehler 62744 – Aktualisieren Sie jquery auf Version 3.3.1, jquery-ui auf 1.12.1, Bootstrap auf 3.3.7
  • Fehler 62821 Pull-Anforderung Nr. 405 – Verwenden Sie SHA-512-Prüfsummen anstelle von MD5, um JAR-Downloads zu überprüfen
  • Fehler 63053 – Verweise auf nie implementierte Interna aus der Benutzerdokumentation entfernt. Berichtet von U. Poblotzki (u.poblotzki at thalia.de)
  • Fehler 63082 Pull-Anforderung Nr. 437 – Verwenden Sie utf-8 für Eigenschaftendateien in der Quelle
  • Fehler 63177 – Benennen Sie den NON-GUI-Modus in der Dokumentation in den CLI -Modus um

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 62785 Pull-Anforderung Nr. 400 – Unvollständiger Suchpfad, der auf die Dateinamen angewendet wird, die in der Upload-Funktion des HTTP-Samplers verwendet werden. Implementiert von Artem Fedorov (artem.fedorov at blazemeter.com) und beigetragen von BlazeMeter.
  • Fehler 62842 – HTTP(S) Test Script Recorder: Brotli-Komprimierung wird nicht unterstützt, was zu „ Content Encoding Error “ führt
  • Bug 60424 - Hessian Burlap Anwendung: JMeter fügt automatisch 0x0D vor 0x0A ein (http binäre Postdaten)
  • Fehler 62940 – Verwenden Sie einen anderen cn und Typ der SAN-Erweiterung, wenn wir Zertifikate basierend auf IP-Adressen generieren.
  • Fehler 62916 – HTTP Test Script Recorder schlägt mit UnsupportedOperationException fehl, wenn die Aufzeichnung gestartet wird, nachdem ein verteilter Test ausgeführt wurde
  • Fehler 62987 – Ein TestBean-Element unter HTTP(S) Test Script Recorder funktioniert nicht. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63015 – Abnormale NoHttpResponseException beim Ausführen einer Anfrage über den Proxy-HTTP(S)-Testskriptrekorder nach einer ersten fehlgeschlagenen Anfrage. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62852 – HTTP-Anforderungs-Header fehlen Informationen, wenn ein Proxy verwendet wird. Danke an Oleg Kalnichevski (olegk at apache.org)
  • Fehler 63048 – JMeter ruft keine Link-Ressourcen vom Typ „Verknüpfungssymbol“ oder „Symbol“ ab. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Andere Sampler

  • Fehler 62775 – Wenn sich viele JAR-Dateien in einem Ordner befinden, auf den von user.classpath verwiesen wird , kann der Start aufgrund von JUnit extrem langsam sein
  • Fehler 63031 – Falsche JDBC-Treiberklasse: org.firebirdsql.jdbc.FBDrivery . Beigesteuert von Sonali (arora.sonali99 at gmail.com)

Controller

  • Fehler 62806 – Das Klonen von ModuleController durch Run verhält sich unterschiedlich, ob im GUI- oder Nicht-GUI-Modus. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62847 – Wenn der Controller keine Variable für den Index verwenden kann, der von LoopController/WhileController/ForEachController bereitgestellt wird
  • Fehler 63064 – Ignoriere Leerzeichen am Ende und Anfang von Ausdrücken, die in IfController verwendet werden

Zuhörer

  • Fehler 62770 – Aggregate Graph löst ArrayIndexOutOfBoundsException aus
  • Fehler 63069 – ResultCollector schreibt kein Ende der XML-Datei, wenn der Benutzer beendet wird, während eine Aufzeichnung oder ein Test ausgeführt wird. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 63138 – InfluxDB BackendListenerClient: Im Fehlerfall befindet sich das Protokoll im Debug, es sollte ein Fehler sein

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 62774 – XPath2Extractor: Bereichsvariable ist defekt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62860 – JSON-Extraktor: Vermeiden Sie die NPE- und laute Fehlermeldung „ Fehler beim Verarbeiten des JSON-Inhalts in “, wenn die Variable nicht gefunden wird

Funktionen

I18N

Bericht / Dashboard

  • Fehler 62777 – Webbericht/Dashboard: Alle in Perzentilen der Antwortzeit im Laufe der Zeit ausblenden (erfolgreiche Antworten) schlägt fehl.
  • Fehler 62780 – Webbericht/Dashboard: Alle in Antwortzeit vs. Anfrage anzeigen schlägt fehl.
  • Fehler 62781 – Webbericht/Dashboard: Alle in der Antwortzeitübersicht anzeigen schlägt fehl.
  • Fehler 62782 – Web Report / Dashboard: Entfernen Sie doppelte/nicht verwendete Abhängigkeiten
  • Fehler 62894 – Bericht / Dashboard: Der Durchsatz befindet sich in der falschen Spalte, was verwirrend ist, da die Einheit Millisekunden ist
  • Fehler 63016 – Leerer HTML-Bericht, wenn Quell-CSV Beschriftungen mit Anführungszeichen enthält. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Dokumentation

  • Ändern Sie Testaktion (alter Name) in Flusssteuerungsaktion in der Komponentenreferenzdokumentation. Beigesteuert von Ori Marko (orimarko at gmail.com)

Allgemein

  • Fehler 62745 – Undefiniertes deaktiviertes Symbol behoben. Beigesteuert von Till Neunast (https://github.com/tilln)
  • Fehler 62743 – Client-Authentifizierung muss beim verteilten Testen aktiviert sein
  • Fehler 62767 – NPE bei der Suche unter bestimmten Bedingungen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62790ArrayIndexOutOfBoundsException beim Aufrufen von replace, ohne die erste Übereinstimmung auszuwählen
  • Fehler 62795 – Der JMeter-Controller-Knoten beendet manchmal den verteilten Test, obwohl einige der Worker-Knoten noch nicht fertig sind
  • Fehler 62336 Pull-Anforderung Nr. 396 – Einige Verknüpfungen funktionieren unter Windows nicht richtig. Beigesteuert von Michael Pavlov (michael.paulau at gmail.com)
  • Fehler 62889 – Formatieren Sie JSON-Arrays, wenn sie mit JSON Path Tester angezeigt werden.
  • Fehler 62900 – ObjectProperty#getStringValue() kann NullPointerException auslösen
  • Fehler 63099 – Escape-Kommata im Funktionshilfsdialog nur außerhalb von Variablenersetzungsstrukturen.
  • Fehler 63105 – Transaktionen für den Bericht exportieren: Behebung von 2 Fehlern
  • Fehler 63106 – Benennungsrichtlinie anwenden aktualisiert die Benutzeroberfläche nicht
  • Fehler 63180 – Apply Naming Policy erlaubt Mehrfachauswahl, berücksichtigt aber nur den ersten Knoten
  • Fehler 63090 – Entfernen Sie slf4j-ext aufgrund von CVE-2018-8088

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

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

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 5.0

Zusammenfassung

Neu und bemerkenswert

Kernverbesserungen

Die Ruheunterstützung wurde in vielen Bereichen verbessert

  • Mehrteilige/Formulardatenanfragen funktionieren jetzt für PUT , DELETE
  • Es ist jetzt auch möglich, einen JSON-Body mit angehängter Datei zu versenden
  • Parameter, die auf der Registerkarte „Parameter“ eingegeben werden, werden jetzt im Hauptteil verwendet, anstatt ignoriert zu werden

Beim verteilten Testen stellt JMeter den Thread-Namen jetzt automatisch den Engine-Host und -Port voran, wodurch die Zählung der Threads im HTML-Bericht ohne weitere Konfiguration korrekt wird, wie es zuvor erforderlich war

XPath 2.0 wird in einem neuen Element namens XPath2-Extraktor unterstützt , das eine einfachere Handhabung von XML-Namespaces, aktuelle XPath-Syntax und bessere Leistung bietet

Das Upgrade auf die letzten APIs von HTTP Components 4.6 wurde abgeschlossen und JMeter verlässt sich nicht mehr auf veraltete APIs dieser Bibliothek

Es ist jetzt möglich, Schleifenunterbrechung und Schleifenwechsel zur nächsten Iteration auf einfachere Weise zu steuern. Dies ist in den Elementen Flow Control Action und Result Status Action Handler verfügbar

Während Controller jetzt eine Variable exportiert, die ihren aktuellen Index mit dem Namen __jm__<Name Ihres Elements>__idx enthält . Wenn Ihr While-Controller beispielsweise WC heißt, können Sie über ${__jm__WC__idx} auf den Schleifenindex zugreifen.

Scripting-/Debugging-Verbesserungen

Die Suchfunktion wurde verbessert, damit Sie die Suchergebnisse im Baum durchlaufen und die erforderlichen Ersetzungen über die Schaltflächen Weiter / Zurück / Ersetzen / Ersetzen / Suchen vornehmen können

In View Results Tree sind die Header/Textkörper von Anfrage und Antwort klar voneinander getrennt, damit Sie Anfragen und Antworten besser untersuchen können. Sie können auch in all diesen Registerkarten nach einem bestimmten Wert suchen

Die Aufzeichnungsfunktion wurde verbessert, um ein Popup bereitzustellen, das immer im Vordergrund ist, wenn Sie im Browser navigieren, sodass Sie Transaktionen benennen können, während Sie in Ihrer Anwendung navigieren.

Sie können JMeter jetzt über das Menü Datei  →  Neustart neu starten

Live-Berichterstattung und Web-Bericht

Die Berichtsfunktion wurde verbessert

Dem HTML-Webbericht wurde ein neues Diagramm „Gesamttransaktionen pro Sekunde“ hinzugefügt

Es ist jetzt möglich, benutzerdefinierte Metriken, die als JMeter-Variablen über sample_variables verfügbar sind, im Zeitverlauf grafisch darzustellen . Diese benutzerdefinierten Metrikdiagramme sind im HTML-Bericht im Abschnitt „ Benutzerdefinierte Diagramme“ verfügbar

Das Diagramm „Treffer pro Sekunde“ berücksichtigt jetzt die eingebetteten Ressourcen

Beim Live-Reporting werden die gesendeten und empfangenen Bytes nun an Backends (InfluxDB oder Graphite) gesendet

Funktionen

Eine neue Funktion __threadGroupName wurde eingeführt, um den ThreadGroup-Namen zu erhalten.

Inkompatible Änderungen

  • Seit JMeter 5.0 setzt JMeter bei Verwendung der standardmäßigen HC4-Implementierung den HTTP-Status (SSL-Status + Verbindungen) bei jeder Iteration der Thread-Gruppe zurück. Wenn Sie dieses Verhalten nicht wünschen, setzen Sie httpclient.reset_state_on_thread_group_iteration=false
  • Seit JMeter 5.0 ist https.use.cached.ssl.context in Bezug auf die obige Bemerkung veraltet und wird nicht mehr verwendet.
  • Seit JMeter 5.0 werden bei Verwendung der CSV-Ausgabe nun auch Teilergebnisse in eine CSV-Datei ausgegeben. Um zum vorherigen Verhalten zurückzukehren, setzen Sie jmeter.save.saveservice.subresults=false , siehe Bug 62470 , Bug 60917 , Bug 62550 .
  • Seit JMeter 5.0 wurde CSS/JQuery Extractor in CSS Selector Extractor umbenannt
  • Seit JMeter 5.0 wurde Test Action in Flow Control Action umbenannt
  • Seit JMeter 5.0 benennt JMeter subResults in parentName-N um, wobei N eine Zahl ist, um sicherzustellen, dass das Diagramm Hits Per Second Ressourcen-Downloads enthält, siehe Bug 62550 , Bug 62470 und Bug 60917

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 62260 – Verbesserung der Rest-Unterstützung. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 58757 – HTTP-Anfrage: Veraltete Methoden von HttpComponents wurden auf die letzten APIs von httpclient-4.5.X aktualisiert. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62212 – Rekorder: Verbessern Sie UX, indem Sie ein Popup über allen Fenstern bereitstellen, um Transaktionsnamen und Pausen während der Verwendung des Browsers ändern zu können. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62248 – HTTP-Anfrage: Parameter, die auf der Registerkarte „Parameter“ eingegeben wurden, sollten im Hauptteil verwendet und nicht ignoriert werden. Teilweise basierend auf einem von Blazemeter beigesteuerten Patch von Artem Fedorov.
  • Fehler 60015 – Multipart/form-data funktioniert nur für POST mit HTTPClient4, während es für PUT , DELETE , … funktionieren sollte Beigetragen von Ubik Load Pack (Unterstützung bei ubikloadpack.com)
  • Fehler 62317 – HTTP(S) Test Script Recorder: Ermöglicht das Hinzufügen von ResultSaver zum erstellten Sampler

Andere Sampler

  • Pull-Request Nr. 376 – JUnitSampler protokolliert Ausnahmen außer Behauptungsfehlern von Testfällen als Warnungen. Beigesteuert von Davide Angelocola (davide.angelocola at fisglobal.com)
  • Fehler 62244 – Benennen Sie Testaktion in Flusssteuerungsaktion um
  • Fehler 62302 – Bewegen Sie JSR223 Sampler im Menü nach oben. Beigesteuert von Ori Marko (orimarko at gmail.com)
  • Fehler 62595 – SMTPSampler erlaubt keine Konfiguration der SSL/TLS-Protokolle, die beim Handshake verwendet werden sollen. Beigesteuert von Felipe Cuozzo (felipe.cuozzo at gmail.com)

Controller

  • Fehler 62237 – While Controller: Variable exportieren, die den aktuellen Index der Iteration enthält. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Zuhörer

  • Fehler 62195 – Antworten in einer Datei speichern: Komponente und Benutzeroberfläche wurden verbessert. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62209 – InfluxBackendListenerClient: First Assertion Failure Message muss gesendet werden, wenn Fehlercode und Antwortcode leer oder OK sind
  • Fehler 62269 - Fehler 62269 - Ergebnisstruktur anzeigen: Die Registerkarten "Antwort" und "Anfrage" sollten die Registerkarten "Kopfzeile" und "Text" enthalten. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62270 – Ergebnisstruktur anzeigen: Suchen in Anfrage-Headern, Antwort-Headern und Anfragetext zulassen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62276 – InfluxDBBackendListenerClient / GraphiteBackendListenerClient : Gesendete und empfangene Bytes zu Metriken hinzufügen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 62320 – Zähler: Eigenschaft „Referenzname“ ist nicht klar
  • Fehler 60991 – XPath-Extraktor: Implementieren Sie XPath 2.0. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62593 – CSS/JQuery Extractor in CSS Selector Extractor umbenennen. Beigesteuert von Ori Marko (orimarko at gmail.com)

Funktionen

I18N

Bericht / Dashboard

  • Fehler 62243 - Dashboard: Option " --forceDeleteResultFile "/" -f " Option erstellen Ordner löschen, auf den durch die Option " -o " verwiesen wird
  • Fehler 62367 – HTML-Berichtsgenerator: Diagramm „Gesamttransaktionen pro Sekunde“ hinzufügen. Hauptsächlich beigetragen von Martha Laks (laks.martha at gmail.com)
  • Fehler 62166 – Bericht/Dashboard: Bietet die Möglichkeit, benutzerdefinierte Diagramme und Metriken im JMeter-Dashboard zu registrieren. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62542 – Bericht/Dashboard: Mehr Informationen zu Filtern anzeigen, wenn das Diagramm leer ist. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62426 – Optimieren Sie die Leistung der Berichterstellung. Basierend auf dem Feedback von Allen (444104595 auf qq.com)
  • Fehler 62550 – Benennungsrichtlinie für Unterergebnisse ändern
  • Fehler 60917 – Belastungstest mit eingebettetem Ressourcen-Download: Treffer pro Sekunde berücksichtigen die heruntergeladenen Ressourcen nicht

Allgemein

  • Fehler 62684 – Distributed Testing: Fügen Sie dem Thread-Namen automatisch ein Präfix hinzu, um die Engine zu identifizieren. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62155 – Suchfunktion: Das Textfeld „Suche“ erhält den Fokus
  • Fehler 62156 – Suchfunktion: Unterscheiden Sie zwischen Knoten, der mit der Suche übereinstimmt, und Knoten, der ein untergeordnetes Element enthält, das mit der Suche übereinstimmt
  • Fehler 62234 – Such-/Ersetzungsfunktion: Verbessern Sie UX und fügen Sie Funktionen zum Ersetzen/Weiter/Vorherigen/Ersetzen und Suchen hinzu. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62238 – Möglichkeit hinzugefügt, zur nächsten Iteration der Stromschleife zu wechseln. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62239 – Fähigkeit zum Unterbrechen der Stromschleife hinzugefügt
  • Fehler 61635 – Fügen Sie ein Menü hinzu, um JMeter neu zu starten
  • Fehler 62470 – CSV-Ausgabe: Protokollierung von Unterergebnissen aktivieren, wenn jmeter.save.saveservice.subresults=true . Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62473 – Das Setzen von „ saveservice_properties “ hat ein kontraintuitives Verhalten
  • Fehler 62354 – Korrekte Berechnung und Verwendung von Einheiten für Sekunden pro Benutzer (gemeldet von jffagot05 auf gmail.com)
  • Fehler 62700 – Führen Sie jsr223.init.file ein, um das Aufrufen eines JSR-223-Skripts beim Start von JMeter zu ermöglichen
  • Fehler 62128 - Versuchen Sie, JMETER_HOME richtig zu erraten, wenn jmeter.bat von einer Batch-Datei in einem anderen Verzeichnis aufgerufen wird. Beigesteuert von logox01 (logox01 bei gmx.at)
  • Pull-Anforderung Nr. 386 – Parameterunterstützung für RMI-Keystore-Erstellungsskripte hinzugefügt. Beigesteuert von Logan Mauzaize (t524467 at airfrance.fr)
  • Fehler 62065 – Verwenden Sie das Maven-Artefakt für das JAF-Modul anstelle des eingebetteten Moduls
  • Fehler 61714 – Echtzeit-Ergebnisdokumentation aktualisiert
  • Pull-Request Nr. 382 – Tippfehler in der Dokumentation korrigiert. Gemeldet von Perze Ababa (perze.ababa at gmail.com>)
  • Pull-Request Nr. 392 – Tippfehler in der Dokumentation korrigiert. Berichtet von Aaron Levin
  • Pull Request Nr. 379 – Chinesische Übersetzungen verbessern. Beigesteuert von XmeterNet

Nicht funktionale Änderungen

  • Pull-Request Nr. 358 , Pull-Request Nr. 365 , Pull-Request Nr. 366 , Pull-Request Nr. 375 – Aktualisiert auf den neuesten Checkstyle (v8.8). Checkstyle auf Dateien in src und test erweitert ; neu überprüfte Dateien behoben. Basierend auf einem Beitrag von Graham Russell (graham at ham1.co.uk)
  • Fehler 62095 – Korrekte Beschreibung für den rechten Randparameter im Boundary Extractor. Beigesteuert von Ori Marko (orimarko at gmail.com)
  • Fehler 62113 – Aktualisiert auf die neueste Bouncycastle (v1.60). Basierend auf einem Beitrag von Olaf Flebbe (oflebbe at apache.org)
  • Fehler 62171 – Entfernen Sie .md5- Prüfsummen und behalten Sie nur .sha512- Prüfsummen für Quell- und Binärarchive
  • Aktualisiert auf groovy-all-2.4.15 (von groovy-all-2.4.13)
  • Aktualisiert auf asm-6.1 (von 6.0)
  • Aktualisiert auf Tika-Core und Tika-Parser 1.18 (von 1.17)
  • Fehler 62482 – Synchronisieren Sie die Dokumentation mit der Implementierung des ForEachController. Basierend auf dem Beitrag von Ori Marko (orimarko at gmail.com)
  • Fehler 62529 – Aktualisiert auf httpclient-4.5.6 (von httpclient 4.5.5) und aktualisiert auf freemarker-2.3.28 (von freemarker-2.3.23). Basierend auf dem Patch von Ori Marko (orimarko at gmail.com)
  • Aktualisiert auf httpmime-4.5.6 (von httpmime-4.5.5)
  • Aktualisiert auf Caffeine-2.6.2 (von Caffeine-2.6.1)
  • Aktualisiert auf cglib-nodep-3.2.7 (von cglib-nodep-3.2.6)
  • Aktualisiert auf commons-dbcp2-2.4.0 (von commons-dbcp2-2.2.0)
  • Aktualisiert auf commons-pool2-2.6.0 (von commons-pool2-2.5.0)
  • Aktualisiert auf httpcore-4.4.10 (von httpcore-4.4.9)
  • Aktualisiert auf httpcore-nio-4.4.10 (von httpcore-nio-4.4.9)
  • Aktualisiert auf log4j-2.11.0 (von log4j-2.10.0)
  • Aktualisiert auf ph-css-6.1.1 (von ph-css-6.0.0)
  • Aktualisiert auf ph-commons-9.1.2 (von ph-commons-9.0.0)
  • Aktualisiert auf rhino-1.7.10 (von +rhino-1.7.7.2)
  • Aktualisiert auf commons-lang3-3.8 (von commons-lang3-3.7)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 62114 – HTTP(S) Test Script Recorder: Die Client-Zertifikatsauthentifizierung verwendet den ersten erstellten SSLManager. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61058 – HTTP-Anforderung: Option httpclient4.deflate_relax_mode hinzugefügt , um „Unerwartetes Ende des ZLIB-Eingabestreams“ zu vermeiden, wenn scheinbar ungültige Streams entleert werden. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 43612 – HTTP PUT berücksichtigt keine Anforderungsparameter. Implementiert von Artem Fedorov (artem.fedorov at blazemeter.com) und beigetragen von BlazeMeter Ltd.
  • Fehler 60190 – Content-Type wird bedingungslos für POST hinzugefügt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62462 Pull-Request Nr. 387 – Macht die Delegierung von Anmeldeinformationen in SPNEGO wieder möglich.
  • Fehler 58807Zurücksetzen des SSL-Status nur bei Threadgruppen-Iteration (war https.use.cached.ssl.context=false ist defekt)
  • Fehler 62716 – Beim Aufzeichnen entfernt JMeter die Autorisierung aus dem generierten Header-Manager, wenn Bearer Token verwendet wird

Andere Sampler

  • Fehler 62235 – Java 9 – illegaler reflektierender Zugriff durch org.apache.jmeter.util.HostNameSetter
  • Fehler 62464 – Setze Start- und Endzeit auf dem JMS Publisher Sampler, auch wenn die Initialisierung fehlschlägt.
  • Fehler 62616 – FTPSampler: Upload-Dateigröße wird nicht in sendBytes gezählt

Controller

Zuhörer

  • Fehler 62097 – JTable im Gesamtbericht nur aktualisieren, wenn neue Daten eingetroffen sind. Auf diese Weise werden Zeilenauswahlen länger aufbewahrt.
  • Fehler 62203 – Influxdb BackendListener-Client: Speichern Sie Benutzer-Tags in Anmerkungen und internen Transaktionen. Beigesteuert von Sergey Batalin (sergey_batalin at mail.ru)
  • Fehler 62251 – TextGraphiteMetricsSender macht verlorene Verbindungen bei Netzwerkfehlern nicht ungültig
  • Fehler 60705 – Korrigieren Sie Kopfzeilen von Aggregate Reports und Co., wenn Spalten verschoben werden.
  • Fehler 62463 – Verteilte Client/Server-Einrichtung: Verwenden Sie unterschiedliche RMI-Ports für die Remote-Objekte, wenn Sie SSL verwenden

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Bug 61664 - HTTP Authorization Manager : Digest funktioniert nur mit Legacy RFC 2069 , RFC 2617 ist nicht implementiert. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62252 – HTTP-Header-Zusammenführungslogik entspricht nicht der Dokumentation
  • Fehler 62554 – BoundaryExtractor: Zu prüfendes Feld wird nicht zurückgesetzt
  • Fehler 62553 – Zufälliges Element gibt möglicherweise denselben Wert zurück, selbst wenn die Eigenschaft „Pro Thread-Benutzer (Benutzer)“ auf TRUE gesetzt ist
  • Fehler 62637 – Berücksichtigen Sie den Planer bei der Berechnung der Verzögerung für die Synchronisierung des Timers

Funktionen

I18N

  • Fehler 62310 – Französische Übersetzung des Labels „Precise Throughput Timer“.

Bericht / Dashboard

  • Fehler 62333 – Berichts-Dashboard – Wenn eine Reihe keinen Wert enthält, ist die Farblogik des Diagramms falsch. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62283 – Berichts-Dashboard – Das Datum wird im Diagramm nicht korrekt angezeigt, wenn die Granularität ≤ 1 Tag beträgt
  • Fehler 62520 – Der Tooltip-Text, wenn wir den Mauszeiger über den Punkt im Diagramm „Latenz vs. Anforderung“ bewegen, sollte „Median Latency“ lauten.

Dokumentation

  • Fehler 62211 – HTTP-Request-Server-Dokumentation behoben. Beigesteuert von Ori Marko (orimarko at gmail.com)
  • Pull-Request Nr. 388 – Korrigieren Sie einen Tippfehler. Beigesteuert von Giancarlo Romeo (giancarloromeo at gmail.com)

Allgemein

  • Fehler 62107 – JMeter startet nicht unter Windows, wenn JM_LAUNCH Leerzeichen enthält
  • Fehler 62110 – Eine defekte JUnit-Klasse (aufgrund fehlender Abhängigkeit) beschädigt JMeter-Menüs. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Pull-Request Nr. 377 – Kleine Korrektur der Dokumentation. Beigesteuert von Peter Doornbosch (peter.doornbosch at luminis.eu)
  • Fehler 62124 – Aufzeichnungsvorlagen: Fügen Sie weitere Ausschlüsse hinzu und verwenden Sie standardmäßig den Transaktionsnamen
  • Fehler 62127 – Speichere den Dateinamen als String statt als Datei im FileEditor. Dadurch wird die Konvertierung von Dateinamen von Pfadtrennzeichen im Unix-Stil in den Windows-Stil verhindert, wenn sie beispielsweise in der CSV-Datensatzkonfiguration verwendet werden.
  • Fehler 56150 - Halten Sie den Index rechts, wenn Sie durch die Menüelemente scrollen.
  • Fehler 62240 – Wenn die SampleMonitor-Implementierung eine TestBean ist, wird sie nicht korrekt initialisiert
  • Fehler 62295 – Korrekte Reihenfolge der Elemente beim Duplizieren einer Auswahl mehrerer Elemente.
  • Fehler 62397 – Zeilen bei Kommata nicht umbrechen, wenn JSON Path Tester verwendet wird
  • Fehler 62281 – NPE in MapProperty verhindern. Patch von belugabehr (dam6923 at gmail.com)
  • Fehler 62457 – Im Benutzerhandbuch ist das Beispiel der UUID-Funktion falsch. Beigesteuert von helppass (onegaicimasu at hotmail.com)
  • Fehler 62478 – Escape-Kommata in Parametern beim Erstellen von Funktionszeichenfolgen im GUI-Funktionshelfer. Gemeldet von blue414 (blue414 at 163.com)
  • Bug 62463 – Korrigiert die Verwendung von Ports, wenn client.rmi.localport für verteilte Läufe eingestellt ist.
  • Fehler 62545 – Verwenden Sie keinen Doppelpunkt als Teil der „Tab“-Zeichenfolge, wenn Sie JSON in RenderAsJSON einrücken.
  • Teil von Bug 62637 – Vermeiden Sie einen Integer-Überlauf, wenn Sie mit sehr großen Werten in TimerService#adjustDelay umgehen
  • Fehler 62683 – Der Fehlerdialog hat keinen Text, wenn der Benutzer einen völlig ungültigen Testplan öffnet.

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

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

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 4.0

Zusammenfassung

Neu und bemerkenswert

Kernverbesserungen

JMeter unterstützt jetzt JAVA 9.

Neues Boundary Extractor - Element verfügbar, das eine einfache Extraktion mit besserer Leistung bietet

Neues JSON-Assertion - Element verfügbar, um JSON-Antworten zu bestätigen.

Neues Precise Throughput Timer - Element verfügbar, das Poisson-Ankünfte mit einem gegebenen konstanten Durchsatz erzeugt.

Der JMS-Punkt-zu-Punkt-Sampler wurde um die Optionen „ Lesen “ , „ Durchsuchen “ und „ Löschen “ erweitert.

Die besten Eigenschaftswerte werden jetzt für viele Testelemente ausgewählt, um sicherzustellen, dass Best Practices die Standardwerte sind:

  • Der neu hinzugefügte If-Controller verwendet jetzt standardmäßig den Ausdruck, der die leistungsfähigste Option ist.
  • Das neu hinzugefügte JSR223-Testelement speichert jetzt standardmäßig kompiliertes Skript, wenn die verwendete Sprache diese Funktion bietet.

Schleifencontroller und ForEach-Controller stellen jetzt ihre aktuelle Iteration als Variable namens __jm__<Name Ihres Elements>__idx bereit , die Sie beispielsweise für einen Schleifencontroller namens MyLoopController verwenden können :

${__jm__MyLoopController__idx}
. Siehe Fehler 61802

Cookies werden jetzt während der Aufzeichnung im View Results Tree angezeigt. Sie wurden bisher immer leer dargestellt.

Response Assertion ermöglicht es Ihnen jetzt, die Assertion-Nachricht anzupassen und auf Anforderungsdaten zu validieren.

UX-Verbesserungen

JMeter verwendet jetzt standardmäßig Darcula LAF

Workbench wurde aus der Benutzeroberfläche entfernt, Sie können jetzt Nicht-Testelemente als unmittelbar untergeordnete Elemente des Testplans verwenden.

Die Menü-UX wurde verbessert, um die meisten verwendeten Elemente schneller verfügbar zu machen.

HTTP(S) Test Script Recorder ermöglicht es Ihnen jetzt, Ihre Transaktionen während der Aufzeichnung besser lesbar zu benennen.

UX-Verbesserungen, die zu den bemerkenswertesten gehören:

  • Der Modulcontroller informiert den Benutzer, dass mindestens ein Controller erforderlich ist
  • Function Helper Dialog (Der Assistent, der beim Verwenden und Testen von Funktionen hilft) wurde in vielen Bereichen verbessert.
  • Switch Controller kürzt Text, um Probleme zu vermeiden, wenn ein Leerzeichen vor/nach dem Namen eingefügt wird
  • Der Testplan wird jetzt gespeichert, bevor der Testplan ausgeführt wird

Funktionen

Die neue Funktion __digest bietet eine einfache Berechnung von SHA-XXX- und MDX-Hashes:

${__digest(MD5,Apache JMeter 4.0 rockt!,,,)}
gibt 0e16c3ce9b6c9971c69ad685fd875d2b zurück

Die neue Funktion __dateTimeConvert ermöglicht eine einfache Konvertierung zwischen Datumsformaten:

${__dateTimeConvert(01 Jan 2017,dd MMM yyyy,dd/MM/yyyy,)}
wird am 01.01.2017 zurückkehren

Die neue Funktion __changeCase bietet die Möglichkeit, zwischen Groß-, Klein- und Großbuchstaben umzuschalten

${__changeCase(Avaro omnia desunt\, inopi pauca\, sapienti nihil,UPPER,)}
wird AVARO OMNIA DESUNT, INOPI PAUCA, SAPIENTI NIHIL zurückgeben

Die neuen Funktionen __isVarDefined und __isPropDefined ermöglichen das Testen der Verfügbarkeit von Eigenschaften und Variablen

${__isPropDefined(START.HMS)}
wird wahr zurückgeben
${__isVarDefined(JMeterThread.last_sample_ok)}
wird wahr zurückgeben

Scripting und Plugin-Entwicklung

Sie können jetzt SampleResult#setIgnore() aufrufen, wenn Sie nicht möchten, dass Ihr Sampler in den Ergebnissen sichtbar ist

Der von AbstractJavaSamplerClient verwendete JavaSamplerContext wurde um neue Methoden zur einfachen Plugin-Entwicklung erweitert.

JMeter verteilt jetzt zusätzliche Maven-Quellen und Javadoc-Artefakte in das Maven-Repository

Plugins können jetzt Listener registrieren, die benachrichtigt werden, wenn ein Testplan geöffnet/geschlossen wird

Live-Berichterstattung und Web-Bericht

Mit dem InfluxDB-Backend-Listener können Sie jetzt benutzerdefinierte Tags hinzufügen, indem Sie sie mit dem Präfix TAG_ hinzufügen , siehe Fehler 61794

In Web Report ist die Antwortzeit-Verteilungsgrafik genauer

Einige Bugfixes wurden bei der Berichterstellung vorgenommen, siehe Bug 61900 , Bug 61900 61956, Bug 61899 . Die Diagramme „Latenz vs. Anfrage“ und „Antwortzeit vs. Anfrage “ haben aufgrund von Fehler 61962 1000 RPS nicht überschritten

Konfiguration der JMeter-Umgebung

JVM-Einstellungen für die JMeter-Startskripte können in einer separaten Datei abgelegt werden ( bin/setenv.sh unter Unix und bin\setenv.bat unter Windows), die beim Start aufgerufen wird. Das Startskript selbst muss nicht mehr bearbeitet werden.

Inkompatible Änderungen

  • Startzeit und Enddatum der Thread-Gruppe wurden entfernt, siehe Bug 61549
  • Beim verteilten Testen wurde der Modus Hold entfernt. Verwenden Sie alternative und effizientere Modi
  • Für Plug-ins von Drittanbietern wurde die folgende Methode in org.apache.jmeter.gui.tree.JMeterTreeNode für die Migration zu Java 9 entfernt ( Bug 61529 ) .
    public Enumeration<JMeterTreeNode> children()
  • Die TearDown-Thread-Gruppe wird jetzt standardmäßig beim Stoppen und Herunterfahren eines Tests ausgeführt. Wenn Sie dieses Verhalten nicht wünschen, deaktivieren Sie Run tearDown Thread Groups after shutdown of main threads on Test Plan element, siehe Bug 61656
  • Die Eigenschaften sampleresult.getbytes.headers_size und sampleresult.getbytes.body_real_size wurden entfernt, siehe Bug 61587
  • JMeter speichert jetzt Ihren Testplan, wenn Sie ihn ausführen. Dieses Verhalten kann durch die Eigenschaft save_automatically_before_run gesteuert werden , siehe Bug 61731
  • Das Workbench-Element wurde entfernt, Sie fügen jetzt direkt Nicht-Test-Elemente als untergeordnete Elemente des Testplans hinzu. Beim Laden eines Testplans, der das Element enthält, verschiebt JMeter die Elemente Mirror Server , Property Display und HTTP(s) Test Script Recorder als direkte untergeordnete Elemente des Testplans. Für jedes andere Element wird ein Testfragmentelement namens Workbench-Testfragment erstellt und die darin enthaltenen Elemente verschoben .
  • Die folgenden Klassen wurden gelöscht ( org.apache.jmeter.functions.util.ArgumentEncoder , org.apache.jmeter.functions.util.ArgumentDecoder ), siehe Pull-Anfrage #335
  • In JMS Point-to-Point Sampler bedeutet das Setzen des Timeouts auf 0 jetzt ein unendliches Timeout, während es zuvor auf 2000 ms umgestellt wurde, siehe Bug 61829
  • Wenn Assertionen unterschiedliche Geltungsbereiche haben, werden sie beginnend mit dem ÄUSSERSTEN bis zum INNEREN ausgeführt. Siehe Fehler 61846
  • JMeter startet jetzt standardmäßig mit englischem Gebietsschema. Diese Änderung ist auf fehlende Übersetzungen in vielen unterstützten Sprachen zurückzuführen. Sie können das Gebietsschema ändern, indem Sie in jmeter und jmeter.bat (oder vorzugsweise setenv.sh/setenv.bat) die JVM_ARGS -Systemeigenschaftswerte ändern. Wir wären auch sehr dankbar, wenn Sie Übersetzungen in unterstützten Sprachen beisteuern könnten.
  • SwitchController trimmt jetzt standardmäßig den Inhalt von switch, um Probleme im Zusammenhang mit unerwünschten Leerzeichen zu vermeiden. Siehe Fehler 61771
  • JMeter JVM-Heap-Einstellungen wurden von -Xms512m -Xmx512m zu -Xms1g -Xmx1g geändert
  • Die Beanshell-Version wurde auf bsh-2.0b6 aktualisiert, was Breaking Changes und strengere Parsing-Regeln einführt

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Pull-Anforderung Nr. 316 – Warnt vor dem Laden eines leeren Truststores. Beigesteuert von Vincent Herilier (https://github.com/vherilier)
  • Fehler 61639 – HTTP(S) Test Script Recorder: Deaktivieren Sie auf der Registerkarte Anforderungsfilterung standardmäßig „Untergeordnete Listener über gefilterte Sampler benachrichtigen“
  • Fehler 61672 – HTTP(S) Test Script Recorder: Sie haben die Möglichkeit, den Sampler-Namen auszuwählen, während Sie weiterhin die Möglichkeit haben, nur ein Präfix hinzuzufügen
  • Fehler 53957 – HTTP-Anforderung: Auf der Registerkarte „Parameter“ das Einfügen von Inhalten aus Firefox und Chrome zulassen (ungeparst)
  • Fehler 61587 – Drop-Eigenschaften sampleresult.getbytes.headers_size und sampleresult.getbytes.body_real_size
  • Fehler 61843 – HTTP(S) Test Script Recorder: Fügen Sie SAN zu JMeter generiertem CA-Zertifikat hinzu. Beigesteuert von Matthew Buckett
  • Fehler 61901 – Unterstützung für die Systemeigenschaft https.cipherSuites . Beigesteuert von Jeremy Arnold (Jeremy at arnoldzoo.org)

Andere Sampler

  • Fehler 61544 – JMS-Punkt-zu-Punkt-Sampler: Verbessern Sie die Kommunikationsstile mit Lesen, Durchsuchen und Löschen. Basierend auf einem Beitrag von Benny van Wijngaarden (benny at smaragd-it.nl)
  • Bug 61829 - JMS Point-to-Point: Wenn die Empfangswarteschlange leer und ein Timeout gesetzt ist, wird dies nicht berücksichtigt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61739 – Java Request / JavaSamplerClient: Verbesserung von org.apache.jmeter.protocol.java.sampler.JavaSamplerContext
  • Bug 61762 – Start Next Thread Loop sollte überall verwendet werden

Controller

  • Fehler 61675 – Wenn Controller: Verwenden Sie standardmäßig den Ausdruck und fügen Sie eine Warnung hinzu, wenn der andere Modus verwendet wird. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61770 – Modul-Controller: Informieren Sie den Benutzer in der Benutzeroberfläche, dass er mindestens einen Controller in seinem Plan haben muss. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61771 – SwitchController: Switch-Feld sollte sicherheitshalber getrimmt werden

Zuhörer

  • Fehler 57760 – Ergebnisbaum anzeigen: Der Cookie-Header wird fälschlicherweise als leer (keine Cookies) angezeigt, wenn ein Rekorder-Beispielergebnis angezeigt wird. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61769 – Ergebnisbaum anzeigen: Syntaxhervorhebung in XPath Tester, JSON Path Tester und CSS/JQuery Tester verwenden. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61776 – Ergebnisstruktur anzeigen: Erweiterung des Menüs „ Alle erweitern/ reduzieren hinzufügen“ in der XML-Renderansicht. Beigesteuert von Maxime Chassagneux und Graham Russell
  • Fehler 61852 – Ergebnisbaum anzeigen: Boundary Extractor Tester hinzugefügt
  • Fehler 61794 – Influxdb-Backend: Fügen Sie beliebig viele benutzerdefinierte Tags hinzu, indem Sie einfach neue Zeilen erstellen und deren Namen „ TAG_ “ im GUI-Backend-Listener voranstellen

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 60213 – Neue Komponente: Grenzbasierter Extraktor
  • Fehler 61845 – Neue Komponente JSON Assertion basierend auf AtlanBH JSON Path Assertion an JMeter-Plugins gespendet und von Artem Fedorov (artem at blazemeter.com) in den JMeter-Core migriert
  • Fehler 61931 – Neue Komponente: Precise Throughput Timer, Timer, der Poisson-Ankünfte mit einem gegebenen konstanten Durchsatz erzeugt. Beigesteuert von Vladimir Sitnikov (sitnikov.vladimir at gmail.com)
  • Fehler 61644 – HTTP-Cache-Manager: „Cache-Control/Expires-Header bei der Verarbeitung von GET-Anforderungen verwenden“ sollte standardmäßig aktiviert sein
  • Fehler 61645 – Response Assertion: Möglichkeit zur Assertion bei Anforderungsdaten hinzugefügt
  • Fehler 51140 – Response Assertion: Möglichkeit hinzugefügt, eine bestimmte Fehler-/Fehlermeldung festzulegen, die später im Assertion-Ergebnis angezeigt wird. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61534 – Konvertieren Sie AssertionError in eine fehlgeschlagene Assertion, sodass Benutzer Assertion in ihrem Code verwenden können. Behebung einer in 3.2 eingeführten Regression
  • Fehler 61756 – Extraktoren: Verbessern Sie den Labelnamen „Referenzname“, um deutlicher zu machen, was er macht
  • Fehler 61758Apply to: Feld in Extractors, Assertions: Bei der Eingabe eines Werts in JMeter Variable Name sollte das Optionsfeld JMeter Variable Name standardmäßig ausgewählt sein. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61846 – Scoped Assertion sollte der gleichen Auswertungsreihenfolge folgen wie Postprozessoren

Funktionen

  • Fehler 61724__digest- Funktion hinzugefügt, um die Berechnung von Hashes (SHA-XXX, MDX) bereitzustellen. Basierend auf einem Beitrag von orimarko auf gmail.com
  • Fehler 61735__dateTimeConvert- Funktion hinzugefügt, um Konvertierungen von Datumsformaten bereitzustellen. Basierend auf einem Beitrag von orimarko auf gmail.com
  • Fehler 61760__isPropDefined- und __isVarDefined- Funktionen hinzugefügt, um festzustellen, ob Eigenschaft oder Variable vorhanden sind. Beigesteuert von orimarko bei gmail.com
  • Fehler 61759__changeCase- Funktion hinzugefügt, um verschiedene Fälle einer Zeichenfolge zu ändern. Basierend auf einem Beitrag von orimarko auf gmail.com
  • Fehler 61561 – Das Funktionshilfsdialogfeld sollte eine Ausnahme im Ergebnis anzeigen
  • Fehler 61738 – Dialogfeld „Funktionshilfe“: „Kopieren“ in „Beschriftungen generieren und klären“ hinzugefügt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 62027 – Hilfe: Einführung der Eigenschaft help.local , um die Wahl zwischen lokaler (Offline-)Dokumentation und Online-Dokumentation zu ermöglichen
  • Fehler 61593 – Schaltflächen „Detail entfernen“, „Hinzufügen“, „Aus Zwischenablage hinzufügen“, „Löschen“ in der Funktions-Helper-GUI

I18N

  • Fehler 61606 – Übersetzen-Schaltfläche Durchsuchen… in einigen Elementen (die die FileEditor-Klasse verwenden)
  • Fehler 61747 – HTTP(S) Test Script Recorder: Fügen Sie das fehlende Dokument zu „Transaktion nach Anfrage erstellen (ms)“ hinzu

Bericht / Dashboard

  • Fehler 61871 – Reduzieren Sie den Standardwert von jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity von 500 ms auf 100 ms
  • Fehler 61879 – Entfernen Sie nutzlose Dateien in der HTML-Berichtsvorlage

Allgemein

  • Fehler 61591 – Workbench aus dem Testbaum löschen. Implementiert von Artem Fedorov (artem at blazemeter.com) und beigetragen von BlazeMeter Ltd.
  • Fehler 61549 – Thread-Gruppe: Start- und Enddatum entfernen
  • Fehler 61529 – Migration zu Java 9. Teilweise beigetragen von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61709 – SampleResult: Fügen Sie eine Methode setIgnore() hinzu , damit JMeter das SampleResult ignoriert und nicht an Listener sendet
  • Fehler 61806 – Verwendung von SampleResult#setIgnore() in Postprozessoren und Assertion-Skripten zulassen (JSR223-Elemente)
  • Fehler 61607 – Schaltfläche „Durchsuchen“ in allen BeanShell-Elementen hinzugefügt, um das BeanShell-Skript auszuwählen
  • Fehler 61627 – LogView wird nicht mehr gelöscht, wenn auf die Warn-/Fehleranzeige geklickt wird
  • Fehler 61629 – Das Menü „Denkzeiten zu Kindern hinzufügen“ sollte deaktivierte Elemente nicht berücksichtigen
  • Fehler 61655 – SampleSender: HoldSampleSender-Implementierung löschen
  • Fehler 61656TearDown-Thread-Gruppe sollte standardmäßig beim Beenden oder Herunterfahren des Tests ausgeführt werden
  • Fehler 61659JMeterVariables#get() sollte toString() auf Nicht-String-Objekte anwenden
  • Fehler 61555 – Metaspace sollte standardmäßig eingeschränkt sein
  • Fehler 61693 – JMeter kennt Docker ( -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap )
  • Fehler 61694 – Option -server in jmeter.bat hinzugefügt
  • Fehler 61697 – Einführung von Darcula Look and Feel, um die JMeter-Benutzeroberfläche attraktiver zu machen
  • Fehler 61704 - Symbolleiste: Den rechten Teil etwas verbessern
  • Fehler 61731 – Verbesserung der Testplansicherung mit der Option zum Speichern vor der Ausführung. Basierend auf einem Beitrag von orimarko auf gmail.com
  • Fehler 61640 – JSR223-Testelemente: Caching standardmäßig aktivieren. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61785Hilfe hinzufügen  →  Nützliche Links zum Erstellen von Problemen und Herunterladen des nächtlichen Builds
  • Fehler 61808 – Hauptrahmenposition korrigiert. Implementiert von Artem Fedorov (artem at blazemeter.com) und beigetragen von BlazeMeter Ltd.
  • Fehler 61802 – Loop/ForEach-Controller sollte eine Variable für die aktuelle Iteration verfügbar machen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Pull-Request Nr. 349 – i18n-Ressourcen hinzufügen (zh_CN). Beigesteuert von Helly Guo (https://github.com/hellyguo)
  • Pull-Request Nr. 351 – Die Dialogposition in der ersten Ansicht wurde korrigiert. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request #352 – Menüleiste – Mnemonics zu mehr Menüpunkten hinzugefügt. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request #353 – Einige bestehende Tests in Spock neu geschrieben. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 61919 – UX: Menüs neu anordnen. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 61920 – Plugins: Möglichkeit zum Abhören des Ladens/Schließens von Testplänen hinzugefügt. Beigesteuert von Peter Doornbosch (https://bitbucket.org/pjtr/)
  • Bug 61935 - Plugins: GUI-Komponente (dynamisch) entscheiden lassen, ob sie über das Menü hinzugefügt werden kann oder nicht. Beigesteuert von Peter Doornbosch (https://bitbucket.org/pjtr/)
  • Fehler 61969 – Beim Ändern von LAF über die GUI sollte der Benutzer darüber informiert werden, dass es besser ist, neu zu starten
  • Fehler 61970 – JMeter verwendet jetzt Englisch als Standardgebietsschema, um zu vermeiden, dass fehlende Übersetzungen in einigen Gebietsschemas die Benutzeroberfläche seltsam aussehen lassen
  • Fehler 56368 – Erstellen und Bereitstellen von Quellartefakten in Maven Central
  • Fehler 61973 – Javadoc-Artefakte erstellen und in Maven Central bereitstellen
  • Pull-Anforderung Nr. 371 – Korrekturbeispiel in der Dokumentation für XPath-Assertion . Beigesteuert von Konstantin Kalinin (kkalinin at hotmail.com)
  • Fehler 62039 – Verteiltes Testen: Bieten Sie die Möglichkeit, SSL zu verwenden

Nicht funktionale Änderungen

  • Aktualisiert auf bsh-2.0b6 (von bsh-2.0b5)
  • Aktualisiert auf groovy-all-2.4.13 (von groovy-all-2.4.12)
  • Aktualisiert auf rhino-1.7.7.2 (von rhino-1.7.7.1)
  • Aktualisiert auf Tika-Core und Tika-Parser 1.17 (von 1.16)
  • Aktualisiert auf commons-dbcp2-2.2.0 (von 2.1.1)
  • Aktualisiert auf Koffein 2.6.1 (von 2.5.5)
  • Aktualisiert auf commons-codec-1.11 (von 1.10)
  • Aktualisiert auf commons-io-2.6 (von 2.5)
  • Aktualisiert auf commons-lang3-3.7 (von 3.6)
  • Aktualisiert auf commons-pool2-2.5.0 (von 2.4.2)
  • Aktualisiert auf asm-6.0 (von 5.2)
  • Aktualisiert auf jsoup-1.11.2 (von 1.10.3)
  • Aktualisiert auf cglib-nodep-3.2.6 (von 3.2.5)
  • Aktualisiert auf ph-css 6.0.0 (von 5.0.4)
  • Aktualisiert auf ph-commons 9.0.0 (von 8.6.6)
  • Aktualisiert auf log4j2 2.10.0 (von 2.8.2)
  • Aktualisiert auf httpcore 4.4.9 (von 4.4.7)
  • Aktualisiert auf httpclient 4.5.5 (von 4.5.3)
  • Aktualisiert auf jodd 4.1.4 (von 3.8.6)
  • Fehler 61642 – Verbesserung der FTP-Testabdeckung
  • Fehler 61641 – Verbesserung der JMS-Testabdeckung
  • Fehler 61651 – Verbesserung der TCP-Testabdeckung
  • Fehler 61651 – Verbesserung der OS-Testabdeckung. Teilweise beigetragen von Aleksei Balan (abalanonline at gmail.com)
  • Pull-Request Nr. 319 – Auskommentierter Code entfernt. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 322 – Allgemeine JavaDoc-Bereinigung. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 323 – Extrahierte Methode und verwendete Streams zur Verbesserung der Lesbarkeit. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 324 – Backup-Refaktor speichern. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 327 – Verwenden von modernerem Java, Vereinfachen von Code und Formatieren von Code und Kommentaren. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 332 – Fügen Sie das Spock-Framework für groovige Unit-Tests hinzu. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Anforderung Nr. 334 – Ausführung von JUnit-Tests aus IntelliJ heraus mit Standardkonfiguration aktivieren. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 335 – entfernt functions.util.* , da sie anscheinend (seit vielen Jahren) nicht mehr verwendet werden. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 61867 Pull-Request Nr. 345 – Aktualisiert auf den neuesten Checkstyle (v8.5), Viele weitere Regeln zu Checkstyle hinzugefügt, Überprüfung von Testdateien und mehr Dateitypen enthalten. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Pull-Request Nr. 350 – Parallelisierte Unit-Tests. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 61966 – Setup Test Results Analyzer in jenkins
  • Pull-Request #343 – Reduzieren Sie die Größe einiger Bilder in der Dokumentation. Beigesteuert von Graham Russell (graham at ham1.co.uk)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 61569 – JMS-Punkt-zu-Punkt-Testplan: Synchronisierungsproblem beim Senden einer Antwort. Beigesteuert von Igor Panainte (panainte.i at gmail.com)

Andere Sampler

  • Fehler 61698 – Testaktion: Wenn Stopp ausgewählt ist, können Sampler nach Testaktion ausgeführt werden
  • Fehler 61707 – Testaktion: Ziel wird ignoriert, wenn „Pause“ ausgewählt ist, daher sollte es deaktiviert werden
  • Fehler 61827 – JMSPublisher: Keine neue Zeile am Ende der Datei hinzufügen. Beigesteuert von Graham Russell (graham at ham1.co.uk)

Controller

  • Fehler 61556 – Klären Sie in der Dokumentation die Leistungsauswirkungen der Verwendung von ${} var in IfController und Groovy. Beigesteuert von Justin McCartney (be_strew auf yahoo.co.uk)
  • Fehler 61713 – Testfragment hat die Option, den Controller zu ändern und das übergeordnete Element einzufügen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61965 – Module und Include Controller sollten es nicht erlauben, bedeutungslose Elemente in ihrem Kontext hinzuzufügen.
  • Fehler 62062 – ThroughputController: StackOverFlowError wird ausgelöst, wenn throughput=0 (Total Executions or Percentage Executions) Teilweise implementiert von Artem Fedorov (artem.fedorov at blazemeter.com) und beigetragen von BlazeMeter Ltd.

Zuhörer

  • Fehler 61742 – BackendListener: Standardwert für backend_graphite.send_interval korrigiert
  • Fehler 61878 – BackendListener: NPE, wenn BackendListenerClient#getDefaultParameters null zurückgibt
  • Fehler 61950 – Ergebnisbaum anzeigen: Inhaltstyp audio/mpegurl wird fälschlicherweise als binär betrachtet

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 61716 – Kopfzeilen-Manager: Beim Einfügen von Kopfzeilen aus Firefox oder Chrome werden Leerzeichen als erstes Wertzeichen eingeführt

Funktionen

  • Fehler 61588 – Bessere Protokollnachricht für die Funktion __RandomDate()
  • Fehler 61619 – Im Function Helper Dialog zeigt die 1. Funktion keine Standardparameter an
  • Fehler 61628 – Wenn die geteilte Zeichenfolge ein leeres Trennzeichen hat, wird das Standardtrennzeichen nicht verwendet
  • Fehler 61752__RandomDate : Die Funktion lässt nicht zu, dass der letzte Parameter fehlt, der für den Variablennamen verwendet wird

I18N

Bericht / Dashboard

  • Fehler 61807 – Webbericht: Fehler in getTop5ErrorMetrics behoben . Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 61900 – Berichtsgenerator: Die Berichterstellung schlägt fehl, wenn das Trennzeichen ein für Regex reserviertes Zeichen wie | ist
  • Fehler 61925 – CsvSampleReader erhöht die Zeile in nextSample() nicht. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 61956 – Berichterstellung: Die Option „ -f “ von „-forceDeleteResultFile “ funktioniert nicht. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61899 – Berichterstellung: Wenn jmeter.save.saveservice.print_field_names falsch ist und sample_variables gesetzt sind, schlägt die Berichterstellung fehl. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61962 – Die Diagramme „Latenz vs. Anfrage“ und „Reaktionszeit vs. Anfrage“ überschreiten nicht 1000 RPS. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Allgemein

  • Fehler 61661 – Vermeiden Sie Probleme beim Starten/Herunterfahren aufgrund von Thread-Listener-Plugins von Drittanbietern, die RuntimeException auslösen
  • Fehler 61625 – Der in BeanInfo verwendete Dateieditor verhält sich unter allen LAFs mit Auswirkungen auf CSVDataSet, JSR223, BSF, Beanshell Element seltsam
  • Fehler 61844 – Maven pom.xml: Bibliotheken, die beim Testen verwendet werden, sollten einen Bereichstest haben
  • Fehler 61842 – Speichern ohne Änderungen führt zu einem Speichern und Duplizieren einer identischen Sicherungsdatei

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

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

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:

  • user7294900 auf Stackoverflow (orimarko at gmail.com)

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 3.3

Zusammenfassung

Neu und bemerkenswert

JMeter unterstützt JAVA 9 noch nicht, die nächste JMeter-Version wird es unterstützen, Sie können helfen und den Fortschritt zu diesem Punkt in Bug 61529 verfolgen .
Es wird empfohlen, die letzte Nebenversion von JAVA 8 zu verwenden, um JDK-Fehler zu vermeiden.

Kernverbesserungen

HTTP Sampler unterstützt jetzt die Brotli-Dekomprimierung.

CacheManager unterstützt jetzt vollständig Vary-Header.

InfluxDB BackendListener unterstützt jetzt das Senden von Ergebnissen an InfluxDB über das UDP-Protokoll.

Es wurde auch verbessert, um die Anzahl der Fehler nach Antwortcode und Nachricht für jede Transaktion zu senden

TCP Sampler berechnet jetzt die Latenz, siehe Bug 60156

Aktualisierte Abhängigkeiten zu den letzten verfügbaren Versionen, die Leistungsverbesserungen und Fehlerbehebungen bringen

Weitere Verbesserung der Qualität unseres Codes und der Testabdeckung. Siehe Qualitätsbericht

UX-Verbesserungen

Es wurde weiter daran gearbeitet, HiDPI besser zu unterstützen.

Einige Fehler, die sich bei der Arbeit zur Senkung des Speicherverbrauchs von View Results Tree eingeschlichen haben, wurden behoben.

Die Konstante DEFAULT_IMPLEMENTATION wurde aus CookieManager entfernt, da sie mit der Entfernung der alternativen HTTP-Client-Implementierung in der letzten Version ihren Zweck verloren hat

JDBC Sampler UX wurde verbessert, indem Auswahlfelder für Treiber und Validierungsabfragen hinzugefügt wurden.

Wenn Controller und While Controller UX verbessert wurden

Berichts-/Dashboard-Verbesserungen

Ein neuer Menüpunkt Hilfe wurde hinzugefügt, um die Konfiguration der Berichterstellung zu vereinfachen.

Verbesserungen der Dokumentation

Eingebautes Feedback zu unklarer Dokumentation.

Funktionen

Function Helper Dialog: Ein neues Feld, das das Ausführungsergebnis anzeigt, wurde hinzugefügt.

Neue Funktionen:

  • __timeShift - gibt ein Datum in verschiedenen Formaten zurück, wobei die angegebene Anzahl von Sekunden/Minuten/Stunden/Tagen hinzugefügt wird.
  • __RandomDate - generiert zufälliges Datum innerhalb eines bestimmten Datumsbereichs.

Inkompatible Änderungen

  • In InfluxDbBackendListenerClient wurde die Eigenschaft statut in status umbenannt
  • In CookieManager sind die Konstanten DEFAULT_POLICY und DEFAULT_IMPLEMENTATION jetzt privat.
    Wenn Sie Ignoriercookies mit HC3CookieHandler (< JMeter 3.1) verwenden, wird die Konfiguration zurückgesetzt, stellen Sie sicher, dass Sie sie zurücksetzen.
  • JMeter kürzt standardmäßig keine Antworten mehr, die 10 MB überschreiten. Wenn Sie diese Kürzung aktivieren möchten, siehe Eigenschaft httpsampler.max_bytes_to_store_per_request
  • org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream) wurde zugunsten von org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream, SampleResult) als veraltet markiert, stellen Sie sicher, dass Sie Ihre Implementierung aktualisieren um die Latenz berechnen zu können, siehe Bug 60156

Entfernte Elemente oder Funktionen

  • Die Funktion _StringFromFile wurde entfernt, verwenden Sie stattdessen __StringFromFile

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 61056 – HTTP: Brotli-Decodierung wird unterstützt
  • Fehler 61135 – CookieManager: Drop-Implementierung Auswahlfeld und Bereinigungsklasse
  • Bug 61492 - HTTP(S) Test Script Recorder : Möglichkeit hinzugefügt, den Wert von proxy.pause in der GUI zu ändern

Andere Sampler

  • Fehler 61320 – Testaktion: Dauer standardmäßig auf 0 setzen
  • Fehler 61504 – JDBC-Verbindungskonfiguration: Legen Sie die maximale Anzahl von Verbindungen standardmäßig auf 0 fest
  • Fehler 61505 – JDBC-Verbindungskonfiguration: Setzen Sie „Validation Query“ standardmäßig auf leer , um die isValid- Methode des JDBC-Treibers zu verwenden
  • Fehler 61506 – JDBC-Verbindungskonfiguration: Fügen Sie eine Liste für Hauptdatenbank-Validierungsabfragen für das Attribut „Validation Query“ hinzu
  • Fehler 61507 – JDBC-Verbindungskonfiguration: Fügen Sie eine Liste für JDBC-Treiberklassennamen der Hauptdatenbanken für das Attribut „JDBC-Treiberklasse“ hinzu
  • Fehler 61525 – Betriebssystem-Prozess-Sampler: Browser-Schaltfläche zu Befehls- und Arbeitsverzeichnisfeldern hinzugefügt
  • Fehler 60156 – TCPSampler: Die Latenz wird für TCP Sampler nicht gemessen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61039 – CSV-Datensatzkonfiguration: Browserschaltfläche zum Dateinamenfeld hinzugefügt
  • Fehler 61527 – CSV-Datensatzkonfiguration: Fügen Sie eine Liste für Hauptdateicodierungswerte für das Dateicodierungsattribut hinzu

Controller

  • Fehler 61131 – IfController und WhileController: Verbesserung der UX

Zuhörer

  • Fehler 61167 – InfluxdbBackendListener: Fügen Sie die Anzahl der Fehler nach Antwortcode und Nachricht für jede Transaktion hinzu
  • Bug 61068 - Eigenschaft resultcollector.action_if_file_exists einführen , um das Popup "Datei existiert bereits" beim Starten eines Tests zu steuern
  • Fehler 61457 – InfluxDB-Backend-Listener-Client: Unterstützt das Senden von Ergebnissen an InfluxDB über das UDP-Protokoll. Teilweise basierend auf Pull-Request Nr. 302 – von Junlong Wu (github id mybreeze77)

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

  • Fehler 61040 – Fügen Sie eine Zeitverschiebungsfunktion hinzu
  • Fehler 61126 – Funktionshilfsdialog: Fügen Sie ein Feld hinzu, das das Ausführungsergebnis anzeigt
  • Fehler 61508 – Fügen Sie ein zufälliges Datum innerhalb einer bestimmten Datumsbereichsfunktion hinzu

I18N

  • Fehler 61509 – Besseres Label/Übersetzung/Dokumentation für Labels start und max für Counter-Element

Bericht / Dashboard

  • Fehler 61481 – Hilfemenüelement zum Exportieren von Transaktionen für Webberichte

Allgemein

  • Greifen Sie bei der Suche nach Klassen in ActionRouter auf den Speicherort der JAR -Datei zurück, aus der ActionRouter geladen wird. Bereitgestellt von Emilian Bold (emi at apache.org)
  • Fehler 61510 – Setzen Sie „Max. Anzahl an Verbindungen“ in „JDBC-Verbindungskonfiguration“ für die „JDBC-Lasttestvorlage “ auf 0
  • Fehler 61399 – Machen Sie einige Bin- und Extras-Skripte Shellcheck-kompatibel. Beigetragen von Wolfgang Wagner (internetwolf2000 at hotmail.com)

Nicht funktionale Änderungen

  • Aktualisiert auf groovy 2.4.12 (von 2.4.10)
  • Aktualisiert auf Koffein 2.5.5 (von 2.4.0)
  • Aktualisiert auf commons-jexl3 3.1 (von 3.0)
  • Aktualisiert auf ph-css 5.0.4 (von 5.0.3)
  • Aktualisiert auf ph-commons 8.6.6 (von 8.6.0)
  • Aktualisiert auf log4j2 2.8.2 (von 2.8.1)
  • Aktualisiert auf xmlgraphics-commons 2.2 (von 2.1)
  • Aktualisiert auf jodd 3.8.6 (von 3.8.1)
  • Aktualisiert auf xstream 1.4.10 (von 1.4.9)
  • Aktualisiert auf Apache Tika 1.16 (von 1.14)
  • Aktualisiert auf jsoup-1.10.3 (von 1.10.2)
  • Aktualisiert auf commons-lang3 3.6 (von 3.5)
  • Aktualisiert auf json-path 2.4.0 (von 2.2.0)
  • Aktualisiert auf httpcore 4.4.7 (von 4.4.6)
  • Fehler 61438 – Ändern Sie die kryptografische Signatur von Paketen von sha-1 zu sha-512

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 61384 – Setzen Sie den Zeichensatz nicht beim Einschließen von multipart/form-data- Headern. Es irritiert einige Server.
    Der Zeichensatz wurde vor einiger Zeit während der Umgestaltung hinzugefügt, um eine neuere API des HTTP-Clients zu verwenden. Siehe Fehler 56141 - für weitere Informationen.
  • Fehler 61456java.lang.ArrayIndexOutOfBoundsException beim Aufzeichnen mit JMeter und seltsamem Basic Auth Authorization Header
  • Fehler 61395 – Das Abschneiden großer Serverantworten kann sich auf die Aufzeichnung auswirken

Andere Sampler

  • Fehler 60889 – JMeter JDBC-Beispiel ruft SELECT USER() beim Testen mit MySQL JDBC aufgrund des Connection#toString -Aufrufs für Antwortheader auf.
  • Fehler 61259 – JDBC-Anforderung: Seit JMeter 3.0, wenn JDBC Auto-Commit false ist, wird jedes Mal, wenn eine Anforderung ausgeführt wird, eine Rollback-Anweisung ausgeführt. Teilweise beigetragen von Liu XP (liu_xp2003 at sina.com)
  • Bug 61319 - Regression behoben: SMTP Sampler konnte keine Mails versenden, wenn keine Anhänge angegeben wurden.

Controller

  • Fehler 61375 – Verwenden Sie den System-DNS-Resolver als letzten Ausweg, wenn Sie Einträge in der statischen Host-Tabelle auflösen.

Zuhörer

  • Fehler 61005 – Ergebnisbaum anzeigen – Browser-Antwortdaten werden nicht gelöscht
  • Bug 61121 - InfluxdbBackendListenerClient: Es werden nur alle Perzentile gesendet, nicht KO und OK
  • Fehler 60961 – Versuchen Sie, den Status ausgewählter und erweiterter Elemente im Ergebnisbaum anzuzeigen, wenn neue Elemente hinzugefügt werden.
  • Fehler 61198 – Backend-Listener funktioniert nicht richtig im Hauptskript, wenn eingeschlossene Skripte auch Backend-Listener enthalten
  • Fehler 61493 – Max/Min-Threads werden im Graphite- und InfluxDB-Backend-Listener ausgetauscht

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 58743 Pull Request #293 – TableEditor kann nicht gespeichert werden, wenn zwei oder mehr Instanzen verwendet werden. Bugfix bereitgestellt von Emilian Bold (emi at apache.org)
  • Fehler 61314 – HTTP-URL-Umschreibungsmodifikator ersetzt nicht die vorhandene jsessionid im HTTP-Sampler, sondern fügt sie am Ende hinzu
  • Fehler 61336 – BeanShell Assertion: Fehler in der chinesischen Übersetzung

Funktionen

  • Fehler 61258 – Die Funktion „StringFromFile“ wird im Dialogfeld „Funktionshelfer“ zweimal erwähnt
  • Fehler 61260Die __XPath- Funktion gibt null zurück, obwohl der XPath-Checker Übereinstimmungen findet
  • Fehler 58876 – Die TestPlanName-Funktion gibt für einen neu gespeicherten Testplan null zurück und verwendet einen zuvor geöffneten für einen neuen

I18N

Bericht / Dashboard

  • Fehler 61129 – Bericht/Dashboard: Wenn der Antwortcode leer ist, aber eine Fehlernachricht vorhanden ist, sind Fehler und Top-5-Fehler nicht korrekt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 61151 – Bericht/Dashboard: Die 5 häufigsten Fehler nach Sampler und Fehler: Wenn die Behauptung HTML-Code enthält, wird der HTML-Teil ausgeblendet

Allgemein

  • Fehler 60743 – Das Beenden/Herunterfahren des Tests kann aufgrund von HTTPCORE-446 zu einem Deadlock führen, der durch das HttpCore-Upgrade auf 4.4.7 behoben wurde
  • Fehler 60994 – Einige Tippfehler in Kommentaren oder Protokollnachrichten behoben. Pull-Request #289 und Pull-Request #290 -
  • Fehler 61011 – Anzahl der Ersetzungsvorkommen ist nicht korrekt (Pfad- und Hostersetzung werden doppelt gezählt)
  • Fehler 61026 – Programm „keytool“ kann nicht ausgeführt werden: CreateProcess error=2 beim Starten von JMeter 3.2 im GUI-Modus
  • Fehler 61054 – Endlosschleife in JOrphanUtils#replaceAllWithRegex, wenn Regex in Ersetzung enthalten ist
  • Fehler 60995 – HTTP Test Script Recorder: Das Portfeld ist unter einigen L&F sehr klein
  • Fehler 61073 – HTTP(S) Test Script Recorder Panel hat einige Felder mit schlechter Größe auf dem HiDPI-Bildschirm oder GTK+ L&F unter Linux/XWayland
  • Fehler 57958 – Behebung eines Transaktionsbeispiels, das nicht generiert wird, wenn der Thread stoppt/neu startet. Implementiert von Artem Fedorov (artem at blazemeter.com) und beigetragen von BlazeMeter Ltd.
  • Fehler 61050 – Behandeln Sie nicht initialisierte RessourceBundle eleganter, wenn Sie JMeterUtils#getResString aufrufen .
  • Fehler 61100 – Ungültiger GC-Protokolldateiname unter Windows
  • Fehler 57962 – Verwendung von Variablen (nur von benutzerdefinierten Variablen) in allen Listenern im Worker-Node-Modus zulassen
  • Fehler 61270 - Behoben: Schriftarten mit zu kleiner Breite in Textbereichen, um unter HiDPI gelesen zu werden (Fehler im Benutzerhandbuch)
  • Fehler 61292 – Machen Sie die Verarbeitung von Proben im Reporter robuster.
  • Fehler 61359 – Beim Ausschneiden eines Elements aus dem Baum wird der Testplan nicht als fehlerhaft markiert
  • Fehler 61380 – Das Herunterfahren von JMeter mit Timern löst eine donnernde Herde von unterbrochenen Samplern aus
  • Fehler 57055 – CheckDirty.doAction sollte vorherige GUIItems für SUB_TREE_SAVED löschen

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • Anass Benomar (abenomar bei umanis.com, Mithrandir0407 bei github)
  • Anthony Kearns (anthony.kearns atrightside.co)
  • Emilian Bold (emi bei apache.org)
  • Liu XP (liu_xp2003 bei sina.com)
  • Ubik-Ladepaket
  • Wolfgang Wagner (internetwolf2000 at hotmail.com)
  • Junlong Wu (Github-ID mybreeze77)

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:

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

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption ) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit Java 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 3.2

Zusammenfassung

Neu und bemerkenswert

WICHTIGE ÄNDERUNGEN

JMeter erfordert jetzt Java 8. Stellen Sie sicher, dass Sie die aktuellste Version verwenden.

Die JMeter-Protokollierung wurde auf SLF4J und Log4j 2 migriert. Dies betrifft die Konfiguration und Plugins von Drittanbietern, siehe unten "Protokollierungsänderungen" .

Ab JMeter Version 3.2 ist die Anzahl der Ergebnisse in View Results Tree standardmäßig auf 500 Einträge begrenzt. Wenn Sie mehr Einträge wünschen, müssen Sie die Eigenschaft view.results.tree.max_results auf einen höheren Wert setzen oder auf 0 , wenn Sie keine Begrenzung festlegen möchten. Sie können die Eigenschaft in bin/user.properties festlegen. Weitere Informationen finden Sie möglicherweise hier .

Kernverbesserungen

  • JMeter bietet jetzt eine neue BackendListener-Implementierung, die InfluxDB verbindet.
    Diese Implementierung sendet Daten mit asynchronen HTTP-Aufrufen über ihre HTTP-API an InfluxDB und gibt Ihnen die folgenden Diagramme mit Anmerkungen:
  • Der DNS-Cache-Manager verfügt jetzt über eine Tabelle, um die statische Hostauflösung zu ermöglichen.
  • JMS-Publisher und -Subscriber erlauben jetzt die Wiederverbindung bei einem Fehler mit Pause.
  • Variablen in JMS Publisher werden jetzt für alle Nachrichtentypen unterstützt. Fügen Sie den Codierungstyp der Datei hinzu, um ihren Inhalt zu analysieren
  • XPath Extractor ermöglicht nun die Extraktion nach dem Zufallsprinzip, nach Index oder für alle Übereinstimmungen.
  • Response Assertion ermöglicht jetzt das Arbeiten am Request Header, bietet eine "OR"-Kombination und hat einen besseren Cell-Renderer
  • JMeter verwendet jetzt die Oracle Nashorn Javascript-Engine anstelle von Rhino. Dies sorgt für eine schnellere Ausführung von Javascript.
  • Die HTTP HC4-Implementierung bietet jetzt standardmäßig aktivierte präemptive Basic Auth
  • Das Herunterladen von eingebetteten Ressourcen in CSS wurde verbessert, um nutzloses, wiederholtes Parsen zum Auffinden der Ressourcen zu vermeiden
  • Seit der Einrichtung von Sonar im Projekt wurde eine wichtige Arbeit an der Codequalität und der Codeabdeckung mit Tests geleistet. Sie können den Sonar-Bericht hier sehen .

UX-Verbesserungen

  • Beim Ausführen eines Tests reagiert die GUI jetzt reaktionsschneller und wirkt sich weniger auf die Speichernutzung aus, dank einer Begrenzung der Anzahl der Sample Results-Listener und einer Überarbeitung der Art und Weise, wie die GUI aktualisiert wird
  • Die HTTP-Anforderungs-GUI wurde vereinfacht und bietet mehr Platz für Parameter und Text.
  • HTTP(S) Test Script Recorder wurde vereinfacht und präzisiert.
  • Der Suchfunktion wurde eine Ersetzungsfunktion hinzugefügt, um das Ersetzen einiger Elemente zu ermöglichen .
    ReplaceAll ersetzt nicht alle Elemente, sondern Folgendes:
    - HeaderManager: Ersetzung in Werten
    - HTTP-Anfrage: Ersetzung in Argumenten, Pfad und Host
  • View Results Tree bietet jetzt einen aktuelleren Browser-Renderer, der JavaFX erfordert.
  • Sie können jetzt über ein Kontextmenü Bedenkzeiten hinzufügen, dies fügt Bedenkzeiten zwischen Samplern und Transaktionscontrollern des ausgewählten Knotens hinzu.
  • Sie können jetzt eine Benennungsrichtlinie auf untergeordnete Elemente eines Transaktionscontrollers anwenden. Es gibt eine Standardrichtlinie, aber Sie können Ihre eigene über org.apache.jmeter.gui.action.TreeNodeNamingPolicy implementieren und die Eigenschaft naming_policy.impl konfigurieren
  • Die Sortierung nach Spalte wurde den Elementen „Ergebnisse anzeigen in Tabelle“, „Zusammenfassungsbericht“, „Gesamtbericht“ und „Gesamtdiagramm“ hinzugefügt.

Berichts-/Dashboard-Verbesserungen

  • Die Statistiken wurden neu organisiert, um den Bericht zu verdeutlichen:
  • Es ist jetzt möglich, APDEX-Schwellenwerte pro Transaktion basierend auf regulären Ausdrücken oder Beispielnamen anzupassen. Das folgende Beispiel wendet andere Schwellenwerte für die Proben sample(\\d+), sampleA und SzenarioB als die deklarierten Standardwerte (500 und 1500 für erfüllte und tolerierte Schwellenwerte) an:
    jmeter.reportgenerator.apdex_satisfied_threshold=500
    jmeter.reportgenerator.apdex_tolerated_threshold=1500
    jmeter.reportgenerator.apdex_per_transaction=sample(\\d+):1000|2000;\
        probeA:3000|4000;\
        SzenarioB:5000|6000
    

Verbesserungen der Dokumentation

  • PDF-Dokumentationen wurden migriert und auf das HTML-Benutzerhandbuch aktualisiert

Inkompatible Änderungen

  • JMeter benötigt jetzt mindestens eine Java 8-Version, um ausgeführt zu werden.
  • Die JMeter-Protokollierung wurde auf SLF4J und Log4j 2 migriert, dies beinhaltet Änderungen in der Art und Weise, wie die Konfiguration durchgeführt wird. JMeter stützt sich jetzt auf die Standardkonfiguration von Log4j 2 in der Datei log4j2.xml . Weitere Einzelheiten finden Sie im Abschnitt „ Änderungen protokollieren“ weiter unten.
  • Die folgenden JAR-Dateien wurden nach der Migration von LogKit zu SLF4J entfernt (siehe Bug 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
  • Die commons-httpclient-3.1.jar wurde entfernt, nachdem die HC3.1-Unterstützung eingestellt wurde (siehe Bug 60727 )
  • JMeter setzt nun durch -Djava.security.egd=file:/dev/urandom den Algorithmus für sicheren Zufall
  • Process Sampler gibt jetzt den Fehlercode 500 zurück, wenn ein Fehler auftritt. Es hat zuvor einen leeren Wert zurückgegeben.
  • In org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl wurden zwei geschützte statische Felder ( localhost und nonProxyHostSuffixSize ) in ( LOCALHOST und NON_PROXY_HOST_SUFFIX_SIZE ) umbenannt, um der Namenskonvention für statische Felder zu folgen
  • JMeter verwendet jetzt standardmäßig die Oracle Nashorn-Engine anstelle von Mozilla Rhino, um eine bessere Leistung zu erzielen. Dies sollte keine Auswirkungen haben, es sei denn, Sie verwenden einige erweiterte Funktionen. Sie können zu Rhino zurückkehren, indem Sie die Eigenschaft javascript.use_rhino=true einstellen . Sie können diesen Migrationsleitfaden für weitere Details zu Nashorn lesen . Siehe Fehler 60672
  • Fehler 60729 – Das Random Variable Config Element erlaubt jetzt minimum==maximum. Frühere Versionen haben einen Fehler protokolliert, wenn Minimum==Maximum war, und die konfigurierte Variable nicht gesetzt.
  • Fehler 60730 – Der JSON PostProcessor setzt jetzt die _ALL- Variable (vorausgesetzt, Compute concatenation var wurde aktiviert), auch wenn der JSON-Pfad nur einmal übereinstimmt. Frühere Versionen haben die Variable _ALL in diesem Fall nicht gesetzt.

Entfernte Elemente oder Funktionen

  • SOAP/XML-RPC Request wurde als Teil von Bug 60727 entfernt . Verwenden Sie das HTTP-Request-Element als Ersatz. Siehe Erstellen eines Webdienst-Testplans
  • Fehler 60423 – Drop-Monitor-Ergebnis-Listener
  • Löschen Sie die veraltete Klasse org.apache.jmeter.protocol.system.NativeCommand
  • Löschen Sie die veraltete Klasse org.apache.jmeter.protocol.http.config.gui.MultipartUrlConfigGui
  • Löschen Sie die veraltete Klasse org.apache.jmeter.testelement.TestListener
  • Löschen Sie die veraltete Klasse org.apache.jmeter.reporters.FileReporter
  • Löschen Sie die veraltete Klasse org.apache.jmeter.protocol.http.modifier.UserSequence
  • Löschen Sie die veraltete Klasse org.apache.jmeter.protocol.http.parser.HTMLParseError
  • Nicht verwendete Methoden org.apache.jmeter.protocol.http.control.HeaderManager#getSOAPHeader und org.apache.jmeter.protocol.http.control.HeaderManager#setSOAPHeader(Object) löschen
  • org.apache.jmeter.protocol.http.util.Base64Encode ist veraltet, Sie können java.util.Base64 als Ersatz verwenden

Änderungen protokollieren

Die JMeter-Protokollierung wurde auf SLF4J und Log4j 2 migriert. Dies betrifft die Protokollierungskonfiguration und Plugins von Drittanbietern (wenn sie die JMeter-Protokollierung verwenden). In den folgenden Abschnitten wird beschrieben, welche Änderungen vorgenommen werden müssen.

Einstellen der Protokollebene und der Protokolldatei

Die Standardprotokollierungsebene kann in der Befehlszeile mit dem Parameter -L geändert werden. Ebenso kann der Parameter -l verwendet werden, um den Namen der Protokolldatei zu ändern. Die log_level- Eigenschaften funktionieren jedoch nicht mehr.

Die standardmäßigen Protokollierungsstufen und Dateinamen sind in der Konfigurationsdatei log4j2.xml im Startverzeichnis (normalerweise JMETER_HOME/bin ) definiert.

Wenn Sie die Ebene programmgesteuert von Groovy-Code oder Beanshell ändern müssen, müssen Sie Folgendes tun:
    import org.apache.logging.log4j.core.config.Configurator;
    ⋮
    final String loggerName = te.getClass().getName(); // te ist eine JMeter-Klasse
    Configurator.setAllLevels(loggerName, Level.DEBUG);
    

Änderungen an der Plug-in -Protokollierung von Drittanbietern

Plugins von Drittanbietern sollten ihren Protokollierungscode von logkit nach slf4j migrieren. Dies ist ziemlich einfach und kann durch Ersetzen erfolgen:
        import org.apache.jorphan.logging.LoggingManager;
        import org.apache.log.Logger;
        ⋮
        privates statisches abschließendes Logger-Protokoll = LoggingManager.getLoggerForClass();
    
Durch:
        import org.slf4j.Logger;
        import org.slf4j.LoggerFactory;
        ⋮
        privates statisches abschließendes Logger-Protokoll = LoggerFactory.getLogger (YourClassName.class);
    

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 59934 – Race-Conditions in CssParser behoben. Basierend auf einem Patch von Jerome Loisel (loisel.jerome at gmail.com)
  • Fehler 60543 – HTTP-Anforderung/Http-Anforderungs-Standardeinstellungen UX: Wechseln Sie zum erweiterten Bereich „Zeitüberschreitungen“, „Implementierung“, „Proxy“. Implementiert von Philippe Mouawad (p.mouawad at ubik-ingenierie.com) und beigetragen von Ubik Load Pack (support at ubikloadpack.com)
  • Fehler 60548 – HTTP-Anforderung: Zulassen, dass der obere Bereich reduziert wird
  • Fehler 57242 – Die HTTP-Autorisierung wird nicht präventiv mit HttpClient4 festgelegt
  • Fehler 60727 – Lösche commons-httpclient-3.1 und zugehörige Elemente. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Bug 60790 – HTTP(S) Test Script Recorder: Verbesserte Informationen zum Zertifikatsablauf und bessere UX für Start/Stop
  • Fehler 60888 – HttpRequest: Option hinzugefügt, um die Wiederholung aller Anfragen zuzulassen, einschließlich NICHT-idempotenter HTTP-Methoden
  • Fehler 60896 – HTTP(S) Test Script Recorder: Verbessern Sie UX, indem Sie die Anzahl der Eigenschaften auf dem Bildschirm reduzieren

Andere Sampler

  • Fehler 60740 – Unterstützungsvariable für alle JMS-Nachrichten (Bytes, Objekt, …) und Quellen (Datei, Ordner), basierend auf Pull-Anforderung Nr. 241 – . Beigesteuert von Maxime Chassagneux (maxime.chassagneux at gmail.com).
  • Fehler 60585 – JMS Publisher und JMS Subscriber: Wiederverbindung bei Fehler zulassen und Pause zwischen Fehlern. Basierend auf Pull Request Nr. 240 – von Logan Mauzaize (logan.mauzaize at gmail.com) und Maxime Chassagneux (maxime.chassagneux at gmail.com).
  • Pull-Request Nr. 259 - - SmtpSampler umgestaltet und neu formatiert. Beigesteuert von Graham Russell (graham at ham1.co.uk)

Controller

  • Fehler 60672 – JavaScript-Funktion / IfController: Verwenden Sie standardmäßig die Nashorn-Engine

Zuhörer

  • Fehler 60144 – Ergebnisbaum anzeigen: Fügen Sie einen aktuelleren Browser-Renderer hinzu, um den alten Renderer zu ersetzen
  • Fehler 60542 – Ergebnisbaum anzeigen: Zulassen, dass der obere Bereich reduziert wird. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 52962 – Sortieren nach Spalten für „Ergebnisse anzeigen in Tabelle“, „Zusammenfassungsbericht“, „Gesamtbericht“ und „Gesamtdiagramm“ zulassen. Basierend auf einer Pull-Anforderung Nr. 245 – von Logan Mauzaize (logan.mauzaize bei gmail.com) und Maxime Chassagneux (maxime.chassagneux bei gmail.com).
  • Fehler 60590 – BackendListener: Influxdb BackendListenerClient-Implementierung zu JMeter hinzugefügt. Teilweise basierend auf Pull-Request Nr. 246 – von Logan Mauzaize (logan.mauzaize bei gmail.com) und Maxime Chassagneux (maxime.chassagneux bei gmail.com).
  • Fehler 60591 – BackendListener: Fügen Sie ein Zeitbox-Sampling hinzu. Basierend auf einer Pull-Anforderung Nr. 237 – von Logan Mauzaize (logan.mauzaize bei gmail.com) und Maxime Chassagneux (maxime.chassagneux bei gmail.com).
  • Fehler 60678 – Ergebnisbaum anzeigen: Textrenderer, Suche sollte nicht „Text nicht gefunden“ anzeigen
  • Fehler 60691 – Ergebnisbaum anzeigen: In Renderern (XPath, JSON Path Tester, RegExp Tester und CSS/JQuery Tester) ist das untere Bedienfeld manchmal nicht sichtbar, da das obere Bedienfeld zu groß ist und nicht in der Größe geändert werden kann
  • Fehler 60687 – Machen Sie die GUI reaktionsschneller, wenn sie viele Ereignisse erhält.
  • Fehler 60791 – Ergebnisbaum anzeigen: Suche bei der Eingabetaste in der Suchfunktion auslösen und roten Hintergrund anzeigen, wenn keine Übereinstimmung vorhanden ist
  • Fehler 60822 – ResultCollector stellt keine eindeutigen Dateinameneinträge in Dateien HashMap sicher

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 60154 – Benutzerparameter-GUI: Zeilen können in der Liste nach oben und unten verschoben werden. Beigesteuert von Murdecai777 (https://github.com/Murdecai777).
  • Fehler 60507 – „ Or “-Funktion in ResponseAssertion hinzugefügt. Basierend auf einem Beitrag von 忻隆 (298015902 auf qq.com)
  • Fehler 58943 – Schaffen Sie ein besseres Think-Time-Erlebnis. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60602 – XPath-Extraktor: Fügen Sie eine Übereinstimmungsnummer hinzu, um eine zufällige Extraktion nach Index oder allen Übereinstimmungen zu ermöglichen
  • Fehler 60710 – XPath-Extraktor: Wenn der Inhalt, auf den die Assertion zutrifft, kein XML ist, wird der Extraktor in der Ansichtsergebnisstruktur rot markiert und mit SAXParseException bezeichnet. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60712 – Response Assertion: Verbesserung des Renderers von Mustern
  • Fehler 59174 – Fügen Sie dem DNS-Cache-Manager eine Tabelle mit statischen Hosts hinzu. Dies ermöglicht bessere Tests virtueller Hosts mit HttpClient4.

Funktionen

I18N

  • Übersetzung „ save_as “ auf Französisch verbessern. Basierend auf einer Pull-Anforderung Nr. 252 von Maxime Chassagneux (maxime.chassagneux bei gmail.com).
  • Fehler 60785 – Verbesserung der japanischen Übersetzung. Aufnäher von Kimono (kimono.outfit.am at gmail.com).

Bericht / Dashboard

  • Fehler 60637 – Verbessertes Design der Statistiktabelle
  • Fehler 60112 – Bericht/Dashboard: Möglichkeit hinzugefügt, APDEX-Schwellenwerte pro Transaktionsname anzupassen. Beigesteuert von Stephane Leplus (s.leplus at ubik-ingenierie.com)

Allgemein

  • Fehler 58164 – Überprüfen Sie, ob die Datei bereits im ResultCollector-Listener vorhanden ist, bevor Sie den Lasttest starten
  • Fehler 54525 – Suchfunktion: Erweitern Sie sie um die Möglichkeit zum Ersetzen
  • Fehler 60530 – API hinzugefügt, um JMeter-Threads zu erstellen, während der Test läuft. Basierend auf einem Beitrag von Logan Mauzaize (logan.mauzaize at gmail.com) und Maxime Chassagneux (maxime.chassagneux at gmail.com).
  • Fehler 60514 – Möglichkeit, eine Namenskonvention auf untergeordnete Elemente eines Transaktionscontrollers anzuwenden. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60711 – Verbessertes Verhalten der Schaltfläche „Löschen“ für Behauptungen / Header-Manager / Benutzerparameter-GUIs / Ausschließen, Einschließen in HTTP(S)-Testskriptaufzeichnung
  • Fehler 60593 – Wechseln Sie zum G1 GC-Algorithmus
  • Fehler 60595 – SplashScreen beim Start der JMeter-GUI hinzugefügt. Beigesteuert von Maxime Chassagneux (maxime.chassagneux at gmail.com).
  • Fehler 55258 – Ziehen Sie das Symbol „Schließen“ aus der Symbolleiste und fügen Sie „Neu“ zum Menü hinzu. Teilweise basierend auf dem Beitrag von Sanduni Kanishka (https://github.com/SanduniKanishka)
  • Fehler 59995 – Ermöglichen Sie dem Benutzer, die Schriftgröße mit zwei neuen Menüelementen zu ändern, und verwenden Sie jmeter.hidpi.scale.factor zum Skalieren von Schriftarten. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60654 – Validierungsfunktion: Kann BackendListener ignorieren. Beigesteuert von Maxime Chassagneux (maxime.chassagneux at gmail.com).
  • Fehler 60646 – Workbench: Standardmäßig speichern
  • Fehler 60684 – Thread-Gruppe: Validierung wurde vorzeitig vom Scheduler mit 0 oder sehr kurzer Dauer beendet. Beigesteuert von Andrew Burton (andrewburtonatwh at gmail.com).
  • Fehler 60589 – LogKit auf SLF4J migrieren – Avalon, LogKit und Excalibur mit Abwärtskompatibilität für Module von Drittanbietern löschen . Beigesteuert von Woonsan Ko (woonsan at apache.org)
  • Fehler 60565 – LogKit auf SLF4J migrieren – Logging-Anweisungen optimieren. zB Nachrichtenformat-Argumente, Throwable-Argumente, unnötige if-enabled-Logging in einfachen, etc. Beigesteuert von Woonsan Ko (woonsan at apache.org)
  • Fehler 60564 – Migrieren Sie LogKit zu SLF4J – Ersetzen Sie LogKit-Logger durch SLF4J-Logger und behalten Sie die aktuelle LogKit-Bindungslösung für die Abwärtskompatibilität mit Plugins bei. Beigesteuert von Woonsan Ko (woonsan at apache.org)
  • Fehler 60664 – Fügen Sie ein UI-Menü hinzu, um die Protokollebene festzulegen. Beigesteuert von Woonsan Ko (woonsan at apache.org)
  • Pull-Request Nr. 276 - - Einige Übersetzungen für das polnische Gebietsschema hinzugefügt. Beigesteuert von Bartosz Siewniak (barteksiewniak at gmail.com)
  • Fehler 60792 – Erstellen Sie einen neuen Menüpunkt „Hilfe“, um einen Thread-Dump zu erstellen
  • Fehler 60813 – JSR223 Testelement: Berücksichtigen Sie JMeterStopTestNowException, JMeterStopTestException und JMeterStopThreadException
  • Fehler 60814 – Menü: Menüelement „Zuletzt geöffnet“ hinzugefügt , um das Laden der letzten Dateien deutlicher zu machen
  • Fehler 60815 – „GUI zurücksetzen“ aus dem Menü entfernen
  • Fehler 60886 – Build-Verbesserungen, um Builds in Umgebungen besser zu ermöglichen, die sich hinter einem Proxy befinden. Teilweise beigetragen von Michael Osipov (michaelo at apache.org)

Nicht funktionale Änderungen

  • Fehler 60415 – Drop-Unterstützung für Java 7.
  • Aktualisiert auf dnsjava-2.1.8.jar (von 2.1.7)
  • Aktualisiert auf groovy 2.4.10 (von 2.4.7)
  • Aktualisiert auf httpcore 4.4.6 (von 4.4.5)
  • Aktualisiert auf httpclient 4.5.3 (von 4.5.2)
  • Aktualisiert auf jodd 3.8.1 (von 3.7.1.jar)
  • Aktualisiert auf jsoup-1.10.2 (von 1.10.1)
  • Aktualisiert auf ph-css 5.0.3 (von 4.1.6)
  • Aktualisiert auf ph-commons 8.6.0 (von 6.2.4)
  • Aktualisiert auf slf4j-api 1.7.25 (von 1.7.21)
  • Aktualisiert auf asm 5.2 (von 5.1)
  • Aktualisiert auf rsyntaxtextarea-2.6.1 (von 2.6.0)
  • Aktualisiert auf commons-net-3.6 (von 3.5)
  • Aktualisiert auf json-smart-2.3 (von 2.2.1)
  • Aktualisiert auf accessors-smart-1.2 (von 1.1)
  • Konvertiert die alten PDF-Tutorials in XML.
  • Pull-Request Nr. 255 - - Verwendete Funktionen von Java 8 (und 7), um Code aufzuräumen. Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 59435 – JMeterTestCase unterstützt JUnit3 nicht mehr

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 60531 – HTTP-Cookie-Manager: Durch das Ändern der Implementierung wird die Cookie-Richtlinie nicht aktualisiert
  • Fehler 60575 – HTTP-GET-Anforderungen konnten einen Content-Type-Header ohne Body haben.
  • Fehler 60682 – HTTP-Anforderung: Die Methode „Get“ kann bei der Umleitung fehlschlagen, da der Header „Content-Length“ festgelegt ist
  • Fehler 60643 – HTTP(S) Test Script Recorder verarbeitet Neustart oder Start nach Stopp nicht korrekt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60652 – HTTP-PUT-Anforderungen können Dateideskriptoren verlieren.
  • Fehler 60689httpclient4.validate_after_inactivity hat keine Auswirkungen und führt zur Verwendung potenziell veralteter/geschlossener Verbindungen
  • Fehler 60690 – Standardwerte für „httpclient4.validate_after_inactivity“ und „httpclient4.time_to_live“, die einander gleich sind, machen die Validierung nutzlos
  • Fehler 60758 – HTTP(s) Test Script Recorder: Nummernanfrage kann doppelte Nummern erzeugen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 56939 – Parameter werden nicht mit OPTIONS-HTTP-Anfrage übergeben
  • Fehler 60778 – Http Java Impl zeigt den Authorization-Header in SampleResult nicht an, selbst wenn es gesendet wird
  • Fehler 60837 – GET mit Body, PUT werden nicht wiederholt, auch wenn httpclient4.retrycount größer als 0 ist
  • Fehler 60842 – Entferne extrahierte URLs, wenn eingebettete Ressourcen mit dem Lagarto-basierten HTML-Parser geladen werden.
  • Fehler 60928 – HTTP-Anforderung: Verbindungsverlust, wenn Keepalive mit eingebetteten Ressourcen verwendet wird

Andere Sampler

  • Fehler 603982 – Guard Exception Handler des JDBCSampler gegen Nullmeldungen
  • Fehler 55652 – JavaSampler setzt den Klassennamen stillschweigend zurück, wenn die Klasse nicht gefunden werden kann

Controller

Zuhörer

  • Fehler 60648 – GraphiteBackendListener kann am Ende des Tests einige Metriken verlieren, wenn der Test sehr kurz ist
  • Fehler 60650 – AbstractBackendListenerClient setzt UserMetric zwischen den Läufen nicht zurück
  • Fehler 60759 – Ergebnisstruktur anzeigen: Die Suchfunktion sucht nicht in der URL. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60859 – Antworten in einer Datei speichern: 2 Elemente mit unterschiedlicher Konfiguration überlappen sich

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 60438 Pull-Anforderung Nr. 235 – – Löschen Sie alte Variablen, bevor Sie neue in JSON Extractor extrahieren. Basierend auf einem Patch von Qi Chen (qi.chensh bei ele.me)
  • Fehler 60607 – DNS-Cache-Manager-Konfiguration wird ignoriert
  • Fehler 60729 – Das Random Variable Config Element sollte Minimum==Maximum zulassen
  • Fehler 60730 – Der JSON PostProcessor sollte die Variable _ALL setzen , auch wenn der JSON-Pfad nur einmal übereinstimmt.
  • Fehler 60747 – Antwort-Assertion: Anforderungs-Header zum zu testenden Feld hinzufügen
  • Fehler 60763 – XMLAssertion sollte keine Fehler an die Konsole weitergeben
  • Fehler 60797 – TestAction im Pausenmodus kann über die konfigurierte Testdauer hinaus andauern

Funktionen

  • Fehler 60819 – Die Funktion __fileToString erfüllt den Dokumentationsvertrag nicht, wenn die Datei nicht gefunden wird

I18N

Bericht / Dashboard

  • Bug 60726 - Report / Dashboard : Top 5 Fehler von Samplern dürfen die Serienfilterung nicht berücksichtigen
  • Fehler 60919 – Bericht/Dashboard: Latenz vs. Anfrage und Antwortzeit vs. Anfrage sind falsch, wenn die Granularität von 1000 (1 Sekunde) abweicht

Allgemein

  • Fehler 60775 – NamePanel ctor ruft überschreibbare Methode auf
  • Fehler 60428 – JMeter Graphite Backend Listener löst eine Ausnahme aus, wenn der Test endet und useRegexpForSamplersList auf true gesetzt ist . Basierend auf Patch von Liu XP (liu_xp2003 auf sina.com)
  • Fehler 60442 – Korrektur eines Tippfehlers in build.xml (gavin at 16degrees.com.au)
  • Fehler 60449 – JMeter-Baum: Ärgerliches Verhalten, wenn der Knotenname leer ist
  • Fehler 60494 – Aufgabe zur Sonaranalyse zum Build hinzugefügt
  • Fehler 60501 – Suchfunktion: Leistungsproblem, wenn Regexp aktiviert ist
  • Fehler 60444 – Intermittierender Fehler von TestHTTPMirrorThread#testSleep() . Beigesteuert von Thomas Schapitz (ts-nospam12 bei online.de)
  • Fehler 60621 – Der Ordner „ report-template “ fehlt in ApacheJMeter_config-3.1.jar in Maven Central
  • Fehler 60744 – GUI-Elemente werden nicht bereinigt, wenn sie während des Ladens des Testplans wiederverwendet werden, was dazu führen kann, dass sie teilweise mit einem früheren Zustand für ein neues Testelement initialisiert werden
  • Fehler 60812 – JMeterThread erfüllt den Vertrag von JMeterStopTestNowException nicht
  • Fehler 60857 – SaveService lässt den XML-Header weg, wenn _file_encoding nicht in saveservice.properties definiert ist
  • Fehler 60830 – Zeitstempel in CSV-Dateien können beschädigt werden, wenn ein SimpleDateFormatter über Threads hinweg geteilt wird

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

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

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 8+ zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373 . Die Lösung besteht darin, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden (aber beachten Sie, dass Java 9 noch nicht für JMeter zertifiziert ist).
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit JAVA 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 3.1

Zusammenfassung

Neu und bemerkenswert

Bericht/Dashboard verbessern

Das Dashboard wurde mit 3 neuen Grafiken und 1 Übersichtstabelle verbessert:

  • Zeit-über-Zeit-Diagramm verbinden:
  • Reaktionszeit-Perzentile im Zeitverlauf (erfolgreiche Antworten) Diagramm:
  • Reaktionszeit-Übersichtsdiagramm:
  • Top 5 Fehler nach Sampler-Tabelle:
  • Weitere Details zu Fehlern in der Fehlertabelle
  • Durchschnittliche Antwortzeit zur Statistiktabelle hinzugefügt:
  • Die Tabelle "Aktive Threads" stapelt jetzt Threads:

Neue Metriken

Eine neue Metrik sent_bytes wurde eingeführt, die die an den Server gesendeten Bytes meldet.
Eine andere Metrik connect_time wurde in dieser Version standardmäßig aktiviert

Umgang mit großen Antworten

JMeter ist jetzt in der Lage, Metrikantworten mit mehr als 2 GB zu verarbeiten, das Limit wurde auf 9223372 TB erhöht.
Um solche großen Antworten zu verarbeiten, kann es jetzt auch einen Teil der Antwort abschneiden, um eine Überflutung des Speichers zu vermeiden. Siehe Eigenschaft httpsampler.max_bytes_to_store_per_request .

Neue __groovy - Funktion

Führen Sie eine neue Funktion __groovy ein , die Groovy-Funktionen ermöglicht. Dies kann praktisch sein, da JavaScript ziemlich langsam sein kann (dasselbe gilt für BeanShell), wenn es in stark gleichzeitigen Testplänen verwendet wird.

Verwenden Sie Groovy als Standard für JSR-223-Elemente

Groovy ist jetzt als Standardsprache für JSR-223-Elemente eingestellt. Wenn Sie eine andere der unterstützten Sprachen verwenden möchten, müssen Sie eine explizite Auswahl treffen.

Standardmäßig ist kompiliertes Skript zwischenspeichern, falls verfügbar , standardmäßig nicht aktiviert, obwohl wir Ihnen raten, dies zu überprüfen und sicherzustellen, dass Sie nicht die ${varName}-Syntax verwenden , um auf JMeter-Variablen zuzugreifen, sondern stattdessen vars.get("varName") .

Formatierte HTML-Quellansicht in der Ergebnisstrukturansicht

Der HTML-Quellcode in der Ergebnisstrukturansicht kann jetzt formatiert angezeigt werden. Dies ist äußerst nützlich, wenn der Code der Webseite von allen überflüssigen Leerzeichen befreit wurde.

Neue formatierte HTML-Quellansicht
Neue formatierte HTML-Quellansicht

Möglichkeit, alle Timer im Testplan mit einer neuen Eigenschaft zu aktualisieren

Es wurde eine neue Eigenschaft timer.factor=1.0f eingeführt, die es erlaubt, Pausenzeiten, die von Gaußschen, Uniform- und Poisson-Timern berechnet werden, damit zu multiplizieren. Auf diese Weise können Sie Think Times von einem Ort aus aktualisieren und Ihre Produktivität steigern.

Kernverbesserungen

  • Verschiedene GUI- und UX-Korrekturen
  • Verbesserungen der Speichernutzung
  • JDBC Request kann jetzt Blob/Clob zurückgeben und Latenz und Verbindungszeit berechnen
  • Das in 3.0 eingeführte CSS-Parsing wurde durch die Einführung eines Parsing-Cache optimiert
  • HTTP-Anforderungen können jetzt den Text in GET-Anforderungen verarbeiten, dies ist beispielsweise für Elastic Search-Anforderungen nützlich.

Verbesserungen der Dokumentation

Inkompatible Änderungen

  • Ein Cache für das CSS-Parsing von URLs wurde in dieser Version eingeführt, er ist standardmäßig aktiviert. Es wird durch die Eigenschaft css.parser.cache.size gesteuert . Sie kann deaktiviert werden, indem ihr Wert auf 0 gesetzt wird . Siehe Fehler 59885
  • Die Standardeinstellungen von ThroughputController haben sich geändert. Jetzt sind die Standardwerte "Percent Executions", die global sind und nicht mehr pro Benutzer. Siehe Fehler 60023
  • Seit Version 3.1 ignoriert der HTML-Bericht leere Transaktionscontroller (möglicherweise generiert durch If Controller oder Throughput Controller ) beim Berechnen von Metriken. Dies liefert genauere Metriken
  • Seit Version 3.1 ignoriert Summariser vom Transaction Controller generierte SampleResults beim Berechnen der Live-Statistiken, siehe Bug 60109
  • Seit Version 3.1 wird bei Verwendung von Stripped-Modi (standardmäßig wird StrippedBatch verwendet) die Antwort auch für fehlgeschlagene SampleResults entfernt. Sie können dies auf das vorherige Verhalten zurücksetzen, indem Sie sample_sender_strip_also_on_error=false in user.properties festlegen , siehe Bug 60137
  • Seit Version 3.1 ist der Eigenschaftswert jmeter.save.saveservice.connect_time true , was bedeutet, dass die CSV-Datei für Ergebnisse eine zusätzliche Spalte mit der Verbindungszeit enthält, siehe Bug 60106
  • Seit Version 3.1 implementieren Random Timer-Unterklassen (Gaußian Random Timer, Uniform Random Timer und Poisson Random Timer) die Schnittstelle org.apache.jmeter.timers.ModifiableTimer
  • Wenn Sie seit Version 3.1 keine Sprache in JSR223 Test Elements auswählen, wird die Sprache Apache Groovy verwendet. Siehe Fehler 59945
  • Seit Version 3.1 kürzt CSV DataSet jetzt Variablennamen, um Probleme aufgrund von Leerzeichen zwischen Variablennamen bei der Konfiguration von CSV DataSet zu vermeiden. Dies sollte keine Auswirkungen auf Sie haben, es sei denn, Sie verwenden Leerzeichen am Anfang oder Ende Ihrer Variablennamen. Siehe Fehler 60221
  • Seit Version 3.1 ist HTTP Request in der Lage, bei Verwendung der HttpClient4-Implementierung (Standard) Antworten zu verarbeiten, die größer als 2147483647 Bytes sind, also 2 GB. Um dies zu ermöglichen, wurden zwei Eigenschaften eingeführt:
    • httpsampler.max_bytes_to_store_per_request (standardmäßig 10 MB) steuert, was im Speicher gehalten wird. Standardmäßig behält JMeter nur die ersten 10 MB einer Antwort im Speicher. Wenn Sie Antworten haben, die größer als dieser Wert sind, und Assertionen verwenden, die nach den ersten 10 MB liegen, müssen Sie diesen Wert erhöhen
    • httpsampler.max_buffer_size steuert den Puffer, der zum Lesen der Daten verwendet wird. Zuvor verwendete JMeter einen Puffer, der dem Content-Length-Header entspricht, was zu Fehlern führen und JMeter weniger widerstandsfähig gegenüber fehlerhaften Anwendungen machen konnte. Beachten Sie jedoch, dass dies die Reaktionszeiten beeinträchtigen und zu etwas anderen Ergebnissen als frühere Versionen führen kann, wenn Ihre Anwendung einen höheren Content-Length-Header zurückgab als aktueller Standardwert (65KB)
    Siehe Fehler 53039

Veraltete und entfernte Elemente oder Funktionen

Diese Elemente erscheinen nicht mehr im Menü, wenn Sie sie benötigen, ändern Sie die Eigenschaft not_in_menu . Das JMeter-Team rät, sie nicht mehr zu verwenden und auf ihren Ersatz zu migrieren.

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 59882 – Reduzieren Sie die Speicherzuweisungen für einen besseren Durchsatz. Beigesteuert von Benoit Wiart (b.wiart at ubik-ingenierie.com) durch Pull-Request #217 und Pull-Request #228 -
  • Fehler 59885 – Optimieren Sie die CSS-Analyse für den Download eingebetteter Ressourcen, indem Sie einen Cache einführen. Beigesteuert von Benoit Wiart (b.wiart at ubik-ingenierie.com) über Pull Request #219 -
  • Fehler 60092 – Ergebnisbaum anzeigen: Kürzliche Version des PUT-Hauptteils zum Sampler-Ergebnis hinzugefügt.
  • Fehler 60229 – Fügen Sie eine neue Metrik hinzu: sent_bytes. Implementiert von Philippe Mouawad (p.mouawad at ubik-ingenierie.com) und beigetragen von Ubik Load Pack (support at ubikloadpack.com)
  • Fehler 53039 – HTTP-Anforderung: Kann Antworten verarbeiten, deren Größe 2147483647 Bytes (d. h. 2 GB) überschreitet
  • Fehler 60265 – HTTP-Anforderung: Auf der Registerkarte „Dateien hochladen“ können Sie die Spaltengröße nicht ändern
  • Fehler 60318 – CSS-Warnungen beim Parsen mit der ph-css-Bibliothek ignorieren.
  • Fehler 60358 – HTTP-Anfrage: Senden von Körperdaten für HTTP-GET-Anfrage zulassen

Andere Sampler

  • Pull-Anforderung Nr. 211 – Unterscheiden Sie das Timing für JDBC Sampler. Verwenden Sie Latenz und Verbindungszeit. Beigesteuert von Thomas Peyrard (thomas.peyrard at murex.com)
  • Fehler 59620 – Schaltflächenaktion in „JMS Publisher → Zufällige Datei aus unten angegebenem Ordner“ behoben, um die Auswahl eines Verzeichnisses zu ermöglichen
  • Fehler 60066 - Behandeln Sie CLOBs und BLOBs und begrenzen Sie sie bei Bedarf, wenn Sie sie im Ergebnis-Sampler speichern.

Controller

  • Fehler 59351 – Protokoll/Fehler/Meldung für IncludeController verbessert. Teilweise beigetragen von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 60023 – ThroughputController: Machen Sie „Percent Executions“ und global zu den Standardwerten. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60082 – Validierungsmodus: Durchsatz-Controller so ausführen können, als wäre er auf 100 % eingestellt
  • Fehler 59349 – Entfernen Sie Leerzeichen im Eingabedateinamen in IncludeController.
  • Fehler 60081 – Interleave Controller: Option zum Wechseln zwischen Threads hinzugefügt

Zuhörer

  • Fehler 59953 – GraphiteBackendListener: Durchschnittliche Metrik hinzugefügt. Teilweise beigetragen von Maxime Chassagneux (maxime.chassagneux at gmail.com)
  • Fehler 59975 – Ergebnisbaum anzeigen: Der Textrenderer scrollt ärgerlich nach unten, wenn der Inhalt sperrig ist. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60109 – Summariser: Ignorieren Sie das von TC generierte SampleResult in seinen Zusammenfassungsberechnungen
  • Fehler 59948 – Fügt einen formatierten und vernünftigen HTML-Quellcode-Rendering zu View Results Tree hinzu
  • Fehler 60252 – Gesendete Kbyte/s zum Gesamtbericht und Zusammenfassungsbericht hinzugefügt
  • Bug 60267 – UX: In View Results Tree sollte es möglich sein, das Configure-Popup durch Eingabe von Escape zu schließen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 59845 – Protokollmeldungen über JSON-Pfad-Nichtübereinstimmungen auf Debug -Ebene anstelle von Fehlern .
  • Pull-Anforderung Nr. 212 – Mehrfachauswahl zulassen und im HTTP-Autorisierungs-Manager löschen. Basierend auf einem Patch von Benoit Wiart (b.wiart bei ubik-ingenierie.com)
  • Fehler 59816 Pull-Anforderung Nr. 213 – Mehrfachauswahl zulassen und im HTTP-Header-Manager löschen. Basierend auf einem Patch von Benoit Wiart (b.wiart bei ubik-ingenierie.com)
  • Fehler 59967 – CSS/JQuery-Extraktor: Leeren Standardwert zulassen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 59974 - Response Assertion: Schaltfläche " Aus Zwischenablage hinzufügen " hinzufügen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60050 – CSV-Datensatz: Stellen Sie in den Protokollen klar, wann ein Thread aufgrund dieser Konfiguration beendet wird
  • Fehler 59962 – Cache Manager aktualisiert das Ablaufdatum nicht, wenn der Antwortcode 304 ist .
  • Fehler 60018 – Timer: Fügt einen Faktor hinzu, der auf Pausen angewendet wird. Teilweise basierend auf einem Patch von Ubik Load Pack (Support unter ubikloadpack.com)
  • Fehler 60203 – Verwenden Sie mehr verfügbaren Platz für den Textbereich in der XPath-Assertion.
  • Fehler 60220 – JSON-Pfad-Postprozessor in JSON-Extraktor umbenennen
  • Fehler 60221 – CSV-Datensatz: Variablennamen kürzen
  • Fehler 59329 – Entfernen Sie Leerzeichen im Eingabedateinamen in CSVDataSet.

Funktionen

  • Fehler 59963 – Neue Funktion __RandomFromMultipleVars : Fähigkeit, einen Zufallswert aus Werten einer oder mehrerer Variablen zu berechnen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Bug 59991 - Neue Funktion __groovy zum Auswerten von Groovy Script. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

I18N

  • Pull-Request #214 – Spanische Übersetzung für verzögertes Starten von Threads hinzufügen. Beigesteuert von Asier Lostalé (asier.lostale auf openbravo.com).
  • Fehler 60348 – Chinesische Übersetzung für „ Speichern unter “ ändern . Beigesteuert von XMeter (Unterstützung bei xmeter.net).

Bericht / Dashboard

  • Fehler 59954 – Webbericht/Dashboard: Durchschnittliche Metrik hinzugefügt
  • Fehler 59956 – Webbericht/Dashboard: Möglichkeit hinzugefügt, ein Diagramm für eine Reihe von Daten zu erstellen
  • Fehler 60065 – Bericht/Dashboard: Verbessern Sie die Dashboard-Fehlerzusammenfassung, indem Sie eine Antwortnachricht zu „Art des Fehlers“ hinzufügen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60079 – Bericht/Dashboard: Neues Diagramm „Reaktionszeitübersicht“ hinzugefügt
  • Fehler 60080 – Bericht/Dashboard: Fügen Sie ein neues „Verbindungszeit-über-Zeit“-Diagramm hinzu. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60091 – Bericht / Dashboard: Haben Sie einen neuen Bericht mit Min/Max- und Perzentildiagrammen.
  • Fehler 60108 – Bericht / Dashboard: In der Zusammenfassung von Anfragen wird zu aggressiv gerundet
  • Fehler 60098 – Bericht / Dashboard: Reduzieren Sie den Standardwert für „ jmeter.reportgenerator.statistic_window “, um die Speicherauslastung zu verringern
  • Fehler 60115 – Datumsformateigenschaft für Start-/Enddatumsfilter im Berichtsgenerator hinzugefügt
  • Fehler 60171 – Bericht / Dashboard: Aktive Threads im Laufe der Zeit sollten Zeilen stapeln, um die Gesamtzahl der laufenden Threads anzugeben
  • Fehler 60250 – Bericht/Dashboard: Gesendete KB/s müssen im Statistikbericht des HTML-Dashboards hinzugefügt werden
  • Fehler 60287 – Bericht / Dashboard: Neue Top5-Fehler nach Sampler-Tabelle im Dashboard. Implementiert von Philippe Mouawad (p.mouawad at ubik-ingenierie.com) und beigetragen von Ubik Load Pack (support at ubikloadpack.com)

Allgemein

  • Fehler 59803 – Verwenden Sie die Methode isValid() vom JDBC-Treiber, wenn in der JDBC-Verbindungskonfiguration keine Validierungsabfrage angegeben ist.
  • Fehler 57493 – Erstellen Sie eine Dokumentationsseite für Eigenschaften
  • Fehler 59924 – Die Protokollebene des XXX -Pakets ist auf DEBUG gesetzt, wenn log_level. Der XXXX - Eigenschaftswert enthält Leerzeichen, dasselbe gilt für die __log- Funktion
  • Fehler 59777 – Extrahieren Sie die SLF4J-Bindung in ein eigenes JAR und machen Sie es zu einer JMeter-Bibliothek.
    Wenn Sie beim Start eine Warnung über mehrere SLF4J-Bindungen erhalten. Entfernen Sie entweder die von Apache JMeter bereitgestellte Bindung lib/ApacheJMeter_slf4j_logkit.jar oder alle anderen gemeldeten Bindungen. Weitere Informationen finden Sie auf der eigenen Infoseite von SLF4J.
  • Fehler 60085 – Entfernen Sie den Cache für vorbereitete Anweisungen, da er mit der aktuellen JDBC-Pool-Implementierung nicht funktionierte und aktuelle JDBC-Treiber das Caching von vorbereiteten Anweisungen selbst unterstützen sollten.
  • Fehler 60137 – Beim verteilten Testen wird bei Verwendung des StrippedXXXX-Modus die Antwort auch bei einem Fehler entfernt
  • Bug 60106 - Einstellungsvorgaben: " jmeter.save.saveservice.connect_time " auf true schalten (nach 3.0)
  • Pull-Request Nr. 229 – winzige Verbesserungen bei der Speicherzuweisung. Beigesteuert von Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • Fehler 59945 – Wenn für alle JSR223-Elemente keine Skriptsprache auf der Benutzeroberfläche ausgewählt wurde, wird das Skript als grooviges Skript interpretiert.
  • Bug 60266 – Usability/UX: Es sollte nicht möglich sein, ein aktuelles Projekt zu schließen/zu beenden/zurückzusetzen/zu laden/zu laden oder einen JMeter-Plan aus einer Vorlage zu erstellen oder einen neuen zu öffnen, wenn ein Test läuft
  • Fehler 57305 – Entfernen Sie die Abhängigkeit von ProxyControl von GuiPackage . Basierend auf Patches von jarek102 (jarek102 bei gmail.com) und Wyatt Epp (wyatt.epp bei gmail.com)

Nicht funktionale Änderungen

  • Aktualisiert auf jsoup-1.10.1 (von 1.8.3)
  • Aktualisiert auf ph-css 4.1.6 (von 4.1.4)
  • Aktualisiert auf Tika-Core und Tika-Parser 1.14 (von 1.12)
  • Aktualisiert auf commons-io 2.5 (von 2.4)
  • Aktualisiert auf commons-lang3 3.5 (von 3.4)
  • Aktualisiert auf commons-net 3.5 (von 3.4)
  • Aktualisiert auf groovy 2.4.7 (von 2.4.6)
  • Aktualisiert auf httpcore 4.4.5 (von 4.4.4)
  • Aktualisiert auf slf4j-api 1.7.21 (von 1.7.13)
  • Aktualisiert auf rsyntaxtextarea-2.6.0 (von 2.5.8)
  • Aktualisiert auf xstream 1.4.9 (von 1.4.8)
  • Aktualisiert auf jodd 3.7.1 (von 3.6.7.jar)
  • Aktualisiert auf xmlgraphics-commons 2.1 (von 2.0.1)
  • Pull-Request #215 – Reduzieren Sie doppelten Code mithilfe der neu hinzugefügten Methode GuiUtils#cancelEditing . Beigesteuert von Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • Pull-Request Nr. 218 – Sonstige Bereinigung. Beigesteuert von Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • Pull Request Nr. 216 – Muster wiederverwenden, wenn möglich. Beigesteuert von Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • Fehler 60364 – Testabdeckung dokumentieren. Beigesteuert von Thomas Schapitz (ts-nospam12 bei online.de)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 58888 – HTTP(S) Test Script Recorder (ProxyControl) fügt die von SamplerCreator#createChildren() zurückgegebenen TestElements nicht hinzu
  • Fehler 59902 – Https-Handshake-Fehler beim Festlegen der httpclient.socket.https.cps- Eigenschaft
  • Fehler 60084 – JMeter 3.0-eingebettete Ressourcen-URL ist unbemerkt codiert
  • Fehler 60376 – Http Test Script Recorder: Wenn der Server Deflate verwendet, kann die Aufzeichnung die Anwendung unterbrechen

Andere Sampler

  • Fehler 59113 – JDBC-Verbindungskonfiguration: Transaktionsisolationsstufe nicht korrekt eingestellt, wenn Konstante statt Zahl verwendet wird

Controller

  • Fehler 60361 – ModuleController: Wenn ein Testplan einen Module Controller enthält, der auf einen nicht vorhandenen Controller verweist, wird JMeter im GUI-Modus nicht gestoppt

Zuhörer

  • Fehler 59712 – Anzeige der ursprünglichen Abfrage in RequestView, wenn die Dekodierung fehlschlägt. Basierend auf einem Patch von Teemu Vesala (teemu.vesala auf qentinel.com)
  • Fehler 60278 – Seit Version 2.13 (und Fehler 57514 ) haben „Aggregate Graph“, „Summary Report“ und „Aggregate Report“ die Genauigkeit der in der CSV-Datei gespeicherten Fehler-, Rate- und Bandbreitenwerte verloren
  • Fehler 60360 – Ergebnisstruktur anzeigen: Die Registerkarte „Anforderung“ zeigt den Text einer DELETE-Anforderung nicht an

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 59964 – JSR223 Testelement: Zwischengespeichertes kompiliertes Skript, falls verfügbar, wird nicht korrekt zurückgesetzt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 59609 – Formatiert extrahierte JSON-Objekte im JSON-Postprozessor korrekt als JSON.
  • Fehler 60332 – Ergebnisbaum anzeigen: Mit Windows LAF zeigt JSON Extractor keinen JSON-Pfadausdruck und kein Ergebnisfenster an

Funktionen

I18N

Allgemein

  • Fehler 59400 – Beseitigen Sie UnmarshalException beim Stoppen, wenn die Option -X verwendet wird.
  • Fehler 59607 – JMeter stürzt beim Lesen eines großen Testplans (größer als 2 GB) ab. Basiert auf Fix von Felix Draxler (felix.draxler at sap.com)
  • Fehler 59621 – Die Fehleranzahl im Berichts-Dashboard ist einmalig.
  • Fehler 59657 – Schriftart nur in JSyntaxTextArea setzen, wenn Eigenschaft jsyntaxtextarea.font.family gesetzt ist.
  • Fehler 59720 – Vergleiche von Batch-Testdateien schlagen unter Windows fehl, da XML-Dateien als EOL=LF generiert werden
  • Code-Bereinigungen. Aufnäher von Graham Russell (graham at ham1.co.uk)
  • Fehler 59722 – Verwenden Sie StandardCharsets, um die Möglichkeit falsch geschriebener Charset-Namen zu reduzieren.
  • Fehler 59723 – Verwenden Sie wann immer möglich jmeter.properties zum Testen
  • Fehler 59726 – Komponententest, um zu überprüfen, ob sich der CSV-Kopfzeilentext und das Beispielformat nicht unerwartet ändern
  • Fehler 59889 – Ändern Sie die Codierung in Berichten für das Dashboard in UTF-8.
  • Fehler 60053 – Im Nicht-GUI-Modus wird am Ende des Tests ein Stacktrace angezeigt, während der Bericht generiert wird
  • Fehler 60049 – Wenn Timer mit hohen Verzögerungen oder Timer mit konstantem Durchsatz mit niedrigem Durchsatz verwendet werden, kann es sehr lange dauern, bis der Scheduler beendet wird, dasselbe gilt für den Shutdown-Test
  • Fehler 60089 – Bericht/Dashboard: Der Byte-Durchsatz im Laufe der Zeit hat gesendete und empfangene Bytes vertauscht. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 60090 – Bericht/Dashboard: Leerer Transaktionscontroller sollte nicht in Metriken berücksichtigt werden
  • Fehler 60103 – Bericht/Dashboard: Die Zusammenfassung der Anforderungen enthält den Transaktionscontroller, was zu einem falschen Prozentsatz führt
  • Fehler 60105 – Bericht/Dashboard: Der Bericht erfordert , dass die Option „Übergeordnetes Muster generieren “ des Transaktionscontrollers aktiviert ist, damit zusammenhängende Probleme behoben werden
  • Fehler 60107 – Bericht/Dashboard: In StatisticSummary macht TransactionController SampleResult die Gesamtzeile falsch
  • Fehler 60110 – Bericht/Dashboard: In den Perzentilen der Antwortzeit ist der Schieberegler nutzlos
  • Fehler 60135 – Bericht/Dashboard: „Aktive Threads im Laufe der Zeit“ sollten sich im Abschnitt „Über die Zeit“ befinden
  • Fehler 60125 – Bericht/Dashboard: Dashboard kann nicht generiert werden, wenn das Standardtrennzeichen \t ist . Basierend auf einem Bericht von Tamas Szabadi (tamas.szabadi at rightside.co)
  • Fehler 59439 – Bericht / Dashboard: AbstractOverTimeGraphConsumer.createGroupInfos() sollte abstrakt sein
  • Fehler 59918 – Von Ant generierter HTML-Bericht ist fehlerhaft (Extras-Ordner)
  • Fehler 60295 – JSON Extractor indiziert keine Array-Elemente, wenn nur ein Element gefunden wird. Basierend auf einem Patch von Roberto Braga (roberto.braga at sociale.it)
  • Bug 60299 – Thread-Gruppe mit Scheduler: Seltsames Verhalten, wenn die Endzeit in der Vergangenheit liegt

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

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

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:
    [Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
    
    Dies wirkt sich nicht auf den JMeter-Betrieb aus. Dieses Problem ist seit Java 7b05 behoben.
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Mit Oracle Java 7 und Mac Book Pro Retina Display kann die JMeter-GUI verschwommen aussehen. Dies ist ein bekannter Java-Bug, siehe Bug JDK-8000629 . Eine Problemumgehung besteht darin, eine Java 7 Update 40-Laufzeitumgebung zu verwenden, die dieses Problem behebt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 7 Version u16 (MD2) und Version u40 (Zertifikatsgröße kleiner als 1024 Bit) und auch Java 8 zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373. Die Lösung besteht darin, JDK7_u79, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit JAVA 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 3.0

Zusammenfassung

Neu und bemerkenswert

Verbesserungen bei der Erstellung von Testplänen und beim Debuggen

Neue Suchfunktion im View Results Tree, um die Suche nach Text/regexp in Request/Responses/Headers/Cookies/… zu ermöglichen. Dies erleichtert die Korrelation und die Erstellung von Testplänen

Neuer JSON-Postprozessor zum besseren Extrahieren von Daten aus JSON-Inhalten mithilfe der benutzerfreundlichen JSON-PATH-Syntax

JSON ist jetzt mit der Einführung eines neuen JSONPath -Postprozessors ein erstklassiger Bürger in JMeter . Dieser Postprozessor ist dem Postprozessor für reguläre Ausdrücke sehr ähnlich, eignet sich jedoch gut für JSON-Code. Es basiert auf der Jayway JSON Path-Bibliothek

Neue Validierungsfunktion, mit einem Klick eine Auswahl von Thread-Gruppen mit 1 Benutzer, ohne Pause und 1 Iteration ausführen

JSR223-Testelemente erfordern keinen Cache-Kompilierungsschlüssel mehr

Aktivieren Sie einfach das Kontrollkästchen Kompiliertes Skript zwischenspeichern, falls verfügbar, und die Elemente (Pre-Processor, Post-Processor, Assertions, Listeners, …) kompilieren das Skript vor und cachen den kompilierten Code, wenn die zugrunde liegende Sprache dies unterstützt

Nashorn kann jetzt als Javascript-Engine verwendet werden, was eine bessere Leistung und einfachere Verwendung bietet

Um Nashorn zu aktivieren , müssen Sie in user.properties Folgendes festlegen :

javascript.use_rhino=false

Nashorn kann mit Java 8 in folgenden Elementen verwendet werden:

  • IfController
  • JSR223 Testelemente mit ausgewählter JavaScript -Sprache
  • __javaScript- Funktion

Jexl3 wurde integriert. Es bietet neue Skriptfunktionen und eine viel bessere Dokumentation

JEXL3 kann jetzt dank einer neuen Funktion __jexl3 verwendet werden . JEXL ist eine Sprache, die JSTL sehr ähnlich ist.

Vereinfachte Benutzeroberfläche für HTTP-Anforderungen

Der HTTP-Anforderung wurde eine neue Registerkarte „ Erweitert “ hinzugefügt, um die Konfiguration zu vereinfachen. Die Datei-Upload-Funktion wurde in eine eigene Registerkarte verschoben. Dies erhöht den verfügbaren Platz für Parameter in der Benutzeroberfläche und vereinfacht die UX.

Verbesserungen der Standardeinstellungen für HTTP-Anforderungen

Sie können jetzt die Quelladresse (IP-Spoofing-ähnliche Funktion) und „ Antwort als MD5-Hash speichern “ auf der Registerkarte „Erweitert “ konfigurieren

Berichtsverbesserungen

Neue Berichtsfunktion, die dynamische Diagramme in HTML-Seiten generiert (APDEX, zusammenfassender Bericht und Diagramme)

Ein dynamischer HTML-Bericht kann jetzt entweder am Ende eines Belastungstests oder jederzeit aus einer Ergebnisdatei generiert werden. Weitere Einzelheiten finden Sie unter Generieren des Dashboards . Dieser Bericht enthält die folgenden Messwerte:

  • APDEX-Tabelle (Application Performance Index), die den APDEX basierend auf konfigurierbaren Werten für tolerierte und erfüllte Schwellenwerte berechnet
  • Ein Anforderungszusammenfassungsdiagramm, das den Prozentsatz erfolgreicher und fehlgeschlagener Transaktionen zeigt:
  • Eine Statistiktabelle, die in einer Tabelle eine Zusammenfassung aller Metriken pro Transaktion bereitstellt, einschließlich 3 konfigurierbarer Perzentile:
  • Eine Fehlertabelle mit einer Zusammenfassung aller Fehler und deren Anteil an den Gesamtanfragen :
  • Zoombares Diagramm, in dem Sie jede Transaktion aktivieren / deaktivieren können, um sie anzuzeigen / auszublenden für:
    • Reaktionszeiten im Laufe der Zeit:
    • Byte-Durchsatz im Laufe der Zeit:
    • Latenzen im Laufe der Zeit:
    • Treffer pro Sekunde:
    • Antwortcodes pro Sekunde :
    • Transaktionen pro Sekunde:
    • Reaktionszeit vs. Anfrage pro Sekunde:
    • Latenz vs. Anfrage pro Sekunde:
    • Perzentile der Antwortzeiten:
    • Aktive Threads im Laufe der Zeit:
    • Zeiten vs. Threads:
    • Reaktionszeitverteilung:

GraphiteBackendListener hat eine neue Metrik für Servertreffer

Summarizer zeigt eine besser lesbare Dauer an

Jetzt wird die Dauer im Format Stunden:Minuten:Sekunden angezeigt

Zusammenfassungsergebnisse generieren + 1 in 00:00:01 = 1,7/s Durchschn.: 1 Min.: 1 Max.: 1 Fehler: 0 (0,00 %) Aktiv: 1 Begonnen: 1 Beendet: 0
Zusammenfassungsergebnisse generieren + 138 in 00:00:09 = 16,2/s Durchschn.: 0 Min.: 0 Max.: 1 Fehler: 0 (0,00 %) Aktiv: 9 Begonnen: 9 Beendet: 0
Zusammenfassungsergebnisse generieren = 139 in 00:00:09 = 15,3/s Durchschnitt: 0 Min: 0 Max: 1 Fehler: 0 (0,00 %)
Zusammenfassungsergebnisse generieren + 467 in 00:00:10 = 47,0/s Durchschn.: 0 Min.: 0 Max.: 1 Fehler: 0 (0,00 %) Aktiv: 19 Begonnen: 19 Beendet: 0
Zusammenfassungsergebnisse generieren = 606 in 00:00:19 = 31,9/s Durchschnitt: 0 Min: 0 Max: 1 Fehler: 0 (0,00 %)
⋮
Zusammenfassungsergebnisse generieren + 1662 in 00:00:10 = 166,1/s Durchschn.: 0 Min.: 0 Max.: 1 Fehler: 0 (0,00 %) Aktiv: 50 Begonnen: 50 Beendet: 0
Zusammenfassungsergebnisse generieren = 28932 in 00:03:19 = 145,4/s Durchschnitt: 0 Min: 0 Max: 1 Fehler: 0 (0,00 %)
Zusammenfassungsergebnisse generieren + 1664 in 00:00:10 = 166,4/s Durchschn.: 0 Min.: 0 Max.: 1 Fehler: 0 (0,00 %) Aktiv: 50 Begonnen: 50 Beendet: 0
Zusammenfassungsergebnisse generieren = 30596 in 00:03:29 = 146,4/s Durchschnitt: 0 Min: 0 Max: 1 Fehler: 0 (0,00 %)
Zusammenfassungsergebnisse generieren + 1661 in 00:00:10 = 166,1/s Durchschnitt: 0 Min: 0 Max: 1 Fehler: 0 (0,00 %) Aktiv: 50 Begonnen: 50 Beendet: 0
Zusammenfassungsergebnisse generieren = 32257 in 00:03:39 = 147,3/s Durchschnitt: 0 Min: 0 Max: 1 Fehler: 0 (0,00 %)

Mit BackendListener können Sie jetzt eine Sampler-Liste als regulären Ausdruck definieren

Sie können jetzt einen regulären Ausdruck verwenden, um die Sampler auszuwählen, die Sie filtern möchten. Verwenden Sie den Parameter: useRegexpForSamplersList=true und fügen Sie eine Regex in den Parameter samplersList ein

Verbesserungen bei Protokollen und Lasttests

Die Migration auf HttpClient 4.5.2 wurde gestartet. Obwohl noch nicht ganz fertig, verbessert es viele Bereiche in JMeter

Die Migration zu HttpClient 4.5.2 verbessert die folgenden Felder von JMeter:

  • Unterstützung des aktuellen RFC wie HTTP State Management Mechanism RFC-6265 für Cookies , Sie sollten jetzt HC4CookieHandler in der HTTP Cookie Manager-Komponente verwenden und die Standard- Cookie-Richtlinie auswählen
  • Server Name Indication (SNI) -Unterstützung für HttpClient4-Implementierung
  • Verbesserter und leistungsstärkerer Validierungsmechanismus für veraltete Verbindungen und Keep-Alive-Verwaltung, siehe Eigenschaften httpclient4.validate_after_inactivity und httpclient4.time_to_live
  • Viele Fehlerbehebungen seit der vorherigen Version 4.2.6, die in JMeter 2.13 verwendet wurden, siehe HttpClient 4.5.X Versionshinweise
  • Bessere Unterstützung von HTTP RFC 2616 / RFC 7230 und Behebung von Problemen mit der Deflate -Komprimierungsverwaltung

Parallele Downloads sind jetzt realistisch und skalieren viel besser:

  • Analyse von CSS-importierten Dateien (über @import ) oder eingebetteten Ressourcen (Hintergrund, Bilder, …)
  • Verzögerte Initialisierung des SSL-Kontexts: Für 15 Threads 138 % mehr Abtastung in 5 Minuten für reine HTTP-Tests. Die Verstärkung nimmt zu, wenn die Anzahl der Threads zunimmt
  • Überarbeitung der Verbindungsverwaltung für parallelen Download: Dies simuliert das aktuelle Browserverhalten besser und verbessert den Durchsatz. Für 15 Threads 135 % zusätzliche Proben in 5 Minuten.
  • Wiederverwendung von Threads, die für parallele Downloads über einen ThreadPool verwendet werden: Dies verbessert den Durchsatz und erhöht die JMeter-Skalierbarkeit für solche Tests
  • Insgesamt 750 % mehr Durchsatz im Test mit 15 Threads gefunden, je mehr Threads Sie haben, desto größer ist der Gewinn
  • Sie können jetzt nur das MD5 der eingebetteten Ressourcen berechnen und speichern, anstatt die gesamte Antwort zu speichern. Dies kann durch Festlegen der Eigenschaft httpsampler.embedded_resources_use_md5=true erfolgen

Einführung der Sample-Timeout-Funktion

Mit diesem neuen Sample Timeout Pre-Processor können Sie ein Timeout auf die Elemente anwenden, die sich in seinem Bereich befinden. Im Screenshot unten gilt das 10-Sekunden-Timeout für die Elemente Debug Sampler und HTTP Request .

Die JDBC-Anforderung verwendet jetzt den DBCP2-Pool

JDBC Request und JDBC Connection Configuration wurden aktualisiert, um den alten Excalibur-Pool durch den Apache Commons DBCP2-Pool zu ersetzen. Infolgedessen wurden die Eigenschaften auf Äquivalente migriert, sofern verfügbar, und die Benutzeroberfläche wurde aktualisiert. Beachten Sie, dass Commons DBCP im Gegensatz zu Excalibur beim Erstellen des Pools die Validierungsabfrage verwendet. Stellen Sie also sicher, dass die Abfrage gültig ist. Die Standardabfrage eignet sich für viele Datenbanken, aber nicht für alle - zum Beispiel verlangt Oracle ' SELECT 1 FROM DUAL ' oder ähnliches.

UX-Verbesserungen:

Bessere Anzeige in HiDPI-Bildschirmen

Siehe JMeter mit einem HiDPI-Bildschirm unter Linux oder Windows im Abschnitt Hinweise und Tipps im Benutzerhandbuch

Neuer Icon-Look und Logo

JMeter hat ein neues Logo, das von Felix Schumacher erstellt wurde.
Die Symbole wurden ebenfalls aktualisiert, um ihnen einen moderneren Stil zu verleihen und sie aussagekräftiger zu machen

Viele Korrekturen von lästigen kleinen Fehlern

Es wurden etwa 40 UI-Korrekturen vorgenommen, um entweder fehlerhaftes, verwirrendes Verhalten zu beheben oder die Verwendung zu vereinfachen, indem nicht zugelassen wird, dass inkompatible Optionen ausgewählt werden

Verbesserte Thread-Gruppen-Benutzeroberfläche und zugehörige Aktionen ( Start , Start No Timers , Validate )

Das Erstellen und Testen eines Testplans vor dem Lasttest wurde erheblich vereinfacht, indem Sie jetzt nur noch eine Auswahl von Thread-Gruppen starten, sie ohne Anwendung von Timern starten (und somit Zeit gewinnen) oder sie mit einem neuen Validierungsmodus starten können. Dieser Validierungsmodus ermöglicht es Ihnen, eine Thread-Gruppe (ohne sie zu ändern) mit 1 Thread, 1 Iteration und ohne Anwendung von Timern zu starten. Dieser Validierungsmodus kann angepasst werden.

Neue Verknüpfungen

  • Fügen Sie die am häufigsten verwendeten Elemente hinzu ( Strg  +  0Strg  +  9 ), konfigurierbar über gui.quick_ XXX - Eigenschaften
  • Verknüpfungen zum Erweitern von Knoten

Kernverbesserungen

Konfigurationsvereinfachung mit besseren Standardeinstellungen

Die Standardwerte für viele Eigenschaften wurden geändert, um die JMeter-Konfiguration sofort optimal zu machen. Lesen Sie den Abschnitt „Inkompatible Änderungen“ für weitere Details.

Apache Groovy gebündelt mit JMeter

Apache Groovy , die bekannte JVM-Skriptsprache, ist jetzt mit Apache JMeter im lib-Ordner gebündelt. Dadurch können Sie es sofort über JSR223 Elements verwenden, indem Sie die Groovy-Sprache auswählen.

Überflüssige und alte Eigenschaften entfernt

Alte Eigenschaften, die vorhanden waren, um die Abwärtskompatibilität aufrechtzuerhalten oder einige überflüssige Anpassungen anzubieten, wurden entfernt. Lesen Sie den Abschnitt „Inkompatible Änderungen“, um zu sehen, welche Eigenschaften entfernt wurden.

Code- und Dokumentationsverbesserungen

  • Migration zum Java7-Quellcode und Verwendung seines syntaktischen Zuckers
  • Größere Code-Bereinigungen
  • Vollständige Überprüfung der Dokumentation und Verbesserung sowohl des Inhalts als auch der Präsentation

Verbesserungen an Unit-Tests

  • Migration vieler Tests auf JUnit 4
  • Besseres Management von Headless-Tests
  • Mehr Unit-Tests

Abhängigkeiten werden aktualisiert

Veraltete Bibliotheken wurden gelöscht oder durch aktuelle ersetzt:

  • Excalibur ersetzt durch commons-dbcp
  • htmllexer, htmlparser entfernt
  • Seife entfernt
  • jdom entfernt

Slf4j kann jetzt innerhalb von Plugins und Kerncode verwendet werden

Sie können jetzt den SLF4J- Protokollierungswrapper in Ihren benutzerdefinierten Plugins oder Unterklassen von org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient verwenden .

Inkompatible Änderungen

  • Seit Version 3.0 ist Groovy-2.4.6 mit JMeter ( Ordner lib ) gebündelt. Stellen Sie sicher, dass Sie alte Versionen oder referenzierte Versionen über die Eigenschaften search_paths oder user.classpath entfernen
  • Seit Version 3.0 ist der Eigenschaftswert „jmeter.save.saveservice.assertion_results_failure_message“ „ true“, was bedeutet, dass die CSV-Datei für Ergebnisse eine zusätzliche Spalte enthält, die eine Antwortnachricht zu Assertion-Ergebnissen enthält, siehe Fehler 58978
  • Seit Version 3.0 ist der Eigenschaftswert jmeter.save.saveservice.print_field_names wahr, was bedeutet, dass die CSV-Datei für Ergebnisse Feldnamen als erste Zeile in CSV enthält, siehe Bug 58991
  • Seit Version 3.0 ist der Eigenschaftswert „jmeter.save.saveservice.idle_time“ „ true“, was bedeutet, dass CSV/XML-Ergebnisdateien eine zusätzliche Spalte enthalten, die die Leerlaufzeit zwischen Samplern enthält, siehe Bug 57182
  • In der Klasse RandomTimer wurde das Timer -Feld der geschützten Instanz durch die geschützte Methode getTimer() ersetzt , dies hängt mit Bug 58100 zusammen . Dies kann sich auf Plugins von Drittanbietern auswirken .
  • Seit Version 3.0 können Sie die Nashorn Engine (Standard-Javascript-Engine ist Rhino) unter Java8 für Elemente verwenden, die die Javascript-Engine ( __javaScript , IfController ) verwenden. Wenn Sie es verwenden möchten, verwenden Sie die Eigenschaft javascript.use_rhino=false , siehe Bug 58406 .
    Hinweis: In einer zukünftigen Version werden wir standardmäßig zu Nashorn wechseln. Benutzer werden ermutigt, alle Probleme im Zusammenhang mit der Verwendung von Nashorn anstelle von Rhino zu melden.
  • Seit Version 3.0 lädt JMS Publisher den Inhalt der Datei neu, wenn die Nachrichtenquelle „ Aus Datei “ ist und sich das Feld „ Dateiname “ ändert (z. B. wenn eine geänderte Variable verwendet wird).
  • org.apache.jmeter.gui.util.ButtonPanel wurde entfernt, wenn Sie es in Ihrem Drittanbieter- Plug -in oder Ihrer benutzerdefinierten Entwicklung verwenden, stellen Sie sicher, dass Sie Ihren Code aktualisieren. Siehe Fehler 58687
  • Die Eigenschaft jmeterthread.startearlier wurde entfernt. Siehe Fehler 58726
  • Die Eigenschaft jmeterengine.startlistenerslater wurde entfernt. Siehe Fehler 58728
  • Die Eigenschaft jmeterthread.reversePostProcessors wurde entfernt. Siehe Fehler 58728
  • Property jmeter.toolbar.display wurde entfernt, die Toolbar wird nun immer angezeigt. Siehe Fehler 59236
  • Die Eigenschaft jmeter.errorscounter.display wurde entfernt, der Zähler für Fehler/Warnungen wird jetzt immer angezeigt. Siehe Fehler 59236
  • Die Eigenschaft xml.parser wurde entfernt, sie wird nicht mehr verwendet, da org.apache.jmeter.util.JMeterUtils#getXMLParser veraltet ist und auch nicht verwendet wird. Siehe Fehler 59236
  • Der Summariser-Listener zeigt jetzt die Dauer im Format HH:mm:ss (Stunde:Minute:Sekunde) an, zuvor wurde die Dauer in Sekunden angezeigt. Siehe Fehler 58776
  • Die Signatur org.apache.jmeter.protocol.http.visualizers.RequestViewHTTP.getQueryMap wurde geändert. Wenn Sie sie verwenden, stellen Sie sicher, dass Sie Ihren Code aktualisieren. Siehe Fehler 58845
  • Der JMS-Abonnent betrachtet eine Stichprobe als Fehler, wenn die Anzahl der empfangenen Nachrichten nicht der erwarteten Anzahl von Nachrichten entspricht. Bisher wurde ein Beispiel als OK angesehen, wenn mindestens 1 Nachricht empfangen wurde. Siehe Fehler 58980
  • Seit Version 3.0 verwendet der HTTP(S)-Testskript-Recorder standardmäßig Port 8888 (wie bei Verwendung der Aufzeichnungsvorlage konfiguriert). Siehe Fehler 59006
  • Seit Version 3.0 wurde der Parser für eingebettete Ressourcen (seit 2.10 ersetzt durch eine Lagarto-basierte Implementierung), der sich auf die htmlparser-Bibliothek (HtmlParserHTMLParser) stützte, zusammen mit seinen Abhängigkeiten entfernt.
  • Seit Version 3.0 wurde die Unterstützung für das Lesen alter JTL-Dateien (Ergebnisdateien) im Avalon-Format entfernt, siehe Bug 59064
  • Seit Version 3.0 wurde der Standardeigenschaftswert für http.java.sampler.retries auf 0 geändert (standardmäßig keine Wiederholung), um ihn an das Verhalten von HttpClient4 anzupassen.
    Beachten Sie auch, dass sich seine Bedeutung geändert hat: Vor 3.0 bedeutete http.java.sampler.retries=1 No Retry (dh Gesamtversuche = 1), seit 3.0 bedeutet http.java.sampler.retries=1 1 Retry. (Hinweis: Dies gilt nur für den Java HTTP Sampler)
    Siehe Fehler 59103
  • Seit 3.0 wurden die folgenden veralteten Klassen gelöscht
    • 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 wurde durch httpsampler.parallel_download_thread_keepalive_inseconds ersetzt, was nun die Haltezeit für die parallelen Download-Threads (in Sekunden) ist.
  • JDBC Request wurde aktualisiert, um commons-dbcp2 zu verwenden, seitdem ist das Verhalten etwas anders, stellen Sie sicher, dass Sie eine korrekte "Validierungsabfrage" für Ihre Datenbank haben. Siehe Fehler 58786
  • Die folgenden Gläser wurden entfernt:
  • Die maximale Anzahl der von JMeter erlaubten Weiterleitungen beträgt jetzt 20, vorher waren es 5. Dies kann mit der Eigenschaft httpsampler.max_redirects geändert werden . Siehe Fehler 59382

Veraltete und entfernte Elemente

  • MongoDB-Elemente (MongoDB Source Config, MongoDB Script) sind veraltet und werden in der nächsten Version von JMeter entfernt. Sie erscheinen nicht mehr im Menü, wenn Sie sie brauchen, ändern Sie die Eigenschaft not_in_menu . Das JMeter-Team rät, sie nicht mehr zu verwenden. Siehe Fehler 58772
  • WebService(SOAP)-Request und HTML-Parametermaske, die in Version 2.13 veraltet waren, wurden nun entsprechend unserer Verfallsstrategie entfernt . Klassen und Eigenschaften, die nur von diesen Elementen verwendet wurden, wurden gelöscht:
    • org.apache.jmeter.protocol.http.util.DOMPool
    • org.apache.jmeter.protocol.http.util.WSDLException
    • org.apache.jmeter.protocol.http.util.WSDLHelper
    • Eigenschaft soap.document_cache
    • JAR-Soap-2.3.1 wurde ebenfalls entfernt
  • Die __jexl- Funktion (dh JEXL 1) ist veraltet und wird in der nächsten Version entfernt. Siehe Fehler 58903
  • Spline Visualizer Listener und Distribution Graph Listener sind veraltet und werden in der nächsten Version von JMeter entfernt. Sie erscheinen nicht mehr im Menü, wenn Sie sie brauchen, ändern Sie die Eigenschaft not_in_menu . Das JMeter-Team rät, sie nicht mehr zu verwenden. Siehe Fehler 58791

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 57696 – HTTP-Anforderung: Verbesserte Antwortnachricht, wenn der Download von Ressourcen fehlschlägt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57995 – Verwenden Sie FileServer für HTTP-Anforderungsdateien. Implementiert von Andrey Pokhilko (andrey at blazemeter.com) und beigetragen von BlazeMeter Ltd.
  • Fehler 58843 – Verbessern Sie den nutzbaren Speicherplatz in der HTTP-Sampler-GUI. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58852 – Verwenden Sie weniger Speicher für PUT - Anforderungen. Die hochgeladenen Daten werden nicht mehr im Sampler gespeichert. Dies ist dasselbe Verhalten wie bei POST- Anforderungen.
  • Fehler 58860 – HTTP-Anforderung: Automatische Variablengenerierung in HTTP-Parametertabelle durch Rechtsklick hinzugefügt. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58923 – URIs normalisieren, wenn eingebettete Ressourcen heruntergeladen werden.
  • Fehler 59005 – HTTP-Sampler: WebDAV-Verb ( SEARCH ) hinzugefügt.
  • Fehler 59006 – Ändern Sie den Standard-Proxy-Aufzeichnungsport in 8888 , um ihn an der Aufzeichnungsvorlage auszurichten. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 58099 – Leistung: Initialisieren Sie den HttpClient-SSL-Kontext träge, um seine Initialisierung zu vermeiden, selbst für reine HTTP-Szenarien
  • Fehler 57577 – HttpSampler: Rufen Sie alle eingebetteten Ressourcen ab, fügen Sie die Eigenschaft „ httpsampler.embedded_resources_use_md5 “ hinzu, um nur md5 zu berechnen und keine Antwortdaten zu speichern. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Bug 59023 – HttpSampler UI: Überarbeitung der eingebetteten Ressourcenbezeichnungen und Änderung der Standardanzahl paralleler Downloads auf 6 . Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59028SystemDefaultDnsResolver - Singleton verwenden. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59036 – FormCharSetFinder: Verwenden Sie JSoup anstelle des veralteten HTMLParser
  • Fehler 59034 – Das Verbindungsmanagement für parallele Downloads ist nicht realistisch. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com) und Philippe Mouawad
  • Fehler 59060 – HTTP-Anforderungs-GUI: Datei-Upload auf eine neue Registerkarte verschieben, um mehr Platz für Parameter zu haben und eine inkompatible Konfiguration zu verhindern. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59103 – Java-Implementierung für HTTP-Anforderungen: Ändern Sie die Standardeinstellung „ http.java.sampler.retries “, um sie an das HttpClient-Verhalten anzupassen und den Namen aussagekräftiger zu machen
  • Fehler 59083 – HTTP-Anforderung: Methodenfeld bearbeitbar machen, sodass zusätzliche Methoden (WebDAV) einfach hinzugefügt werden können
  • Fehler 59118 – Kommentar in aufgezeichneter Bedenkzeit durch Proxy-Recorder hinzugefügt. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 59116 – Möglichkeit hinzugefügt, ein Präfix für den vom Proxy aufgezeichneten Sampler-Namen einzurichten. Teilweise basierend auf einem Patch von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 59129 – HTTP-Anforderung: Vereinfachte GUI mit einfachen/erweiterten Registerkarten
  • Fehler 59033 – Paralleler Download: Überarbeitung der Parser-Klassenhierarchie, um Plug-in-Parser für verschiedene MIME-Typen zuzulassen
  • Fehler 52073 – Paralleler Download eingebetteter Ressourcen: Verbessern Sie die Leistung, indem Sie das Herunterfahren von ThreadPoolExecutor bei jedem Sample vermeiden. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59190 – HTTP(S) Test Script Recorder: Vorgeschlagene Ausschlüsse sollten Groß- und Kleinschreibung ignorieren. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 59140 – Paralleler Download: Fügen Sie CSS-Parsing hinzu, um Links aus CSS-Dateien zu extrahieren
  • Fehler 59249 – Standardeinstellungen für HTTP-Anforderungen: „ Quelladresse “ und „ Antworten als MD5 speichern “ hinzugefügt
  • Fehler 59382 – Realistischerer Standardwert für httpsampler.max_redirects

Andere Sampler

  • Fehler 57928 – Möglichkeit zum Definieren des Protokolls (http/https) zur AccessLogSampler-GUI hinzugefügt. Beigesteuert von Jérémie Lesage (jeremie.lesage at jeci.fr)
  • Fehler 58300 – Sorgen Sie dafür, dass vorhandene Java-Sampler Interruptible implementieren
  • Fehler 58160 – JMS Publisher: Dateiinhalt neu laden, wenn sich der Dateiname ändert. Basiert teilweise auf einem Patch von Maxime Chassagneux (maxime.chassagneux at gmail.com)
  • Fehler 58786 – JDBC Sampler: Excalibur DataSource durch eine aktuellere Bibliothek commons-dbcp2 ersetzen
  • Fehler 59205 – TCP-Sampler: Stellen Sie die Verbindungszeit im Sampler ein, wenn die Verbindung hergestellt wird.
  • Fehler 59381 – JMSPublisher: FileChooserDialog-Filter funktioniert nicht für Browserschaltflächen. Basiert teilweise auf einem Patch von Antonio Gomes Rodrigues (ra0077 at gmail.com)

Controller

  • Fehler 58406 – IfController: Verwendung der Nashorn-Engine zulassen, falls für JavaScript-Evaluierung verfügbar
  • Fehler 58281 – RandomOrderController: Verbesserung der Leistung des Randomisierungsalgorithmus. Beigesteuert von Graham Russell (jmeter at ham1.co.uk)
  • Bug 58675 - Modulcontroller: Fehlermeldung kann leicht übersehen werden. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58673 – Modul-Controller: Wenn das Zielelement deaktiviert ist, werden die standardmäßigen jtree-Symbole angezeigt. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58674 - Modul-Controller: Es sollte nicht möglich sein, mehr als einen Knoten im Baum auszuwählen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58680 – Modul-Controller: Verbesserung der Benutzeroberfläche. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58989 – Aufnahme-Controller-GUI: Fügen Sie eine Schaltfläche hinzu, um alle aufgenommenen Samples zu löschen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)

Zuhörer

  • Fehler 58041 – Tree View Listener sollte Beispieldatentyp anzeigen
  • Fehler 58122 – GraphiteBackendListener: Metrik „Servertreffer“ hinzugefügt. Teilweise basierend auf einem Patch von Amol Moye (amol.moye at thomsonreuters.com)
  • Fehler 58681 – GraphiteBackendListener: Keine Daten senden, wenn kein Sampling stattgefunden hat
  • Fehler 58776 – Summariser sollte eine besser lesbare Dauer anzeigen
  • Fehler 58791 – Listener verwerfen: Distribution Graph (Alpha) und Spline Visualizer
  • Fehler 58849 – Ergebnisbaum anzeigen: Fügen Sie der http-Ansicht der Anforderung ein Suchfeld hinzu, um in der Parametertabelle suchen zu können. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58857 – Ergebnisbaum anzeigen: Die Anforderungsansicht http erlaubt es nicht, die Größe der ersten Spalte der Parametertabelle zu ändern. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58955 – Request view http zeigt HTTP-Parameter in multipart/form-data nicht korrekt an. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 55597 – Ergebnisbaum anzeigen: Fügen Sie eine Suchfunktion hinzu, um in aufgezeichneten Samplern zu suchen
  • Fehler 59102 - Ergebnisbaum anzeigen: Besserer Standardwert für " view.results.tree.max_size "
  • Fehler 59099 – Backend-Listener: Fügen Sie die Möglichkeit hinzu, samplersList als regulären Ausdruck zu betrachten. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 59424 – Visualizer: „Löschen“ im Popup-Menü hinzugefügt

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 58303 – Ändern Sie die Verwendung der Bouncycastle-API in SMIMEAssertion, um Verfallswarnungen zu beseitigen.
  • Fehler 58515 – Neue JSON-bezogene Komponenten: JSON-PATH Extractor und JSON-PATH Renderer in View Results Tree. Gespendet von Ubik Load Pack (Support unter ubikloadpack.com).
  • Fehler 58698 - Korrektes Parsen von Auth-Dateien im HTTP Authorization Manager.
  • Fehler 58756 – CookieManager: Der Inhalt des Cookie-Richtlinien-Auswahlfelds muss von der Cookie-Implementierung abhängen.
  • Fehler 56358 – Der Cookie-Manager unterstützt Cross-Port-Cookies und RFC6265. Danke an Oleg Kalnichevski (olegk at apache.org)
  • Fehler 58773 – TestCacheManager: Tests für CacheManager hinzugefügt, die HttpClient 4 verwenden
  • Fehler 58742 – CompareAssertion: Daten im TableEditor zurücksetzen, wenn zwischen verschiedenen CompareAssertions in der GUI gewechselt wird. Basierend auf einem Patch von Vincent Herilier (vherilier at gmail.com)
  • Fehler 59108 – TableEditor: Ermöglicht das Verschieben von Zeilen nach oben und unten. Beigesteuert von Vincent Herilier (vherilier at gmail.com)
  • Fehler 58848 – Argument-Panel: Beim Hinzufügen eines Arguments (Schaltfläche „Hinzufügen“ oder aus der Zwischenablage) wird die Tabelle zur neuen Zeile gescrollt. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58865 – Leeren Standardwert im Regular Expression Extractor zulassen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59156 – XMLAssertion: jdom-Abhängigkeit durch Verwendung von XMLReader löschen
  • Fehler 59328 – Besserer Tooltip für Variablennamen in CSVDataSet. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)

Funktionen

  • Fehler 58477 – __javaScript-Funktion: Verwendung der Nashorn-Engine für Java8 und höhere Versionen zulassen
  • Fehler 58903 – Stellen Sie eine __jexl3-Funktion bereit, die commons-jexl3 und die veraltete __jexl (1.1)-Funktion verwendet

I18N

Allgemein

  • Fehler 58736 – Unterstützung für Sample Timeout hinzugefügt
  • Fehler 57913 – Automatisierte Backups der zuletzt gespeicherten JMX-Dateien. Beigesteuert von Benoit Vatan (benoit.vatan at gmail.com)
  • Fehler 57988 – Shortcuts ( Strg  +  1Strg  +  9 ) zum schnellen Hinzufügen von Elementen zum Testplan. Implementiert von Andrey Pokhilko (andrey at blazemeter.com) und beigetragen von BlazeMeter Ltd.
  • Fehler 58100 – Leistungsverbesserungen: Random durch ThreadLocalRandom ersetzen.
  • Fehler 58677TestSaveService#testLoadAndSave verwendet den falschen Satz von Dateien. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58689 – Fügen Sie Verknüpfungen hinzu, um einen Teil des Baums zu erweitern / zu reduzieren. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58696 – Erstellen Sie eine Ant-Aufgabe, um ein Eclipse-Projekt einzurichten
  • Fehler 58653 – Neues JMeter-Dashboard/Bericht mit dynamischen Diagrammen, Tabellen zur Unterstützung der Analyse von Lasttestergebnissen. Entwickelt von Ubik-Ingenierie und beigetragen von Decathlon SA und Ubik-Ingenierie / UbikLoadPack
  • Fehler 58699 – Workbench-Änderungen wurden weder gespeichert noch beim Schließen zum Speichern aufgefordert. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58728 – Lösche alte Verhaltenseigenschaften
  • Fehler 57319 – Upgrade auf HttpClient 4.5.2. Mit der großen Hilfe von Oleg Kalnichevski (olegk bei apache.org) und Gary Gregory (ggregory bei apache.org).
  • Fehler 58772 – MongoDB-bezogene Elemente verwerfen
  • Fehler 58782 – ThreadGroup: Verbesserte Ergonomie
  • Fehler 58165 – Zeigt die verstrichene Zeit seit dem Start des Lasttests im GUI-Modus an. Teilweise basierend auf einem Beitrag von Maxime Chassagneux (maxime.chassagneux at gmail.com)
  • Fehler 58814 – JVM erkennt Option MaxLiveObjectEvacuationRatio nicht mehr ; aus Kommentaren entfernen
  • Fehler 58810 – Config Element Counter (und andere): Checkboxen umschalten Bereich zu groß
  • Fehler 56554 – JSR223-Testelement: Kompilierungs-Cache-Schlüssel automatisch generieren. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Bug 58911 – Kopfzeilen-Manager: Es sollte möglich sein, zwischen Kopfzeilen-Managern zu kopieren/einzufügen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Bug 58864 - Arguments Panel: Beim Verschieben von Parametern mit hoch / runter sicherstellen, dass die Auswahl sichtbar bleibt. Basierend auf einem Beitrag von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58968 – Fügen Sie eine neue Vorlage hinzu, um das Aufzeichnen von Skripten mit eingeschlossener Bedenkzeit zu ermöglichen. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Bug 58978 - Einstellungsvorgaben: " jmeter.save.saveservice.assertion_results_failure_message " auf true schalten (nach 2.13)
  • Bug 58991 - Einstellungsvorgaben: " jmeter.save.saveservice.print_field_names " auf true schalten (nach 2.13)
  • Bug 57182 - Einstellungsvorgaben: " jmeter.save.saveservice.idle_time " auf true schalten (nach 2.13)
  • Fehler 58870 - TableEditor: Mindestgröße ist zu klein. Beigesteuert von Vincent Herilier (vherilier at gmail.com)
  • Fehler 58933 – JSyntaxTextArea: Möglichkeit, die Schriftart festzulegen. Beigesteuert von Denis Kirpichenkov (denis.kirpichenkov at gmail.com)
  • Fehler 58793 – Erstellen Sie eine Entwicklerseite, auf der erklärt wird, wie Sie etwas erstellen und beitragen
  • Fehler 59046 – JMeter Gui Replace-Controller sollte den Namen und die Auswahl beibehalten. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59038 – Elemente im Zusammenhang mit HTTPClient 3.1 verwerfen
  • Fehler 59094 – Keine Unterstützung des alten JMX-Dateiformats
  • Fehler 59082 – Entfernen Sie den Parameter „ TestCompiler.useStaticSet “. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59093 – Option-Parsing-Fehlermeldung kann „ verloren gehen
  • Fehler 58715 – Funktionsanfrage: Bündeln Sie groovy-all mit JMeter
  • Bug 58426 – Verbesserung der Anzeige von JMeter auf hochauflösenden Geräten (HiDPI) (Teil 1 der Erweiterung)
  • Fehler 59105 – TableEditor: Möglichkeit hinzugefügt, Zeilen aus der Zwischenablage einzufügen und Mehrfachauswahl zu löschen. Beigesteuert von Vincent Herilier (vherilier at gmail.com)
  • Fehler 59197 – Thread-Gruppe: Es sollte möglich sein, nur eine einzelne Thread-Gruppe oder eine Auswahl von Thread-Gruppen mit einem Popup-Menü auszuführen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59207 – Ändern Sie die Schriftfarbe von errorsOrFatalsLabel in Rot, wenn ein Fehler auftritt. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 58941 – Erstellen Sie einen neuen Starter, der Thread-Gruppen im Validierungsmodus ausführt ( nur 1 Thread, 1 Iteration, keine Pause, alle anpassbar)
  • Fehler 59236 – JMeter-Eigenschaften: Führen Sie eine Bereinigung durch
  • Fehler 59240 – Einführung eines slf4j-Adapters für Logkit (dies ermöglicht die Verwendung von slf4j innerhalb von Plugins und Kerncode)
  • Fehler 59153 – Test beenden, wenn CSVDataSet auf eine nicht vorhandene Datei zugreift. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Bug 59320 - Besserer Tooltip in GUI mit GenericTestBeanCustomizer (CSV Data Set Config, JDBC Connection Configuration, Keystore Configuration, …) . Basierend auf einem Patch von Antonio Gomes Rodrigues (ra0077 bei gmail.com)
  • Fehler 59171 – Beispielergebnis SaveConfig Dialog wird in zufälliger Reihenfolge generiert
  • Fehler 59425 – Anzeigefehler über fehlende Hilfeseite im Hilfebereich

Nicht funktionale Änderungen

  • Aktualisiert auf httpclient, httpmime 4.5.2 (von 4.2.6)
  • Aktualisiert auf Tika-Core und Tika-Parser 1.12 (von 1.7)
  • Aktualisiert auf commons-math3 3.6.1 (von 3.4.1)
  • Aktualisiert auf commons-pool2 2.4.2 (von 2.3)
  • Aktualisiert auf commons-lang 3.4 (von 3.3.2)
  • Aktualisiert auf rhino-1.7.7.1 (von 1.7R5)
  • Aktualisiert auf jodd-3.6.7.jar (von 3.6.4)
  • Aktualisiert auf jsoup-1.8.3 (von 1.8.1)
  • Aktualisiert auf rsyntaxtextarea-2.5.8 (von 2.5.6)
  • Aktualisiert auf slf4j-1.7.12 (von 1.7.10)
  • Aktualisiert auf xmlgraphics-commons-2.0.1 (von 1.5)
  • Aktualisiert auf commons-collections-3.2.2 (von 3.2.1)
  • Aktualisiert auf commons-net 3.4 (von 3.3)
  • Aktualisiert auf slf4j 1.7.13 (von 1.7.12)
  • Fehler 57981 – Erfordert mindestens Java 7. Teilweise beigetragen von Graham Russell (jmeter at ham1.co.uk)
  • Fehler 58684 – JMeterColor muss java.awt.Color nicht erweitern . Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58687 – ButtonPanel sollte sterben. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58705 – Machen Sie org.apache.jmeter.testelement.property.MultiProperty iterierbar. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58729 – Bereinigen Sie den Extras-Ordner für die Wartbarkeit
  • Fehler 57110 – Rechtschreibung und Grammatik, Formatierung korrigiert, auskommentierten Code entfernt usw. Beigesteuert von Graham Russell (jmeter at ham1.co.uk)
  • Richtige Anweisungen zum Ausführen von JMeter in help.txt . Beigesteuert von Pascal Schumacher (pascalschumacher bei gmx.net)
  • Fehler 58704 – Kein Regressionstest: Ant-Task-Batchtest schlägt fehl, wenn Tests und Ausführung in einem nicht en_EN- Gebietsschema ausgeführt werden und eine JMX-Datei verwendet wird, die ein CSV-DataSet verwendet
  • Fehler 58897 – Verbesserung des JUnit-Testcodes. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58949 – Bereinigung des LDAP-Codes. Basierend auf einem Patch von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58897 – Verbesserung des JUnit-Testcodes. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58967 – Verwenden Sie JUnit-Kategorien, um Tests auszuschließen, die eine GUI benötigen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59003 - ClutilTestCase testSingleArg8 und testSingleArg9 sind identisch
  • Fehler 59064 – Entfernen Sie OldSaveService, der sehr alte JTL-Dateien (Ergebnisdateien) im Avalon-Format unterstützte
  • Fehler 59165 – RSyntaxTextArea nicht kompatibel mit Headless-Tests
  • Fehler 59021 – Verwenden Sie Double#compare, anstatt es in NumberProperty#compareTo neu zu implementieren
  • Fehler 59037 – HtmlParserHTMLParser und Abhängigkeiten von htmlparser und htmllexer löschen
  • Fehler 58465 – JMS-Leseantwortfeld ist schlecht benannt und dokumentiert
  • Fehler 58601 – Prüfung auf Änderung von saveservice.properties von SVN-Revisions-ID auf sha1-Summe der Datei selbst geändert.
  • Fehler 58726 – Entfernen Sie den jmeterthread.startearlier- Parameter. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58784 – Machen Sie JMeterUtils#runSafe sync/async awt-Aufruf konfigurierbar und ändern Sie die Visualizer so, dass sie die asynchrone Version verwenden.
  • Fehler 58790 – Problem in CheckDirty und seine Beziehung zu ActionRouter
  • Fehler 59095 – Entfernen Sie UserParameterXMLParser, der vor acht Jahren veraltet war. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59262 – Liste der binären JAR-Dateien zu LIZENZ hinzugefügt; Verwenden Sie das für Unit-Tests
  • Fehler 59353 – „Veraltete und entfernte Elemente“ im Abschnitt „Inkompatible Änderungen“ in der Datei „changes.xml“ hinzugefügt. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 57806 – Der MIME-Typ „ audio/x-mpegurl “ wird von ViewResultsTree fälschlicherweise als binär betrachtet. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com).
  • Fehler 57858 – Rufen Sie sampleEnd nicht zweimal in HTTPHC4Impl auf, wenn eine RuntimeException oder eine IOException in der Beispielmethode auftritt.
  • Fehler 57921 – HTTP/1.1 ohne Keep-alive „ Connection “-Antwort-Header verwendet kein unendliches Keep-alive mehr.
  • Fehler 57956 – Die hc.parameters- Referenz in jmeter.properties funktioniert nicht, wenn JMeter nicht in bin gestartet wird .
  • Fehler 58137 – JMeter kann keine eingebetteten URLs herunterladen, die illegale Zeichen in der URL enthalten (es maskiert sie nicht).
  • Fehler 58201 – Machen Sie die Nutzung des Ports im Host-Header über die verschiedenen HTTP-Sampler hinweg konsistenter.
  • Fehler 58453 – HTTP Test Script Recorder: NullPointerException beim Deaktivieren der Erfassung von HTTP -Headern
  • Fehler 57804 – HTTP-Anfrage verwendet zwischengespeicherten SSL-Kontext nicht wieder, wenn Client-Zertifikate in HTTPS verwendet werden (nur für HttpClient4-Implementierung behoben)
  • Fehler 58800Proxy.pause- Standardwert: Dokumentation behoben
  • Fehler 58844 – Schaltflächen zum Aktivieren/Deaktivieren sind im Argumenten-Panel defekt. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58861 – Wenn Sie in einer Zelle des Argumentbereichs auf „Nach oben“, „Nach unten“ oder „Detail“ klicken, gehen neu hinzugefügte Inhalte verloren. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 57935 – SSL-SNI-Erweiterung wird von HttpClient 4.2.6 nicht unterstützt
  • Bug 59044 - Http Sampler: Es sollte nicht möglich sein, die mehrteilige Kodierung auszuwählen, wenn die Methode nicht POST ist . Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59008 – Http-Sampler: Unendliche Rekursion SampleResult auf Frame-Tiefengrenze erreicht
  • Fehler 58881 – HTTP-Anfrage: HTTPHC4Impl zeigt eine Ausnahme, wenn der Server die „ deflate “-Komprimierung verwendet
  • Fehler 58583 – Der HTTP-Client kann die Verbindung nicht schließen, wenn sich der Server schlecht verhält, indem er „ connection: close “ nicht sendet und damit gegen HTTP RFC 2616/RFC 7230 verstößt
  • Fehler 58950NoHttpResponseException, wenn Pause zwischen Samplern die vom Server gesendete Keepalive überschreitet
  • Fehler 59085 – Http-Dateifenster: Daten gehen beim Abbrechen des Durchsuchens verloren. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 56141 – Anwendung verhält sich bei Verwendung von HTTP Recorder nicht korrekt. Mit Hilfe von Dan (java.junkee at yahoo.com)
  • Fehler 59079 – Die Eigenschaft „ httpsampler.max_redirects “ wird nicht erzwungen, wenn „ Automatisch umleiten“ verwendet wird
  • Bug 58811 - Beim Einfügen von Argumenten zwischen HTTP-Samplern gehen die Spalten "Encode" und "Include Equals" verloren. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)

Andere Sampler

  • Fehler 58013 – Aktivieren Sie alle Protokolle, die im standardmäßigen SSLContext aktiviert sind, für die Verwendung mit dem SMTP-Sampler.
  • Fehler 58209 – JMeter hängt beim Testen von javasampler, weil HashMap.put() von mehreren Threads ohne Synchronisierung aufgerufen wird.
  • Fehler 58301 – Verwenden Sie typisierte Methoden wie setInt , setDouble , setDate , … für die vorbereitete Anweisung Nr. 27
  • Fehler 58851 – Fügen Sie eine Abhängigkeit von hamcrest-core hinzu, damit JUnit-Tests mit Anmerkungen funktionieren
  • Fehler 58947 – Connect-Metrik ist falsch, wenn ConnectException auftritt
  • Fehler 58980 – JMS-Abonnent gibt erfolgreich zurück, solange 1 Nachricht empfangen wird. Beigesteuert von Harrison Termotto (harrison dot termotto auf stonybrook.edu)
  • Fehler 59075 – JMS Publisher: NumberFormatException wird ausgelöst, wenn das Prioritäts- oder Ablauffeld leer ist
  • Fehler 59345 – SMTPSampler-Verbindungsleck. Basierend auf einem Patch von Luca Maragnani (luca dot maragnani at gmail dot com)

Controller

  • Fehler 58600 - Anzeige korrekter Dateinamen, wenn sie von IncludeController gesucht werden
  • Fehler 58678 – Modul-Controller: Zielelementauswahl einschränken. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58714 - Modul-Controller: Es sollte nicht möglich sein, einen Timer als Kind hinzuzufügen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59067 – JMeter kann nicht über Controller iterieren, die untergeordnete Elemente eines TransactionControllers sind, bei dem „ Generate parent sample “ aktiviert ist, nachdem ein Assertion-Fehler in einer Thread-Gruppe mit „ Start Next Thread Loop “ auftritt. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59076 – Der Test sollte fehlschlagen, wenn ein Modulcontroller seinen Ersatz-Teilbaum nicht finden kann

Zuhörer

  • Fehler 58033 – SampleResultConverter sollte beachten, dass er keine Nicht-TEXT-Daten aufzeichnen kann
  • Fehler 58845 – HTTP-Ansicht anfordern zeigt nicht alle Parameter an. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58413 – ViewResultsTree: HTTP-Renderer für Anfragen zeigt Parameter, die das kaufmännische Und (&) enthalten, nicht korrekt an. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59172 – SampleResult SaveConfig lässt nicht zu, dass einige Felder deaktiviert werden
  • Fehler 58329 – Reaktionszeitdiagramm und aggregiertes Diagramm: Beim Speichern des Diagramms in einer Datei werden die Einstellungen nicht berücksichtigt, die seit dem letzten Klicken auf das Diagramm geändert wurden. Beigesteuert von David Coppens (dlcoppens at gmail.com)

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 58079 – HTTP-Beispiele mit einem Vary -Header nicht zwischenspeichern, wenn ein HTTP-CacheManager verwendet wird.
  • Fehler 58912 – Antwort-Assertion-GUI: Das Löschen von mehr als 1 ausgewählten Zeile löscht nur eine Zeile. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)

Funktionen

  • Fehler 57825 – __Random-Funktion schlägt fehl, wenn der Mindestwert gleich dem Höchstwert ist ( Regression im Zusammenhang mit Fehler 54453 )

I18N

Allgemein

  • Fehler 54826 – Kein Fehler bei langen Zeichenfolgen in JSON-Antworten, wenn diese als JSON in der Ergebnisstruktur anzeigen angezeigt werden.
  • Fehler 57734 – Vorübergehende Maven-Abhängigkeiten sind für 2.13 falsch (Feste Gruppen-IDs für Commons Pool und Math)
  • Fehler 57731TESTSTART.MS hat immer den Wert des ersten Tests, der im Servermodus in verteilten Tests ohne GUI gestartet wurde
  • Fehler 58016 – Fehlertypumsetzung bei Verwendung eines externen SSL-Anbieters. Beigesteuert von Kirill Yankov (myworkpostbox at gmail.com)
  • Fehler 58293 – SOAP/XML-RPC Sampler-Dateibrowser generiert NullPointerException
  • Fehler 58685 – JDatefield: Änderung des Datums mit Pfeil nach oben/unten funktionieren lassen. Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 58693 – Fix „Ausgabeordner „jmeter/build/components“ kann nicht in Ausgabeordner „jmeter/build“ verschachtelt werden“ beim Einrichten von Eclipse
  • Fehler 58781 – Befehlszeilenoption „ -? “ zeigt unbekannte Option
  • Bug 57821 - Befehlszeilenoption " -X --remoteexit " funktioniert seit 2.13 nicht mehr (Regression im Zusammenhang mit Bug 57500 )
  • Fehler 58795 – NPE kann in GuiPackage#getTestElementCheckSum mit einigen Plugins von Drittanbietern auftreten
  • Bug 58913 - Beim Schließen sollte JMeter Cancel nicht als " zerstöre meinen Testplan" interpretieren . Beigesteuert von Benoit Wiart (benoit dot wiart at gmail.com)
  • Fehler 59096 – Suchfunktion: Bei der Suche wird die Groß-/Kleinschreibung nicht wirklich beachtet
  • Fehler 59193ant run_gui schlägt mit ClassNotFoundException oder IllegalAccessError fehl, wenn auf Klassen aus Abhängigkeiten zugegriffen wird, die nicht über Thread.currentThread().getContextClassLoader() geladen wurden
  • Fehler 59225 – Schlechte Anzeige des Laufanzeigesymbols. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)
  • Fehler 56927 – Sprachwechsel während eines Tests deaktivieren
  • Fehler 59391 – Im verteilten Modus wird der Client am Ende des Tests abnormal beendet
  • Fehler 59397build.xml macht dist.executables nicht auf Unix-Systemen ausführbar

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • Ubik-Ladepaket
  • Benoit Vatan (benoit.vatan bei gmail.com)
  • Jérémie Lesage (jeremie.lesage at jeci.fr)
  • Kirill Yankov (myworkpostbox bei gmail.com)
  • Amol Moye (amol.moye bei thomsonreuters.com)
  • Samoht-fr (https://github.com/Samoht-fr)
  • Graham Russell (jmeter bei ham1.co.uk)
  • Maxime Chassagneux (maxime.chassagneux bei gmail.com)
  • Benoit Wiart (benoit.wiart bei gmail.com)
  • Decathlon SA
  • Ubik-Ingenierie SAS
  • Oleg Kalnichevski (olegk bei apache.org)
  • Pascal Schumacher (pascalschumacher bei gmx.net)
  • Vincent Herilier (vherilier bei gmail.com)
  • Florent Sabbe (f dot sabbe bei ubik-ingenierie.com)
  • Antonio Gomes Rodrigues (ra0077 bei gmail.com)
  • Harrison Termotto (harrison dot termotto auf stonybrook.edu
  • Denis Kirpichenkov (denis.kirpichenkov bei gmail.com)
  • Gary Gregory (ggregory auf apache.org)
  • David Coppens (dlcoppens bei gmail.com)
  • Luca Maragnani (luca dot maragnani bei gmail dot com)
  • Philip Helger (http://www.helger.com) für seinen CSS-Parser und für die schnelle Berücksichtigung unserer Fehlerberichte
  • Irek Pastusiak (the.automatic.tester bei gmail.com)

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:

  • purnasatyap bei gmail dot com für die Tests und Berichte zum nächtlichen Build
  • Sergey Batalin (sergey_batalin at mail dot ru) für die Tests und Berichte zum nächtlichen Build
  • Vincent Daburon (vdaburon at gmail dot com) für die Tests und Berichte zum nächtlichen Build

Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Probleme und Problemumgehungen

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:
    [Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
    
    Dies wirkt sich nicht auf den JMeter-Betrieb aus. Dieses Problem ist seit Java 7b05 behoben.
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Mit Oracle Java 7 und Mac Book Pro Retina Display kann die JMeter-GUI verschwommen aussehen. Dies ist ein bekannter Java-Bug, siehe Bug JDK-8000629 . Eine Problemumgehung besteht darin, eine Java 7 Update 40-Laufzeitumgebung zu verwenden, die dieses Problem behebt.
  • Möglicherweise tritt der folgende Fehler auf:
    java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen
    wenn Sie eine HTTPS-Anfrage auf einer Website mit einem SSL-Zertifikat (selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) mit einem Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit ausführen. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 7 Version u16 (MD2) und Version u40 (Zertifikatsgröße kleiner als 1024 Bit) und auch Java 8 zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.
  • Unter Mac OSX zeigt Aggregate Graph aufgrund von Spiegelungseffekten bei Zahlen falsche Werte an. Dies ist auf einen bekannten Java-Fehler zurückzuführen, siehe Fehler JDK-8065373. Die Lösung besteht darin, JDK7_u79, JDK8_u45 oder höher zu verwenden.
  • View Results Tree kann möglicherweise HTML-Code unter HTML-Renderer nicht anzeigen, siehe Bug 54586 . Dies ist auf einen bekannten Java-Fehler zurückzuführen, der " px "-Einheiten in Zeilen-/Spaltenattributen nicht parsen kann. Siehe Bug JDK-8031109. Die Lösung besteht darin, JDK9 b65 oder höher zu verwenden.
  • Die JTable-Auswahl mit der Tastatur ( SHIFT  +  hoch/runter ) ist mit JAVA 7 unter Mac OSX völlig unbrauchbar. Dies ist auf einen bekannten Java-Fehler JDK-8025126 zurückzuführen. Die Lösung besteht darin, JDK 8 b132 oder höher zu verwenden.

Version 2.13

Zusammenfassung

Neu und bemerkenswert

Neue Elemente

Neuer asynchroner BackendListener mit Graphite-Implementierung

Ein neuer asynchroner BackendListener wurde hinzugefügt, um das Senden von Ergebnisdaten an einen Backend-Listener zu ermöglichen. JMeter wird mit einem GraphiteBackendListenerClient ausgeliefert, der das Senden von Ergebnissen an einen Graphite -Server mit Pickle- oder Plaintext-Protokollen ermöglicht. Sie können Ihr eigenes Backend implementieren, indem Sie AbstractBackendListenerClient erweitern . Dieses Backend kann eine Datenbank (JDBC), eine Message Oriented Middleware (JMS), ein Webservice oder alles sein, was Sie wollen.

Dies ist die Art von Live-Dashboard, das Sie mit Grafana und InfluxDB
erhalten können. Lesen Sie dies für weitere Details.

Grafana-Dashboard
Grafana-Dashboard

Kernverbesserungen

Neue Metrik für die Verbindungszeit

Ab dieser Version wurde eine neue Metrik namens connectTime hinzugefügt. Es stellt die Zeit dar, um eine Verbindung herzustellen. Standardmäßig wird es nicht in CSV oder XML gespeichert, um es zu speichern, fügen Sie es zu user.properties hinzu:
jmeter.save.saveservice.connect_time=true

Aggregiertes Diagramm und Bericht

Die Listener Aggregate Graph und Aggregate Report zeigten bisher nur das 90. Perzentil (historisches Verhalten), das 95. Perzentil und das 99. Perzentil wurden hinzugefügt und sind anpassbar. Um den gewünschten Perzentilwert einzurichten, fügen Sie user.properties hinzu:
aggregat_rpt_pct1=
90aggregat_rpt_pct2 =95aggregat_rpt_pct3
=99

HTTP(S)-Testskript-Recorder

Jetzt kann die Komponente Authentifizierungsschemata erkennen und fügt automatisch einen vorkonfigurierten HTTP-Autorisierungs-Manager mit dem richtigen Mechanismus hinzu.

HTTP-Anfrage

Die CalDAV-Verben (Kalendererweiterungen zu WebDAV) REPORT und MKCALENDAR wurden im HTTP-Request-Sampler hinzugefügt.

JDBC-Anfrage

Das ResultSet kann als Objekt abgerufen werden, dies ermöglicht eine einfachere Handhabung der Ergebnisse in BeanShell, JSR223-Skripten, …

Verteiltes Testen

Um eine bessere Nutzung von Distributed Testing in der Cloud zu ermöglichen, wurde beim Starten von Tests auf Servern ein Wiederholungsverhalten hinzugefügt. Lesen Sie dies für weitere Details.

Verteilte Testleistung

Seit JMeter 2.13 entfernen Stripping-Modi (StrippingBatch ist der Standardmodus) jetzt auch Antworten von SubResults, wodurch die verbrauchte Netzwerkbandbreite verbessert wird.

Aktualisierung der Dokumentation

Ein neuer Stil für die Website (responsive und aktueller) wurde von Felix Schumacher erstellt. Dokumentationen wurden insbesondere aufgefrischt:

GUI-Verbesserungen

Modul-Controller

Der Modul-Controller zeigt jetzt den Ziel-Controller in einer Baumansicht (anstelle einer Combo-Liste).

Symbolleiste

Die Symbolleiste von JMeter wurde für einige Symbole (Start, Toggle usw.) aktualisiert. Für die Icons stehen nun drei Größen zur Verfügung: 22x22, 32x32 und 48x48.
Die Eigenschaft zum Definieren Ihrer bevorzugten Größe lautet:

jmeter.toolbar.icons.size=Wert
mit dem Wert 22x22 (Standardgröße), 32x32 oder 48x48.

Die Symbolleiste mit 22x22 Pixel großen Symbolen

Die Symbolleiste mit 32x32 Pixel großen Symbolen

Die Symbolleiste mit 48x48 Pixel großen Symbolen

HTTP(S)-Testskript-Recorder

Wenn Ihr Testplan keinen Aufzeichnungscontroller enthält, wird eine neue Warnmeldung angezeigt, wenn der HTTP(S)-Testskriptrekorder so konfiguriert ist, dass die Proben an einen Aufzeichnungscontroller gesendet werden.

Inkompatible Änderungen

  • Seit 2.13 exportieren Aggregate Graph, Summary Report und Aggregate Report jetzt Prozentsätze in %, bevor sie den Dezimalwert exportierten, der von dem abwich, was in der GUI angezeigt wurde
  • Plugins von Drittanbietern können von der Behebung des Fehlers 57586 betroffen sein. Stellen Sie sicher, dass Ihre Unterklasse von HttpTestSampleGui ItemListener implementiert, wenn Sie sich dabei auf die übergeordnete Klasse verlassen haben.
  • Berichtspaket wurde entfernt, ApacheJMeter_report.jar wird daher nicht mehr generiert, siehe Bug 57269

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 25430 – HTTP(S) Test Script Recorder: Lassen Sie es den HTTP-Autorisierungs-Manager füllen. Teilweise basierend auf einem Patch von Dzmitry Kashlach (dzmitrykashlach at gmail.com)
  • Fehler 57381 – HTTP(S) Test Script Recorder sollte einen Fehler anzeigen, wenn der Zielcontroller auf einen Aufzeichnungscontroller verweist und kein Aufzeichnungscontroller vorhanden ist. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57488 – Leistung: Verbesserte SSLContext-Zurücksetzung für bidirektionale SSL-Authentifizierung
  • Fehler 57565 – SamplerCreator: Methode hinzugefügt, um Implementierungen das Hinzufügen von Kindern zu erstellten Samplern zu ermöglichen
  • Fehler 57606 – HTTPSamplerBase#errorResult ändert die Probenbezeichnung bei einer Ausnahme
  • Fehler 57613 – HTTP-Sampler: CalDAV-Verben hinzugefügt (REPORT, MKCALENDAR). Beigesteuert von Richard Brigham (richard.brigham at teamaol.com)
  • Fehler 48799 – Fügen Sie Zeit hinzu, um eine Verbindung zu verfügbaren Beispielmetriken herzustellen. Implementiert von Andrey Pokhilko (andrey at blazemeter.com) und beigetragen von BlazeMeter Ltd. und Pieter Ennes (apache.org at spam.ennes.nl)
  • Fehler 57500 – Einführung des Wiederholungsverhaltens für verteiltes Testen. Implementiert von Andrey Pokhilko und Dzimitry Kashlach und beigetragen von BlazeMeter Ltd.

Andere Sampler

  • Fehler 57322 – JDBC-Testelemente: ResultHandler hinzufügen, um mit ResultSets(Cursors) umzugehen, die von aufrufbaren Anweisungen zurückgegeben werden. Beigesteuert von Yngvi Þór Sigurjónsson (blitzkopf at gmail.com)

Controller

  • Fehler 57561 – Benutzeroberfläche des Modul-Controllers: Combobox durch Baum ersetzen. Beigesteuert von Maciej Franek (maciej.franek at gmail.com)
  • Fehler 57648 – TestFragment sollte beim Erstellen deaktiviert werden. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)

Zuhörer

  • Fehler 55932 – Erstellen Sie einen asynchronen BackendListener, um ein einfaches Einstecken neuer Listener zu ermöglichen (Graphite, JDBC, Console, …)
  • Fehler 57246 – BackendListener: Erstellen Sie eine Graphite-Implementierung
  • Fehler 57217 – Verbesserungen des aggregierten Diagramms und des aggregierten Berichts (3 konfigurierbare Perzentile, dieselben Daten in beiden, Code ausklammern). Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57537 – BackendListener: Implementierungen erlauben, Samples zu löschen

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

  • Fehler 54453 – Leistungsverbesserungen: Ersetzen Sie „Random“ durch „ThreadLocalRandom“ in der Funktion „__Random“.

I18N

Allgemein

  • Fehler 57518 – Symbole für die Symbolleiste mit mehreren Größen
  • Fehler 57605 – Wenn beim Laden des Testplans ein Fehler auftritt, gibt SaveService.loadTree null zurück , was zu NPE in Aufrufern führt
  • Fehler 57269 – Paket „org.apache.jmeter.reports“ löschen
  • Fehler 53764 – Website: Erstellen Sie einen neuen Stil für die Website

Nicht funktionale Änderungen

  • Aktualisiert auf jsoup-1.8.1.jar (von 1.7.3)
  • Aktualisiert auf Tika-Core und Tika-Parser 1.7 (von 1.6)
  • Aktualisiert auf commons-codec-1.10.jar (von 1.9)
  • Aktualisiert auf dnsjava-2.1.7.jar (von 2.1.6)
  • Aktualisiert auf jodd-3.6.4.jar (von 3.6.1)
  • Aktualisiert auf junit-4.12.jar (von 4.11)
  • Aktualisiert auf rhino-1.7R5 (von 1.7R4)
  • Aktualisiert auf rsyntaxtextarea-2.5.6 (von 2.5.3)
  • Aktualisiert auf slf4j-1.7.10 (von 1.7.5)
  • Fehler 57276 - RMIC wird seit Java 5 nicht mehr benötigt
  • Bug 57310 - Ersetzen Sie System.getProperty("file.separator") durchgängig durch File.separator (auch " path.separator" durch File.pathSeparator )
  • Fehler 57389 – Potenzielle NPE in Konvertern behoben
  • Fehler 57417 – Entfernen Sie die nicht verwendete Methode isTemporary aus NullProperty . Dies war ein Überbleibsel einer Umgestaltung aus dem Jahr 2003.
  • Fehler 57418 – Entferne unbenutzten Konstruktor aus der Workbench
  • Fehler 57419 – Entfernen Sie die unbenutzte Schnittstelle ModelListener.
  • Fehler 57466 – IncludeController: Entfernen Sie eine nicht benötigte Satzerstellung. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Eigenschaft loggerpanel.usejsyntaxtext hinzugefügt , um die Verwendung von JSyntaxTextArea für den Console Logger zu deaktivieren (bei Speicher- oder anderen Problemen)
  • Fehler 57586 – HttpTestSampleGui: ItemListener-Implementierung der Schnittstelle entfernt

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 57385 – Erhalten eines leeren Thread-Namens im XML-Ergebnis für HTTP-Anforderungen mit der Einstellung „Weiterleitungen folgen“. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57579 – NullPointerException-Fehler wird im Hauptsample ausgelöst, wenn „RETURN_NO_SAMPLE“ verwendet wird (Standard) und „Use Cache-Control / Expires header…“ im HTTP-Cache-Manager aktiviert ist

Andere Sampler

Controller

  • Fehler 57447 ​​– Verwenden Sie nur die vom Benutzer aufgelisteten DNS-Server, wenn die Option „benutzerdefinierten DNS-Resolver verwenden“ aktiviert ist.

Zuhörer

  • Fehler 57262 – Export von aggregierten Berichten, aggregierten Diagrammen und zusammenfassenden Berichten: Kopfzeilen verwenden Schlüssel anstelle von Beschriftungen
  • Fehler 57346 – Zusammenfassung: Die + (Differenz)-Berichte zeigen falsche verstrichene Zeit und falschen Durchsatz
  • Fehler 57449 – Verteiltes Testen: Stripped-Modi entfernen keine Antworten von SubResults (betrifft Lasttests, die das Herunterladen von eingebetteten Ressourcen verwenden). Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57562 – View Results Tree CSS/JQuery Tester: Es passiert nichts, wenn ein Fehler in der Syntax vorliegt und eine Ausnahme in jmeter.log auftritt
  • Fehler 57514 – Aggregiertes Diagramm, zusammenfassender Bericht und aggregierter Bericht zeigen falsche Prozentangaben in der gespeicherten Datei

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 57607 – Timer für konstanten Durchsatz: Aufgrund eines Rundungsfehlers wurde in gemeinsam genutzten Modi ein falscher Durchsatz berechnet

Allgemein

  • Fehler 57365 – Ausgewähltes LAF wird nicht korrekt eingerichtet, da UIManager.setLookAndFeel zu spät aufgerufen wird. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57364 – Optionen < Look And Feel aktualisiert nicht alle Windows LAF. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57394 – Beim Erstellen einer Instanz mit ClassTools#construct(String, int) wurde die Ganzzahl ignoriert und stattdessen der Standardkonstruktor verwendet.
  • Bug 57440 – OutOfMemoryError nach Einführung von JSyntaxTextArea im LoggerPanel, da disableUndo nicht berücksichtigt wird.
  • Fehler 57569 – FileServer.reserveFile – inkonsistentes Verhalten, wenn hasHeader wahr ist
  • Fehler 57555 – JMeter 2.12 kann nicht als Maven-Abhängigkeit verwendet werden. Beigesteuert von Pascal Schumacher (pascal.schumacher at t-systems.com)
  • Bug 57608 - Kompatibilität des Startskripts mit alten Unix-Shells behoben, zB auf Solaris

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

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

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:
  • Chaitanya Bhatt (bhatt.chaitanya at gmail.com) für seine gründlichen Tests der neuen BackendListener- und Graphite-Client-Implementierung.
  • Marcelo Jara (marcelojara at hotmail.com) für seinen klaren Bericht zu Bug 57607 .
Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Bekannte Fehler

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:
    [Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
    
    Dies wirkt sich nicht auf den JMeter-Betrieb aus. Dieses Problem ist seit Java 7b05 behoben.
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Bei Java 1.6 und Gnome 3 auf Linux-Systemen funktioniert das JMeter-Menü möglicherweise nicht korrekt (Wechsel zwischen Mausklick und Menü). Dies ist ein bekannter Java-Bug (siehe Bug 54477 ). Eine Problemumgehung besteht darin, eine Java 7-Laufzeitumgebung (OpenJDK oder Oracle JDK) zu verwenden.
  • Mit Oracle Java 7 und Mac Book Pro Retina Display kann die JMeter-GUI verschwommen aussehen. Dies ist ein bekannter Java-Bug, siehe Bug JDK-8000629 . Eine Problemumgehung besteht darin, eine Java 7 Update 40-Laufzeitumgebung zu verwenden, die dieses Problem behebt.
  • Möglicherweise tritt der folgende Fehler auf: java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen, wenn Sie eine HTTPS-Anforderung auf einer Website mit einem SSL-Zertifikat (sich selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) ausführen ein Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 7 Version u16 (MD2) und Version u40 (Zertifikatsgröße kleiner als 1024 Bit) und auch Java 8 zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.

Version 2.12

Zusammenfassung

Neu und bemerkenswert

Java-8-Unterstützung

Jetzt ist JMeter 2.12 mit Java 8 kompatibel.

Neue Elemente

Controller für kritische Abschnitte

Der Critical Section Controller ermöglicht es, die Ausführung eines Abschnitts in Ihrem Baum zu serialisieren. Während des Tests wird immer nur eine Instanz des Abschnitts gleichzeitig ausgeführt.

DNS-Cache-Manager

Das neue Konfigurationselement DNS Cache Manager (siehe Bug 56841 ) verbessert das Testen von:

  • CDN (Content Delivery Network)
  • DNS-Lastenausgleich.
  • Load Balancer wie Amazon Elastic Load Balancer

Kernverbesserungen

Intelligentere Aufzeichnung von HTTP-Testplänen

Test Script Recorder wurde in vielerlei Hinsicht verbessert

  • Besserer Abgleich von Variablen in Anfragen, wodurch Test Script Recorder Ihren Sampler während der Aufzeichnung vielseitiger variabel macht
  • Möglichkeit zum Filtern der Proben, die von der Aufzeichnung ausgeschlossen sind, aus dem View Results Tree. Dadurch können Sie sich auf die Analyse der aufgezeichneten Sampler konzentrieren und müssen sich nicht mit nutzlosen Probenergebnissen herumärgern
  • Bessere Standardeinstellungen für die Aufnahme, da diese Version Recorder erstellte Sampler nummeriert, sodass Sie sie viel einfacher im View Results Tree finden können. Die Gruppierung von Samplern unter dem Transaktionscontroller wird intelligenter, da alle von einer Webseite ausgegebenen Anforderungen als neue Transaktionscontroller untergeordnete Elemente sind

Unterstützung von Webdav-Anfragen

Sie können jetzt mit der HttpClient4-Implementierung von Http Request gegen den WebDav-Server testen

Besserer Umgang mit eingebetteten Ressourcen

Wenn das Herunterladen von eingebetteten Ressourcen aktiviert ist, verwendet JMeter jetzt den Header des Benutzeragenten, um Ressourcen herunterzuladen oder nicht, die in bedingte Kommentare eingebettet sind, wie unter Über bedingte Kommentare .

Möglichkeit, die Handhabung von zwischengespeicherten Ressourcen durch den Cache Manager (Browser-Cache-Simulation) anzupassen

Sie können jetzt das Verhalten von JMeter konfigurieren, wenn eine Ressource im Cache gefunden wird, dies kann mit der Eigenschaft cache_manager.cached_resource_mode gesteuert werden

JMS Publisher / JMS Point-to-Point

Fügen Sie für diese Sampler die Felder JMSPriority und JMSExpiration hinzu.

Mail-Reader-Beispiel

Sie können jetzt die Anzahl der Nachrichten angeben, die Sie abrufen möchten (bevor alle Nachrichten abgerufen wurden). Außerdem können Sie jetzt nur den Nachrichtenkopf abrufen.

SMTP-Sampler

Hinzufügen des Verbindungs-Timeouts und des Lese-Timeouts zum SMTP-Sampler.

Timer synchronisieren

Hinzufügen eines Timeouts, um die maximale Wartezeit der Gruppe virtueller Benutzer zu definieren.

Leistungsverbesserungen

Eine große Verbesserung der Leistung von Funktionen wurde durch das Aufheben nutzloser Synchronisation erzielt. Es betrifft alle Funktionen außer __StringFromFile, __XPath und __BeanShell, siehe Bug 57114

Die Leistung von __jexl2 wurde verbessert, um Konfliktpunkte zu vermeiden, siehe Fehler 56708

GUI-Verbesserungen

Rückgängig/Wiederherstellen-Unterstützung

Rückgängig/Wiederherstellen wurde eingeführt und ermöglicht dem Benutzer das Rückgängigmachen/Wiederherstellen von Änderungen, die in der Testplanstruktur vorgenommen wurden. Diese Funktion (ALPHA MODE) ist standardmäßig deaktiviert, um sie zu aktivieren, setzen Sie die Eigenschaft undo.history.size=25

Ergebnisbaum anzeigen

Verbessern Sie die Ergonomie von View Results Tree, indem Sie die Platzierung von Renderern ändern und eine benutzerdefinierte Reihenfolge zulassen (mit der Eigenschaft view.results.tree.renderers_order ).

Reaktionszeitdiagramm

Hinzufügen der Möglichkeit für den Response Time Graph -Listener, seine Einstellungen in/aus der jmx-Datei zu speichern/wiederherzustellen.

Eintrags Ansicht

Ab dieser Version können die letzten Zeilen der Protokolldatei von JMeter (jmeter.log) direkt in der GUI angezeigt werden, indem Sie auf das Warnsymbol in der oberen rechten Ecke klicken. Dadurch wird das Log-Viewer-Panel geöffnet und Logs angezeigt.

Datei öffnen

Der "Datei öffnen-Dialog" verwendet jetzt den zuletzt geöffneten Dateiordner als Startordner, siehe Bug 52707

Bekannte Fehler

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:
    [Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
    
    Dies wirkt sich nicht auf den JMeter-Betrieb aus. Dieses Problem ist seit Java 7b05 behoben.
  • Beachten Sie, dass Sie unter einigen Windows-Systemen möglicherweise diese WARNUNG haben:
    java.util.prefs.WindowsPreferences
    WARNUNG: Voreinstellungs-Root-Knoten Software\JavaSoft\Prefs unter Root 0 konnte nicht geöffnet/erstellt werden
    x80000002. Windows RegCreateKeyEx(…) hat Fehlercode 5 zurückgegeben.
    
    Die Lösung besteht darin, JMeter als Administrator auszuführen, es erstellt den Registrierungsschlüssel für Sie, dann können Sie JMeter als normaler Benutzer neu starten und die Warnung wird nicht mehr angezeigt.
  • Bei Java 1.6 und Gnome 3 auf Linux-Systemen funktioniert das JMeter-Menü möglicherweise nicht korrekt (Wechsel zwischen Mausklick und Menü). Dies ist ein bekannter Java-Bug (siehe Bug 54477 ). Eine Problemumgehung besteht darin, eine Java 7-Laufzeitumgebung (OpenJDK oder Oracle JDK) zu verwenden.
  • Mit Oracle Java 7 und Mac Book Pro Retina Display kann die JMeter-GUI verschwommen aussehen. Dies ist ein bekannter Java-Bug, siehe Bug JDK-8000629 . Eine Problemumgehung besteht darin, eine Java 7 Update 40-Laufzeitumgebung zu verwenden, die dieses Problem behebt.
  • Möglicherweise tritt der folgende Fehler auf: java.security.cert.CertificateException: Zertifikate entsprechen nicht den Algorithmuseinschränkungen, wenn Sie eine HTTPS-Anforderung auf einer Website mit einem SSL-Zertifikat (sich selbst oder einem der SSL-Zertifikate in seiner Vertrauenskette) ausführen ein Signaturalgorithmus mit MD2 (wie md2WithRSAEncryption) oder mit einem SSL-Zertifikat mit einer Größe von weniger als 1024 Bit. Dieser Fehler hängt mit der erhöhten Sicherheit in Java 7 Version u16 (MD2) und Version u40 (Zertifikatsgröße kleiner als 1024 Bit) und auch Java 8 zusammen.
    Damit Sie Ihre HTTPS-Anforderung ausführen können, können Sie die Sicherheit Ihrer Java-Installation herabstufen, indem Sie die Java -Eigenschaft jdk.certpath.disabledAlgorithms bearbeiten . Entfernen Sie je nach Fall den MD2-Wert oder die Größenbeschränkung.
    Diese Eigenschaft befindet sich in dieser Datei:
    JAVA_HOME/jre/lib/security/java.security
    Siehe Fehler 56357 für Details.

Inkompatible Änderungen

  • Seit JMeter 2.12 werden aktive Threads in allen Thread-Gruppen und aktive Threads in der aktuellen Thread-Gruppe standardmäßig als CSV- oder XML-Ergebnisse gespeichert, siehe Bug 57025 . Dies ist normalerweise das erwartete Verhalten, da Sie die Anzahl der laufenden Threads während des Tests haben möchten. Wenn Sie jedoch zum vorherigen Verhalten zurückkehren möchten, setzen Sie die Eigenschaft jmeter.save.saveservice.thread_counts=false
  • Seit JMeter 2.12 zeigt Mail Reader Sampler 1 für die Anzahl der Samples anstelle der Anzahl der abgerufenen Nachrichten an, siehe Bug 56539
  • Seit JMeter 2.12 wird bei der Verwendung von Cache Manager kein SampleResult erstellt, wenn eine Ressource im Cache gefunden wird. In früheren Versionen wurde ein SampleResult mit leerem Inhalt und dem Rückgabecode 204 zurückgegeben, siehe Bug 54778 . Sie können zwischen verschiedenen Möglichkeiten wählen, diesen Fall zu behandeln, siehe cache_manager.cached_resource_mode in jmeter.properties .
  • Seit JMeter 2.12 löscht der Log Viewer keine Logs mehr, wenn er geschlossen ist, und hat Logs verfügbar, selbst wenn er geschlossen ist. Siehe Fehler 56920 . Lesen Sie Hinweise und Tipps > Aktivieren der Debug-Protokollierung für Details zum Konfigurieren dieser Komponente.

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 55998 – HTTP-Aufzeichnung – Das Ersetzen des Portwerts durch eine benutzerdefinierte Variable funktioniert nicht
  • Bug 56178 – Keytool-Fehler: Ungültiges Escapezeichen in AVA: – Einige Zeichen müssen mit Escapezeichen versehen werden
  • Fehler 56222 – NPE, wenn jmeter.httpclient.strict_rfc2616=true und Ort nicht absolut ist
  • Fehler 56263 – DefaultSamplerCreator sollte BrowserCompatible Multipart auf true setzen
  • Fehler 56231 – Verschieben der Weiterleitungsortverarbeitung von HC3/HC4-Samplern zu HTTPSamplerBase#followRedirects()
  • Fehler 56207 – URLs werden bei Umleitungen in HC3.1- und HC4-Samplern codiert
  • Fehler 56303 – Die Breite der Combo-Liste des Ziel-Controllers sollte auf die aktuelle Bedienfeldgröße eingestellt werden, nicht auf die Beschriftungsgröße der Controller
  • Fehler 54778 – HTTP-Sampler sollte nicht 204 zurückgeben, wenn eine Ressource im Cache gefunden wird, machen Sie es mit der neuen Eigenschaft cache_manager.cached_resource_mode konfigurierbar

Andere Sampler

  • Fehler 55977 – JDBC-Pool-Keepalive-Überflutung
  • Fehler 55999 – Die Bildlaufleiste im JMS-Punkt-zu-Punkt-Sampler funktioniert nicht, wenn der Inhalt die Anzeige überschreitet
  • Fehler 56198 – JMSSampler: NullPointerException wird ausgelöst, wenn die zugrunde liegende JNDI-Implementierung des JMS-Anbieters nicht mit dem Context.getEnvironment- Vertrag übereinstimmt
  • Fehler 56428 – MailReaderSampler – sollte er mail.pop3s.*-Eigenschaften verwenden?
  • Fehler 46932 – Der in der Select-Anweisung angegebene Alias ​​wird nicht als Spaltenüberschrift in Antwortdaten für eine JDBC-Anforderung verwendet. Basierend auf dem Bericht und der Analyse von Nicola Ambrosetti
  • Fehler 56539 – Mailreader-Sampler: Wenn die Anzahl der abzurufenden Nachrichten größer als 1 ist, sollte die Anzahl der Beispiele nur 1 anzeigen, nicht die Anzahl der abgerufenen Nachrichten
  • Fehler 56809 – JMSSampler schließt InitialContext zu früh. Beigesteuert von Bradford Hovinen (hovinen at gmail.com)
  • Fehler 56761 – JMeter versucht, eine bereits gestoppte JMS-Verbindung zu stoppen und zeigt „Die Verbindung ist geschlossen“ an
  • Fehler 57068 – Es wird kein Fehler ausgegeben, wenn eine negative Dauer in die Testaktion eingegeben wird
  • Fehler 57078 – LagartoBasedHTMLParser kann Seiten nicht analysieren, die Eingaben ohne Typ enthalten
  • Fehler 57183 – JMSSampler: Für Eingabezeichenfolge: „“ java.lang.NumberFormatException (für Expiration- oder Priority-Felder)

Controller

  • Fehler 56243 – Foreach funktioniert falsch mit Indizes bei nachfolgenden Iterationen
  • Fehler 56276 – Der Loop-Controller wird kaputt, sobald die Loop-Anzahl Null ergibt
  • Fehler 56160 – StackOverflowError bei Verwendung von WhileController innerhalb von IfController
  • Fehler 56811 – „Start Next Thread Loop“ in Result Status Action Handler oder in Thread Group und „Go to next Loop iteration“ in Test Action verhalten sich falsch mit TransactionController, bei dem „Generate Parent Sampler“ aktiviert ist

Zuhörer

  • Fehler 56706 – SampleResult#getResponseDataAsString() verwendet keine Codierung im Antworttext, was sich auf PostProcessors und ViewResultsTree auswirkt. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57052 – ArithmeticException: / durch Null, wenn sampleCount gleich 0 ist

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 56162 – Der HTTP-Cache-Manager sollte PUT/POST usw. nicht zwischenspeichern.
  • Fehler 56227 – AssertionGUI: NPE in Assertion bei Mausauswahl
  • Fehler 41319 – URLRewritingModifier: URL-Codierung des Parameterwerts zulassen

Funktionen

I18N

  • Bug 56111 - "Kommentare" in deutscher Übersetzung ist nicht korrekt

Allgemein

  • Fehler 56059 – Ältere TestBeans inkompatibel mit 2.11 bei Verwendung von TextAreaEditor
  • Fehler 56080 – Konvertierungsfehler com.thoughtworks.xstream.converters.ConversionException mit Java 8 Early Access Build
  • Fehler 56182 – BSH-Skript kann nicht mit bshclient.jar ausgelöst werden; Socket wird unerwartet geschlossen
  • Fehler 56360 – HashTree und ListedHashTree können nicht mit Java 8 kompiliert werden
  • Fehler 56419 – JMeter kann Ergebnisse nicht stillschweigend speichern
  • Fehler 56662 – Speichern als XML in einem Listener wird nicht gespeichert
  • Fehler 56367 – JMeter 2.11 auf Maven Central löst eine nicht vorhandene Abhängigkeit aus rsyntaxtextarea 2.5.1, Upgrade auf 2.5.3
  • Fehler 56743 – Falsche Mailinglisten-Archive auf mail2.xml. Beigesteuert von Felix Schumacher (felix.schumacher at internetallee.de)
  • Fehler 56763 – Entfernen der Oracle-Symbole, die nicht von JMeter verwendet werden (und fehlende Lizenz)
  • Fehler 54100 – Beim Wechseln der Sprache bleiben die Status der Symbolleistenschaltflächen (aktiviert/deaktiviert) nicht erhalten
  • Fehler 54648 – Die JMeter-GUI unter OS X stürzt ab, wenn CMD+C (Tastaturkürzel oder UI-Menüeintrag) für ein Element aus dem Baum verwendet wird
  • Fehler 56962 – JMS-GUIs sollten alle Felder deaktivieren, die vom Kontrollkästchen „jndi.properties“ betroffen sind
  • Fehler 57061 – „Als Testfragment speichern“ kann tief ausgewählten Knoten nicht klonen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57075 – BeanInfoSupport.MULTILINE-Attribut wird nicht verarbeitet
  • Fehler 57076 – BooleanPropertyEditor#getAsText() muss einen Wert zurückgeben, der in getTags() enthalten ist
  • Fehler 57088 – NPE in ResultCollector.testEnded

Verbesserungen

HTTP-Sampler und Testskript-Recorder

  • Fehler 55959 – Verbesserte Fehlermeldung, wenn Test Script Recorder aufgrund eines E/A-Problems fehlschlägt
  • Fehler 52013 – Die Ergebnisstruktur der untergeordneten Ansicht von Test Script Recorder berücksichtigt keine von Test Script Recorder ausgeschlossenen/eingeschlossenen URLs. Basierend auf dem Bericht und der Analyse von James Liang
  • Fehler 56119 – Datei-Uploads schlagen bei jedem zweiten Versuch mit Timern fehl. Aktivieren Sie Leerlauf-Timeouts für Server, die keine Keep-Alive-Header senden.
  • Fehler 56272 – MirrorServer sollte Abfrageparameter für Status und Weiterleitungen unterstützen
  • Fehler 56772 – Behandlung von bedingten IE-Kommentaren beim Analysieren von eingebetteten Ressourcen
  • Bug 57026 – HTTP(S) Test Script Recorder: Bessere Standardeinstellungen. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57107 – Patch-Vorschlag: Fügen Sie DAV-Verben zum HTTP-Sampler hinzu. Beigesteuert von Philippe Jung (Apache at famille-jung.fr)
  • Fehler 56357 – Zertifikate entsprechen nicht den Algorithmuseinschränkungen: Es wurde ein Hinweis hinzugefügt, der angibt, wie diese neuen Sicherheitseinschränkungen aus der Java-Installation entfernt werden können

Andere Sampler

  • Fehler 56033 – Verbindungs-Timeout und Lese-Timeout zum SMTP-Sampler hinzugefügt
  • Fehler 56429 – MailReaderSampler – es müssen nicht alle Nachrichten abgerufen werden, wenn nicht alle erwünscht sind
  • Fehler 56427 – MailReaderSampler-Verbesserung: Nur Nachrichtenheader lesen
  • Fehler 56510 – JMS Publisher/Point-to-Point: Fügen Sie JMSPriority und JMSExpiration hinzu

Controller

  • Fehler 56728 – Neuer Critical Section Controller zum Serialisieren von Blöcken eines Tests. Teilweise basierend auf einem Patch von Mikhail Epikhin (epihin-m at yandex.ru)
  • Fehler 57145 – RandomController: Verwenden Sie ThreadLocalRandom anstelle von Random, um eine bessere Leistung zu erzielen

Zuhörer

  • Fehler 56228 – Ergebnisbaum anzeigen: Verbessern Sie die Ergonomie, indem Sie die Platzierung von Renderern ändern und eine benutzerdefinierte Reihenfolge zulassen
  • Fehler 56349 – „Zusammenfassung“ ist ein schlechter Name für eine Komponente „Zusammenfassungsergebnisse generieren“, Dokumentation klargestellt
  • Fehler 56769 – Fügt dem Antwortzeitdiagramm-Listener die Möglichkeit hinzu, Formateinstellungen in/aus der jmx-Datei zu speichern/wiederherstellen
  • Fehler 57025 – SaveService: Bessere Standardeinstellungen, Thread-Zählungen standardmäßig speichern

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 56691 – Zeitgeber synchronisieren: Zeitüberschreitung beim Warten hinzugefügt
  • Bug 56701 - HTTP Authorization Manager/Kerberos Authentication: Port zu SPN hinzufügen, wenn Server-Port weder 80 noch 443 ist. Basierend auf Patches von Dan Haughey (dan.haughey at swinton.co.uk) und Felix Schumacher (felix.schumacher at internetallee. de)
  • Fehler 56841 – Neues Konfigurationselement: DNS-Cache-Manager, um das Testen von CDN zu verbessern. Basierend auf dem Patch von Dzmitry Kashlach (dzmitrykashlach at gmail.com) und beigesteuert von BlazeMeter Ltd.
  • Fehler 52061 – Zugriff auf Anforderungsheader im Regex Extractor zulassen. Basierend auf dem Patch von Dzmitry Kashlach (dzmitrykashlach at gmail.com) und beigesteuert von BlazeMeter Ltd.

Funktionen

  • Fehler 56708 – __jexl2 skaliert nicht mit mehreren CPU-Kernen. Basierend auf Analyse und Patch von Mikhail Epikhin (epihin-m at yandex.ru)
  • Fehler 57114 – Leistung: Funktionen, die nur Werte als Instanzvariable haben, sollten nicht synchronisiert ausgeführt werden. Basierend auf einer Analyse des Ubik Load Pack-Supports und Vladimir Sitnikov, Patch beigetragen von Vladimir Sitnikov (sitnikov.vladimir at gmail.com)

I18N

Allgemein

  • Fehler 21695 – Unix jmeter Startskript geht davon aus, dass es sich auf PATH befindet, nicht auf einem Link
  • Fehler 56292 – Fügen Sie die Überprüfung der Java-Version in den Startdateien hinzu und deaktivieren Sie einige Optionen, wenn es sich um die Java v8-Engine handelt
  • Fehler 56298 – JSR223-Sprachanzeige zeigt nicht an, welche Engine verwendet wird
  • Fehler 56455 – Stapeldateien: Keine Unterstützung für Nicht-NT-Windows-Shell-Skripte
  • Fehler 52707 – Lassen Sie den Dialog „Datei öffnen“ den zuletzt geöffneten Dateiordner als Startordner verwenden. Basierend auf dem Patch von Dzmitry Kashlach (dzmitrykashlach at gmail.com) und beigesteuert von BlazeMeter Ltd.
  • Fehler 56807 – Möglichkeit, das Leeren der ResultCollector-Datei zu erzwingen. Beigesteuert von Andrey Pohilko (apc4 at ya.ru)
  • Fehler 56921 – Vorlagen: Verbessern Sie die Aufzeichnungsvorlage, um eingebettete Ressourcenfälle und URL-Parameter zu ignorieren. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 42248 – Unterstützung für das Rückgängigmachen und Wiederholen bei der Änderung der Testplanstruktur. Entwickelt von Andrey Pohilko (apc4 bei ya.ru) und beigesteuert von BlazeMeter Ltd. Zusätzlicher Beitrag von Ubik Load Pack (Unterstützung bei ubikloadpack.com)
  • Fehler 56920 – LogViewer: Lassen Sie es alle Protokollereignisse empfangen, selbst wenn es geschlossen ist. Beigesteuert von Ubik Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 57083 – vereinfachte die CachedResourceMode-Aufzählung. Beigesteuert von Graham Russel (graham at ham1.co.uk)
  • Fehler 57082 – ComboStringEditor: hashCode zu einer inneren Klasse hinzugefügt, die gleich überschrieben hat. Beigesteuert von Graham Russel (graham at ham1.co.uk)
  • Fehler 57081 – Aktualisierung von checkstyle, um nur nach Registerkarten in Java-, XML-, XSD-, DTD-, HTM-, HTML- und TXT-Dateien zu suchen (nicht Bilder!). Beigesteuert von Graham Russell (graham at ham1.co.uk)
  • Fehler 56178 – Backslashes im Benutzernamen wirklich ersetzen, bevor das Proxy-Zertifikat generiert wird. Beigesteuert von Graham Russel (graham at ham1.co.uk)
  • Fehler 57084 – Socket nach Verwendung in BeanShellClient schließen. Beigesteuert von Graham Russel (graham at ham1.co.uk)

Nicht funktionale Änderungen

  • Fehler 57117 – Erhöhen Sie die Standardverschlüsselung für HTTPS Test Script Recorder von SSLv3 auf TLS
  • Aktualisiert auf commons-lang3 3.3.2 (von 3.1)
  • Aktualisiert auf Commons-Codec 1.9 (von 1.8)
  • Aktualisiert auf commons-logging 1.2 (von 1.1.3)
  • Aktualisiert auf tika 1.6 (von 1.4)
  • Aktualisiert auf xercesImpl 2.11.0 (von 2.9.1)
  • Aktualisiert auf xml-apis 1.4.01 (von 1.3.04)
  • Aktualisiert auf xstream 1.4.8 (von 1.4.4)
  • Aktualisiert auf jodd 3.6.1 (von 3.4.10)
  • Aktualisiert auf rsyntaxtextarea 2.5.3 (von 2.5.1)
  • Xalan und Serializer auf 2.7.2 aktualisiert (von 2.7.1)
  • Aktualisiert auf jsoup-1.8.1.jar (von 1.7.3)

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

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

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:
  • Oliver LLoyd (E-Mail an oliverlloyd.com) für seine Hilfe bei Bug 56119
  • Vladimir Ryabtsev (greatvovan at gmail.com) für seine Hilfe bei Bug 56243 und Bug 56276
  • Adrian Speteanu (asp.adieu at gmail.com) und Matt Kilbride (matt.kilbride at gmail.com) für ihr Feedback und ihre Tests zu Bug 54648
  • Shmuel Krakower (shmulikk at gmail.com) für seine Tests und Berichte zur Undo/Redo-Funktion
Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Version 2.11

Zusammenfassung

Neu und bemerkenswert

Verbesserungen des HTTP(S) Test Script Recorders

Die folgenden Verbesserungen wurden seit den wichtigsten Änderungen vorgenommen, die in JMeter 2.10 am HTTP(S) Test Script Recorder eingeführt wurden:

  • Bessere Erkennung fehlender oder ungültiger Konfigurationen des Keytool-Dienstprogramms
  • Mit der neuen Systemeigenschaft keytool.directory (siehe system.properties ) können Sie das Verzeichnis konfigurieren, das keytool enthält, falls es sich um eine nicht standardmäßige Installation handelt

JMS Publisher/Point to Point : Möglichkeit hinzugefügt, typisierte Werte in JMS-Header-Eigenschaften festzulegen

In den Samplern JMS Publisher und JMS Point-to-Point können Sie jetzt die Werteklasse für die JMS-Header-Eigenschaften einrichten. Bisher war nur String möglich.

Ergebnisstruktur anzeigen: Fügen Sie einen XPath-Tester hinzu

Im View Results Tree-Listener kann ein neuer XPath-Tester verwendet werden, um XPATH-Ausdrücke zu testen.

Möglichkeit, den Client-Alias ​​für den Zertifikatsschlüssel in JsseSslManager auszuwählen, sodass das Testen der gegenseitigen SSL-Authentifizierung flexibler gestaltet werden kann

Beim Testen von Client-basierten Zertifikatauthentifizierungen haben Sie jetzt eine bessere Kontrolle über das von Ihnen verwendete Zertifikat durch ein neues Feld "Variable Name Holding Certificate Alias". In diesem Feld können Sie das Zertifikat auswählen, das Sie zur Authentifizierung an den Server senden möchten. Sie können einen CSV-Datensatz als Halter für den Variablenwert verwenden.

Fügen Sie die Option „Als Testfragment speichern“ hinzu

Im Dateimenü ermöglicht eine neue Option das Speichern einer Gruppe von Elementen als Testfragment.

Summarizer ist standardmäßig im Nicht-GUI-Modus aktiviert

Wenn Sie JMeter über die Befehlszeile ausführen, zeigt JMeter jetzt einige Statistiken aus dem Zusammenfassungsmodus an.

Transaktionscontroller: Ändern Sie die Standardeigenschaft "Dauer des Timers einbeziehen ..." für neu erstelltes Element

Ab 2.11 ist der Transaktionscontroller standardmäßig so konfiguriert, dass er die Verarbeitungszeit von Vor-/Nachprozessoren ausschließt, solange Timer pausieren.

Bekannte Fehler

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Listener zeigen keine Iterationszähler an, wenn ein If-Controller eine Bedingung hat, die von der ersten Iteration an immer falsch ist (siehe Bug 52496 ). Eine Problemumgehung besteht darin, einen Sampler auf derselben Ebene wie (oder höher) als den If-Controller hinzuzufügen. Zum Beispiel ein Testaktions-Sampler mit 0 Wartezeit (der kein Sample generiert) oder ein Debug-Sampler, bei dem alle Felder auf „False“ gesetzt sind (um die Sample-Größe zu reduzieren).
  • Die Zahlen, die links vom grünen Kästchen erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, die Gesamtzahl der Threads gilt nur für einen lokal ausgeführten Test, andernfalls wird 0 angezeigt (siehe Bug 55510 ).
  • Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:
    [Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
    
    Dies wirkt sich nicht auf den JMeter-Betrieb aus. Dieses Problem ist seit Java 7b05 behoben.
  • Bei Java 1.6 und Gnome 3 auf Linux-Systemen funktioniert das JMeter-Menü möglicherweise nicht korrekt (Wechsel zwischen Mausklick und Menü). Dies ist ein bekannter Java-Bug (siehe Bug 54477 ). Eine Problemumgehung besteht darin, eine Java 7-Laufzeitumgebung (OpenJDK oder Oracle JDK) zu verwenden.
  • Mit Oracle Java 7 und Mac Book Pro Retina Display kann die JMeter-GUI verschwommen aussehen. Dies ist ein bekannter Java-Bug, siehe Bug JDK-8000629 . Eine Problemumgehung besteht darin, eine Java 7 Update 40-Laufzeitumgebung zu verwenden, die dieses Problem behebt.

Inkompatible Änderungen

  • Beim Erstellen eines neuen Transaktionscontrollers wird ab Version 2.11 die Eigenschaft „Dauer des Timers und der Pre-Post-Prozessoren in das generierte Beispiel einbeziehen“ deaktiviert
  • Im Nicht-GUI-Modus ist der Summarizer seit 2.11 mit einer 30-Sekunden-Frequenz aktiviert
  • JMeter ist bei der Umleitungsbehandlung nachsichtiger und entspannt sich bei RFC2616, indem es relative Standorte zulässt. Siehe Eigenschaft " jmeter.httpclient.strict_rfc2616 " in jmeter.properties , um dieses Verhalten zu ändern, siehe Bug 55717
  • Beim Erstellen einer neuen Response Assertion ist die Eigenschaft "Pattern Matching Rules" ab Version 2.11 jetzt standardmäßig auf Substring eingestellt

Fehlerbehebung

HTTP-Sampler und Testskript-Recorder

  • Fehler 55815 – Proxy#getDomainMatch verarbeitet Platzhalter nicht korrekt
  • Fehler 55717 – Schlechte Handhabung der Weiterleitung, wenn URLs im relativen Format von HttpClient4 und HttpClient3.1 vorliegen

Andere Sampler

  • Fehler 55685 – OS Sampler: Zeitüberschreitungsoption speichert und stellt Wert nicht korrekt wieder her und initialisiert Zeitüberschreitung nicht korrekt

Controller

  • Fehler 55816 – Transaktionscontroller mit deaktivierter Option „Dauer des Timers einbeziehen…“ ignoriert nicht die Verarbeitungszeit des letzten untergeordneten Samplers

Zuhörer

  • Fehler 55826 - Unsynchronisierte gleichzeitige Zugriffe auf die Liste im Feld RespTimeGraphVisualizer.internalList

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 55694 – Assertionen und Extraktoren: Vermeiden Sie NullPointerException, wenn der Gültigkeitsbereich variabel ist und die Variable fehlt
  • Fehler 55721 – HTTP-Cache-Manager – No-Store-Anweisung wird falsch interpretiert

Funktionen

  • Fehler 55871 – Falsches Ergebnis mit der Funktion intSum(), wenn ein Leerzeichen vor/nach der Zahl vorhanden ist. Beitrag von Milamber basierend auf einem Vorschlag von James Liang.

I18N

Allgemein

  • Fehler 55739 – Remote-Test: Die Gesamtzahl der Threads im GUI-Modus zeigt eine ungültige Gesamtzahl der Threads

Verbesserungen

HTTP-Sampler und Proxy

Andere Sampler

  • Fehler 55589 – JMS Publisher/Point to Point: Möglichkeit hinzugefügt, eingegebene Werte in JMS-Header-Eigenschaften festzulegen.

Controller

  • Fehler 55854 – Transaktionscontroller: Ändern Sie die Standardeigenschaft „Dauer des Timers einbeziehen…“ für neu erstellte Elemente

Zuhörer

  • Fehler 55610 – Ergebnisstruktur anzeigen: Fügen Sie einen XPath-Tester hinzu

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 55908 – Antwort-Assertion: Ändern Sie die Standardeinstellung der Musterabgleichsregeln bei der Erstellung auf „Substring“, um eine bessere Leistung zu erzielen
  • Fehler 54977 – Möglichkeit, den Client-Alias ​​für den Zertifikatsschlüssel in JsseSslManager auszuwählen, sodass das Testen der gegenseitigen SSL-Authentifizierung flexibler gestaltet werden kann. Beigesteuert von UBIK Load Pack (Unterstützung unter ubikloadpack.com)

Funktionen

I18N

Allgemein

  • Fehler 55693 – Option „Als Testfragment speichern“ hinzugefügt
  • Fehler 55753 – Verbessern Sie das FilePanel-Verhalten, um mit dem im Dateinamenfeld festgelegten Wert zu beginnen, falls vorhanden. Beigesteuert von UBIK Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 55756 – HTTP-Spiegelserver: Möglichkeit zum Festlegen von Headern hinzugefügt
  • Fehler 55852 – Seien Sie beim Parsen nachsichtiger, wenn der Zeichensatzwert von einfachen Anführungszeichen umgeben ist
  • Fehler 55857 – Leistung: AbstractProperty sollte auf Leerheit testen, um das Auslösen von Ausnahmen zu vermeiden
  • Fehler 55858 – Startleistung: Beim Start sollte BeanInfoSupport die Verfügbarkeit von Schlüsseln testen, anstatt zu werfen
  • Fehler 55865 – Leistung: Veraltete Prüfung standardmäßig in HttpClient 4 und 3.1 deaktivieren
  • Fehler 55512 – Summariser sollte standardmäßig im Nicht-GUI-Modus aktiviert sein

Nicht funktionale Änderungen

  • Aktualisiert auf rsyntaxtextarea-2.5.1.jar (von 2.5.0)
  • Aktualisiert auf jodd-core-3.4.9.jar von (3.4.8) und jodd-lagarto-3.4.9.jar (von 3.4.9)
  • Aktualisiert auf jsoup-1.7.3.jar (von 1.7.2)
  • Aktualisiert auf mail-1.5.0-b01 (von 1.4.4)
  • Aktualisiert auf mongo-java-driver-2.11.3 (von 2.11.2)

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • James Liang (jliang at andera.com)
  • UBIK Load Pack (Support unter ubikloadpack.com)

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:
  • John Natsioulas (john_natsioulas auf yahoo.com.au)
  • Antonio Gomes Rodrigues (ra0077 bei gmail.com)
Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Version 2.10

Zusammenfassung

Neu und bemerkenswert

Kernverbesserungen

Neue Leistungsverbesserungen

  • Bei Tests mit hohem Durchsatz (keine Pause) wurde eine enorme Leistungsverbesserung vorgenommen, siehe Fehler 54777
  • Ein Problem mit unnötigem Zurücksetzen des SSL-Kontexts wurde behoben, wodurch die Leistung reiner HTTP-Tests verbessert wird, siehe Fehler 55023
  • Wichtige Leistungsverbesserung beim Parsen eingebetteter Ressourcen in HTML-Seiten dank einer Umstellung auf JODD/Lagarto HTML Parser, siehe Bug 55632

Neuer CSS/JQuery-Tester in View Tree Results

Ein neuer CSS/JQuery-Tester in View Tree Results, der CSS/JQuery Extractor zu einem erstklassigen Bürger in JMeter macht, Sie können Ihre Ausdrücke jetzt sehr einfach testen

Es wurden viele Verbesserungen bei der HTTP(S)-Aufzeichnung vorgenommen

Das Testelement „HTTP Proxy Server“ wurde in „HTTP(S) Test Script Recorder“ umbenannt.

Sie können jetzt Test-MongoDB über die neue MongoDB-Quellkonfiguration laden

Kerberos-Authentifizierung wurde Auth Manager hinzugefügt

Gerät kann jetzt zusätzlich zur Quell-IP-Adresse verwendet werden

Sie können jetzt Funktionstests von MongoDB-Skripts über das neue MongoDB-Skript durchführen

Timeout wurde zu OS Process Sampler hinzugefügt

Der JDBC-Anfrage wurde ein Abfrage-Timeout hinzugefügt

Neue Funktionen (__urlencode und __urldecode) sind jetzt verfügbar, um URL-codierte Zeichen zu codieren/decodieren

Continuous Integration wird jetzt durch Hinzufügen eines neuen Flags erleichtert, das NON-GUI JVM dazu zwingt, nach Testende zu beenden

Siehe jmeter-Eigenschaft:

jmeterengine.force.system.exit

HttpSampler erlaubt jetzt, dass die Http-Methode DELETE einen Hauptteil hat (funktioniert für HC4- und HC31-Implementierungen). Dies ermöglicht beispielsweise das Testen von Elastic Search APIs

2 Implementierungen von HtmlParser wurden hinzugefügt, um die Analyse eingebetteter Ressourcen zu verbessern

Sie können die Implementierung auswählen, die zum Analysieren eingebetteter Ressourcen in HTML-Seiten verwendet werden soll: Siehe jmeter.properties und sehen Sie sich die Eigenschaft „htmlParser.className“ an.

  • org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser für optimale Leistung
  • org.apache.jmeter.protocol.http.parser.JSoupBasedHtmlParser für genaueste Analyse und Funktionstests

Verteiltes Testen wurde verbessert

  • Die Anzahl der Threads auf jedem Knoten wird jetzt an den Controller gemeldet.

  • Leistungsverbesserung auf BatchSampleSender ( Bug 55423 )
  • Hinzufügen von 2 SampleSender-Modi (StrippedAsynch und StrippedDiskStore), siehe jmeter.properties

ModuleController wurde verbessert, um Änderungen an referenzierten Controllern besser handhaben zu können

Verbesserte Konfiguration des Klassenladers, siehe Bug 55503

  • Neue Eigenschaft "plugin_dependency_paths" für Plugin-Abhängigkeiten
  • Die Properties "search_paths", "user.classpath" und "plugin_dependency_paths" fügen nun automatisch alle JARs aus konfigurierten Verzeichnissen hinzu

Der Abschnitt „Best Practices“ wurde verbessert, stellen Sie sicher, dass Sie ihn lesen, um das Beste aus JMeter herauszuholen

Siehe Best Practices

GUI- und Ergonomie-Verbesserungen

Neue Vorlagenfunktion, mit der Sie Testpläne aus vorhandenen Vorlagen erstellen oder Vorlagen mit Ihrem Testplan zusammenführen können

Workbench kann jetzt gespeichert werden

Skriptelementen (BeanShell, BSF und JSR223), MongoDB- und JDBC-Elementen wurde Syntaxfarbe hinzugefügt, wodurch der Code viel besser lesbar wird und UNDO/REDO über STRG+Z/CTRL+Y ermöglicht wird

BSF Sampler mit Syntaxfarbe

JSR223 Pre Processor mit Syntaxfarbe

Für Testelemente mit großem Textinhalt, wie HTTP Sampler, und JMS-bezogene Testelemente sind jetzt bessere Editoren verfügbar, die eine Zeilennummerierung bereitstellen und UNDO/REDO über STRG+Z/CTRL+Y ermöglichen

Die JMeter-GUI kann jetzt vollständig internationalisiert werden, alle verbleibenden Probleme wurden behoben

Derzeit sind alle Beschriftungen des Französischen übersetzt. Andere Sprachen sind teilweise übersetzt, zögern Sie nicht, Übersetzungen beizusteuern, indem Sie Lokalisierung (Übersetzerhandbuch) lesen.

Das Verschieben von Elementen im Testplan wurde in vielerlei Hinsicht verbessert

Das Ziehen und Ablegen von Elementen in der Testplanstruktur ist jetzt viel einfacher und auf mehreren Knoten möglich

Beachten Sie, dass Sie aufgrund dieses Fehlers in Java keinen Knoten nach dem letzten Knoten löschen können. Die Problemumgehung besteht darin, ihn vor diesem letzten Knoten abzulegen und dann den letzten Knoten vor dem gerade abgelegten per Drag-and-Drop abzulegen.

Neue Shortcuts wurden hinzugefügt, um Elemente im Baum zu verschieben.

(alt + Pfeil nach oben) und (alt + Pfeil nach unten) verschieben das Element innerhalb des übergeordneten Knotens
(alt + Pfeil nach links) und (alt + Pfeil nach rechts) verschieben das Element in der Baumtiefe nach oben und unten

Die Y-Achse des Reaktionszeitdiagramms kann jetzt skaliert werden

JUnit Sampler gibt jetzt mehr Details zu Konfigurationsfehlern

Bekannte Fehler

  • Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).
  • Listener zeigen keine Iterationszähler an, wenn ein If-Controller eine Bedingung hat, die von der ersten Iteration an immer falsch ist (siehe Bug 52496 ). Eine Problemumgehung besteht darin, einen Sampler auf derselben Ebene wie (oder höher) als den If-Controller hinzuzufügen. Zum Beispiel ein Testaktions-Sampler mit 0 Wartezeit (der kein Sample generiert) oder ein Debug-Sampler, bei dem alle Felder auf „False“ gesetzt sind (um die Sample-Größe zu reduzieren).
  • Der Webservice-Sampler berücksichtigt den HTTP-Antwortstatus nicht, um den Status einer Antwort zu berechnen, daher wird eine Antwort 500, die einen nicht leeren Text enthält, als erfolgreich betrachtet, siehe Bug 54006 . Um dieses Problem zu umgehen, stellen Sie sicher, dass Sie die Antwort immer lesen, und fügen Sie einen Antwort-Assertion-Überprüfungstext in die Antwort ein.
  • Die Zahlen, die links neben dem grünen Feld erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, diese gelten nur für einen lokal ausgeführten Test; sie enthalten keine Threads, die auf entfernten Systemen gestartet wurden, wenn der Client-Server-Modus verwendet wird (siehe Bug 54152 ).
  • Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:
    [Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
    
    Dies wirkt sich nicht auf den JMeter-Betrieb aus. Dieses Problem ist seit Java 7b05 behoben.
  • Bei Java 1.6 und Gnome 3 auf Linux-Systemen funktioniert das JMeter-Menü möglicherweise nicht korrekt (Wechsel zwischen Mausklick und Menü). Dies ist ein bekannter Java-Bug (siehe Bug 54477 ). Eine Problemumgehung besteht darin, eine Java 7-Laufzeitumgebung (OpenJDK oder Oracle JDK) zu verwenden.
  • Mit Oracle Java 7 und Mac Book Pro Retina Display kann die JMeter-GUI verschwommen aussehen. Dies ist ein bekannter Java-Bug, siehe Bug JDK-8000629 . Eine Problemumgehung besteht darin, eine Java 7 Update 40-Laufzeitumgebung zu verwenden, die dieses Problem behebt.

Inkompatible Änderungen

  • SMTP Sampler verwendet jetzt den Betreff der EML-Datei, wenn das Betrefffeld leer ist
  • Mit dieser Version wurde autoFlush auf dem PrintWriter, der für das Schreiben von Testergebnissen zuständig ist, abgeschaltet. Dies führt zu einem verbesserten Durchsatz für intensive Tests, kann jedoch im Falle eines JMeter-Absturzes (äußerst selten) zu einem größeren Verlust von Testdaten führen. Um zum vorherigen Verhalten zurückzukehren, setzen Sie die Eigenschaft jmeter.save.saveservice.autoflush auf true .
  • Die Tastenkombination für das Dialogfeld „Funktionshilfe“ lautet jetzt STRG+UMSCHALT+F1 (CMD+UMSCHALT+F1 für Mac OS) . Die ursprüngliche Tastenkombination (Strg+F1) funktionierte an einigen Stellen nicht (sie wird vom Java Swing ToolTipManager verwendet). Es war daher notwendig, die Verknüpfung zu ändern.
  • Webservice (SOAP) Request wurde standardmäßig aus der GUI entfernt, da Element veraltet ist. (Verwenden Sie HTTP Request with Body Data , siehe auch Template Building a SOAP Webservice Test Plan ), wenn Sie es anzeigen müssen, siehe Eigenschaft not_in_menu in jmeter.properties
  • Der Transaktionscontroller setzt jetzt den Antwortcode des generierten übergeordneten Samplers (wenn der generierte übergeordnete Sampler aktiviert ist) auf den Antwortcode des ersten fehlgeschlagenen untergeordneten Elements, falls eines der untergeordneten Elemente fehlschlägt. In früheren Versionen war der Antwortcode leer.
  • In früheren Versionen konnte IncludeController Testelemente ausführen, die sich innerhalb einer Thread Group befanden , dieses Verhalten ( das nicht dokumentiert wurde ) konnte zu einem seltsamen Verhalten führen, es wurde in dieser Version entfernt (siehe Bug 55464 ). Der korrekte Weg zum Einschließen von Testelementen ist die Verwendung von Testfragmenten , wie in der Dokumentation von Include Controller angegeben .
  • Der Wiederholungszähler für die Sampler HttpClient 3.1 und HttpClient 4.x wurde auf 0 geändert . Zuvor war der Standardwert 1, was zu unerwartetem zusätzlichem Datenverkehr führen konnte.
  • Ab dieser Version versucht der HTTP(S) Test Script Recorder zu erkennen, wenn ein Beispiel das Ergebnis einer vorherigen Weiterleitung ist. Wenn die aktuelle Antwort eine Umleitung ist, speichert JMeter die Umleitungs-URL. Wenn die nächste Anfrage empfangen wird, wird sie mit der gespeicherten Weiterleitungs-URL verglichen, und wenn es eine Übereinstimmung gibt, deaktiviert JMeter das generierte Beispiel. Um zum vorherigen Verhalten zurückzukehren, legen Sie die Eigenschaft proxy.redirect.disabling=false fest
  • Ab dieser Version erstellt der Rekorder in HTTP(S) Test Script Recorder , wenn Grouping auf Put each group in a new Transaction Controller eingestellt ist, Transaction Controller - Instanzen, bei denen Dauer des Timers und Pre-Post-Prozessoren in generiertes Beispiel einbeziehen auf „false“ gesetzt ist . Dieser Standardwert gibt die Antwortzeit genauer wieder.
  • Die Funktion __escapeOroRegexpChars (die ORO-reservierte Zeichen maskiert) schneidet den Wert nicht mehr ab (siehe Bug 55328 )
  • Die Datei commons-lang-2.6.jar wurde aus eingebetteten Bibliotheken im Ordner jmeter/lib entfernt , da sie von JMeter zur Laufzeit nicht benötigt wird (sie wird nur von Apache Velocity zum Generieren von Dokumentation verwendet). Wenn Sie ein Plugin oder Code von Drittanbietern verwenden, der davon abhängt, müssen Sie ihn im Ordner jmeter/lib hinzufügen

Fehlerbehebung

HTTP-Sampler und Proxy

  • Fehler 54627 – JMeter-Proxy-GUI: Typ der Sampler-Einstellung nimmt den gesamten Bildschirm ein, wenn es Sampler mit langen Namen gibt.
  • Fehler 54629 – HTMLParser extrahiert keine <object>-Tag-URLs.
  • Fehler 55023 – SSL-Kontext-Wiederverwendungsfunktion (51380) beeinträchtigt Leistung/Durchsatz von Nicht-SSL-Anforderungen. basierend auf einer Analyse von Brent Cromarty (brent.cromarty at yahoo.ca)
  • Fehler 55092 – Protokollmeldung „WARN – jmeter.protocol.http.sampler.HTTPSamplerBase: Null-URL erkannt (sollte nicht vorkommen)“, die angezeigt wird, wenn die eingebettete Ressourcen-URL falsch formatiert ist.
  • Fehler 55161 – Nutzlose Verarbeitung in SoapSampler.setPostHeaders. Beigesteuert von Adrian Nistor (nistor1 bei illinois.edu)
  • Fehler 54482 – HC kann Umleitungen mit nicht codierten Zeichen nicht folgen.
  • Fehler 54142 – HTTP-Proxy-Server löst eine Ausnahme aus, wenn der Pfad „|“ enthält Charakter.
  • Fehler 55388 – HC3 lässt nicht zu, dass das IP-Quellfeld httpclient.localaddress überschreibt.
  • Fehler 55450 – HEAD-Umleitungen sollten als HEAD bleiben
  • Fehler 55455 – HTTPS mit HTTPClient4 ignoriert die cps-Einstellung
  • Fehler 55502 – Proxy generiert leere http:/-Einträge beim Aufzeichnen
  • Fehler 55504 – Der Proxy gibt fälschlicherweise CONNECT-Anforderungen aus, wenn der Browser zum Überschreiben des Zertifikats auffordert
  • Fehler 55506 – Proxy sollte fehlgeschlagene Anfragen an alle konfigurierten Listener übermitteln
  • Fehler 55545 – HTTP-Proxy-Server-GUI sollte nicht zulassen, dass sowohl „Folgen“ als auch „Automatische Weiterleitung“ ausgewählt werden

Andere Sampler

  • Fehler 54913 – JMSPublisherGui stellt seinen Status fälschlicherweise wieder her. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 55027 – Regression der Testaktion, Dauerwert wird nicht aufgezeichnet (nächtlicher Build).
  • Fehler 55163 – BeanShellTestElement kann die Zeichenfolge beim Aufrufen von testStarted(String)/testEnded(String) nicht in Anführungszeichen setzen.
  • Fehler 55349 – NativeCommand hängt, wenn keine Eingabedatei angegeben ist und die Anwendung eine Eingabe anfordert.
  • Fehler 55462 – System Sampler sollte das Sampler-Label nicht ändern, wenn ein Sample fehlschlägt

Controller

  • Fehler 54467 – Schleifencontroller: Berechnung des Schleifenwerts nur einmal pro übergeordneter Iteration.
  • Fehler 54985 – Veranlassen Sie, dass der Transaktionscontroller den Antwortcode des generierten übergeordneten Samplers auf den Antwortcode des ersten fehlgeschlagenen untergeordneten Elements setzt, falls eines seiner untergeordneten Elemente fehlschlägt. Beigesteuert von Mikhail Epikhin (epihin-m at yandex.ru)
  • Fehler 54950 – ModuleController: Änderungen am referenzierten Modul werden nicht berücksichtigt, wenn Änderungen nach der ersten Ausführung vorgenommen werden und der referenzierte Knoten deaktiviert ist.
  • Fehler 55201 – ForEach-Controller schließt den Startindex aus und enthält den Endindex (geklärte Dokumentation).
  • Fehler 55334 – Das Hinzufügen eines Include-Controllers zu einem Testplan (der aus Include-Controllern besteht), ohne TestPlan zu speichern, führt dazu, dass der eingeschlossene Code bis zum Speichern nicht berücksichtigt wird.
  • Fehler 55375 – StackOverflowError mit ModuleController im Nicht-GUI-Modus, wenn sein Name mit dem des Zielknotens identisch ist.
  • Fehler 55464 – Include-Controller, der die eingeschlossene Thread-Gruppe ausführt

Zuhörer

  • Fehler 54589 – Die Baumansicht der Ergebnisse enthält viele unbrauchbare Zeichen, wenn die HTML-Seite Doppelbyte-Zeichensätze verwendet.
  • Fehler 54753 – StringIndexOutOfBoundsException bei SampleResult.getSampleLabel(), wenn key_on_threadname=false bei Verwendung des statistischen Modus.
  • Fehler 54685 – ArrayIndexOutOfBoundsException, wenn „sample_variable“ im Client, aber nicht im Server festgelegt ist.
  • Fehler 55111 – ViewResultsTree: Text nicht neu angepasst, wenn vertikale Bildlaufleiste erforderlich ist. Beigesteuert von Milamber

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 54540 – „HTML-Parametermaske“ ist im IHM nicht als veraltet gekennzeichnet.
  • Fehler 54575 – CSS/JQuery-Extraktor: Die Auswahl der JODD-Implementierung verwendet immer JSOUP.
  • Fehler 54901 – Response Assertion GUI verhält sich seltsam.
  • Fehler 54924 – XMLAssertion verwendet JMeter JVM file.encoding anstelle der Response-Encoding und bereinigt keine Threadlocal-Variable.
  • Fehler 53679 – Constant Throughput Timer-Fehler mit Lokalisierung. Gemeldet von Ludovic Garcia

Funktionen

I18N

  • Fehler 55437 – ComboStringEditor übersetzt keine EDIT- und UNDEFINED-Strings bei Sprachwechsel
  • Fehler 55501 – Falsche Codierung für die französische Beschreibung der __char-Funktion. Beigesteuert von Antonio Gomes Rodrigues (ra0077 at gmail.com)

Allgemein

  • Fehler 54504 – Ressourcenzeichenfolge nicht gefunden: [clipboard_node_read_error].
  • Fehler 54538 - GUI: Kontextmenü ist zu groß.
  • Fehler 54847 – Ausschneiden und Einfügen funktioniert nicht mit Baum-Mehrfachauswahl. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54870 – Ziehen und Ablegen von Bäumen kann Blattknoten verlieren (betroffener nächtlicher Build). Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 55056 – verschwendete Arbeit in Data.append(). Beigesteuert von Adrian Nistor (nistor1 bei illinois.edu)
  • Fehler 55129 – Änderung der Javadoc-Generierung gemäß CVE-2013-1571, VU#225657.
  • Fehler 55187 – Ganzzahlüberlauf bei der Berechnung von ONE_YEAR_MS im HTTP CacheManager.
  • Fehler 55208 – JSR223-Spracheinträge werden dupliziert; auf Kleinbuchstaben falten.
  • Fehler 55203 – TestBeanGUI – falsche Spracheinstellungen gefunden.
  • Fehler 55065 – Nutzlose Verarbeitung in Spline3.converge(). Beigesteuert von Adrian Nistor (nistor1 bei illinois.edu)
  • Fehler 55064 – Nutzlose Verarbeitung in ReportTreeListener.isValidDragAction(). Beigesteuert von Adrian Nistor (nistor1 bei illinois.edu)
  • Fehler 55242 – BeanShell-Client-JAR löst nach dem Upgrade auf 2.8 Ausnahmen aus.
  • Fehler 55288 – JMeter sollte standardmäßig 0 Wiederholungen für HTTP-Anforderungen verwenden.
  • Fehler 55405 – Ant download_jars-Aufgabe schlägt fehl, wenn lib/api oder lib/doc fehlen. Beigesteuert von Antonio Gomes Rodrigues.
  • Fehler 55427 – TestBeanHelper sollte Eigenschaften ignorieren, die nicht von GenericTestBeanCustomizer unterstützt werden
  • Fehler 55459 – Elemente, die ComboStringEditor verwenden, verlieren den Eingabewert, wenn der Benutzer ein anderes Testelement auswählt
  • Fehler 54152 – Beim verteilten Testen: activeThreads zeigen immer 0 in GUI und Summariser
  • Fehler 55509 – Ermöglicht Plugins, über den Fortschritt der Remote-Thread-Nummer benachrichtigt zu werden
  • Fehler 55572 – Das Detail-Popup des Parameters zeigt keine Bildlaufleiste an, wenn der Inhalt die Anzeige überschreitet
  • Fehler 55580 – Das Hilfefenster scrollt nicht zum Start für <a href="#">-Links
  • Fehler 55600 – JSyntaxTextArea: Seltsames Verhalten beim ersten Rückgängigmachen
  • Fehler 55655 – NullPointerException beim Remote-Stoppen /Shutdown aller, wenn eine Engine nicht korrekt gestartet wurde. Beigesteuert von UBIK Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 55657 – Der Status der Remote- und Local-Stop/Shutdown-Schaltflächen berücksichtigt nicht den Local/Remote-Status

Verbesserungen

HTTP-Sampler und Proxy

  • HTTP-Anforderung: Kleine Verbesserungen der Benutzerinteraktion im Detailfeld für Zeilenparameter. Beigesteuert von Milamber
  • Fehler 55255 – Body in der HTTP DELETE-Methode zulassen, um APIs zu unterstützen, die ihn verwenden (wie ElasticSearch).
  • Fehler 53480 – Hinzufügen von Kerberos-Unterstützung zu Http Sampler (HttpClient4). Basierend auf Patch von Felix Schumacher (felix.schumacher at internetallee.de)
  • Fehler 54874 – Unterstützt Gerät zusätzlich zur Quell-IP-Adresse. Basierend auf einem Patch von Dan Fruehauf (malkodan at gmail.com)
  • Fehler 55488 – Hinzufügen von .ico- und .woff-Dateierweiterungen zu standardmäßig vorgeschlagenen Ausschlüssen im Proxy-Recorder. Beigesteuert von Antonio Gomes Rodrigues
  • Fehler 55525 – Proxy sollte Alias ​​für Keyserver-Eintrag unterstützen
  • Fehler 55531 – Proxy-Aufzeichnung und Weiterleitungen. Code hinzugefügt, um umgeleitete Beispiele zu deaktivieren.
  • Fehler 55507 – Proxy-SSL-Aufzeichnung verarbeitet externe eingebettete Ressourcen nicht gut
  • Fehler 55632 – Habe eine neue Implementierung von htmlParser für das Parsen von eingebetteten Ressourcen mit besserer Leistung
  • Fehler 55653 – HTTP(S) Test Script Recorder sollte die TransactionController-Eigenschaft „Dauer des Timers und Pre-Post-Prozessoren in generiertes Beispiel einbeziehen“ auf „false“ setzen

Andere Sampler

  • Fehler 54788 – JMS Point-to-Point Sampler – GUI-Verbesserungen zur Verbesserung der Lesbarkeit und Benutzerfreundlichkeit. Beigesteuert von Bruno Antunes (bmantunes at gmail.com)
  • Fehler 54798 – Verwendung des Betreffs aus der EML-Datei für den SMTP-Sampler. Beigesteuert von Mikhail Epikhin (epihin-m at yandex.ru)
  • Fehler 54759 – SSLPeerUnverifiedException bei Verwendung von HTTPS, Eigenschaft dokumentiert.
  • Fehler 54896 – JUnit-Sampler gibt bei Konstruktorproblemen nur die Meldung „Fehler beim Erstellen einer Instanz der Klasse“ aus.
  • Fehler 55084 – Timeout-Unterstützung für JDBC-Anfrage hinzugefügt. Beigesteuert von Mikhail Epikhin (epihin-m at yandex.ru)
  • Fehler 55403 – Verbesserung des OS-Samplers: Unterstützung für Timeout
  • Fehler 55518 – Möglichkeit hinzugefügt, die Anzahl der zwischengespeicherten PreparedStatements pro Verbindung zu begrenzen, wenn der Abfragetyp „Prepared Select Statement“, „Prepared Update Statement“ oder „Callable Statement“ ausgewählt ist

Controller

  • Fehler 54271 – Modul-Controller bricht ab, wenn Testplan umbenannt wird.

Zuhörer

  • Fehler 54532 – Verbesserung der Y-Achsenskalierung des Reaktionszeitdiagramms mit großen oder kleinen Werten (< 1000 ms). Fügen Sie ein neues Feld hinzu, um den Inkrementmaßstab zu definieren. Beigesteuert von Milamber basierend auf dem Patch von Luca Maragnani (luca.maragnani at gmail.com)
  • Fehler 54576 – Ergebnisstruktur anzeigen: Fügen Sie einen CSS/JQuery-Tester hinzu.
  • Fehler 54777 – Verbesserung der Leistung des standardmäßigen ResultCollector. Basierend auf dem Patch von Mikhail Epikhin (epihin-m bei yandex.ru)
  • Fehler 55389 – IP-Quelladresse in Anforderungsdaten anzeigen

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 54789 – XPath-Assertion – GUI-Verbesserungen zur Verbesserung der Lesbarkeit und Benutzerfreundlichkeit.

Funktionen

  • Fehler 54991 – Funktionen zum Codieren/Decodieren von URL-codierten Zeichen (__urlencode und __urldecode) hinzugefügt. Beigesteuert von Milamber.

I18N

  • Fehler 55241 – Benötigen Sie einen GUI-Editor, um Felder zu verarbeiten, die auf Enums mit lokalisierten Anzeigezeichenfolgen basieren
  • Fehler 55440 – ComboStringEditor sollte zulassen, dass Tags sprachabhängig sind
  • Fehler 55432 – Die CSV-Datensatzkonfiguration verliert den Freigabemodus, wenn die Sprache gewechselt wird

Allgemein

  • Fehler 54584 – MongoDB-Plugin. Basierend auf dem Patch von Jan Paul Ettles (janpaulettles at gmail.com)
  • Fehler 54669 – Flag hinzugefügt, das Nicht-GUI-JVM zum Beenden nach dem Test zwingt. Beigesteuert von Scott Emmons
  • Fehler 42428 – Workbench nicht mit Testplan gespeichert. Beigesteuert von Dzmitry Kashlach (dzmitrykashlach at gmail.com)
  • Fehler 54825 – Verknüpfungen hinzugefügt, um Elemente im Baum zu verschieben. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54834 – Drag & Drop im Jmeter-Baum verbessert. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54839 – Legen Sie den Anwendungsnamen auf dem Mac fest. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54841 – Behandeln Sie die Verknüpfung zum Beenden unter Mac OS (CMD-Q) korrekt. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54844 – Stellen Sie das Anwendungssymbol auf Mac OS ein. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54864 – Aktivieren Sie das Ziehen und Ablegen der Mehrfachauswahl im Baum, ohne dass Sie mit dem Ziehen beginnen müssen, bevor Sie die Umschalt- oder Strg-Taste loslassen. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54945 – Shutdown Hook hinzugefügt, um das Fangen von Kill- oder STRG+C-Signalen zu ermöglichen.
  • Fehler 54990 – Laden Sie große Dateien herunter, um outOfMemory zu vermeiden.
  • Fehler 55085 – UX-Verbesserung: Möglichkeit, einen neuen Testplan aus Vorlagen zu erstellen. Beigesteuert von UBIK Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 55172 – Bieten Sie Plugins eine Möglichkeit, das Hauptmenü und Menüelemente hinzuzufügen.
  • Fehler 55202 – Syntaxfarbe für Skriptelemente (BeanShell, BSF und JSR223) und JDBC-Elemente mit RSyntaxTextArea hinzugefügt. Beigesteuert von Milamber basierend auf dem Patch von Marko Vlahovic (vlahovic74 at gmail.com)
  • Fehler 55175 – HTTPHC4Impl-Refaktorisierung, um eine bessere Vererbung zu ermöglichen.
  • Fehler 55236 – Vorlagen – Schaltfläche zum Neuladen von Vorlagendetails bereitstellen.
  • Fehler 55237 – Das Vorlagensystem sollte relative Dateinameneinträge unterstützen.
  • Fehler 55423 – BatchSampleSender: Reduzieren Sie die Locking-Granularität, indem Sie listener.processBatch außerhalb des synchronisierten Blocks verschieben
  • Fehler 55424 – Hinzufügen von Stripping zu bestehenden SampleSenders
  • Fehler 55451 – Testelement-GUI mit JSyntaxTextArea scrollt nach unten, wenn der Textinhalt lang genug ist, um eine Bildlaufleiste hinzuzufügen
  • Fehler 55513 – StreamCopier kann nicht mit System.err oder System.out verwendet werden, da es den Ausgabestream schließt
  • Fehler 55514 – SystemCommand sollte beliebige Eingabe- und Ausgabeströme unterstützen
  • Fehler 55515 – SystemCommand sollte das Verketten von Befehlen unterstützen
  • Fehler 55606 – Verwenden Sie JSyntaxtTextArea für HTTP-Anfragen, JMS-Testelemente
  • Fehler 55651 – Ändern Sie das JMeter-Anwendungssymbol in das Apache-Plume-Symbol

Nicht funktionale Änderungen

  • Aktualisiert auf jsoup-1.7.2
  • Fehler 54776 – Aktualisieren Sie die Abhängigkeit von Bouncy Castle auf 1.48. Beigesteuert von Emmanuel Bourg (ebourg at apache.org)
  • Aktualisiert auf HttpComponents Client 4.2.6 (von 4.2.3)
  • Aktualisiert auf HttpComponents Core 4.2.5 (von 4.2.3)
  • Aktualisiert auf Commons-Codec 1.8 (von 1.6)
  • Aktualisiert auf commons-io 2.4 (von 2.2)
  • Aktualisiert auf commons-logging 1.1.3 (von 1.1.1)
  • Aktualisiert auf commons-net 3.3 (von 3.1)
  • Aktualisiert auf jdom-1.1.3 (von 1.1.2)
  • Aktualisiert auf jodd-lagarto und jodd-core 3.4.8 (von 3.4.1)
  • Aktualisiert auf Juni 4.11 (von 4.10)
  • Aktualisiert auf slf4j-api 1.7.5 (von 1.7.2)
  • Aktualisiert auf tika 1.4 (von 1.3)
  • Aktualisiert auf xmlgraphics-commons 1.5 (von 1.3.1)
  • Aktualisiert auf xstream 1.4.4 (von 1.4.2)
  • Aktualisiert auf BouncyCastle 1.49 (von 1.48)
  • Fehler 54912 – JMeterTreeListener sollte Konstanten verwenden. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 54903 – Entfernen Sie die Abhängigkeit vom Aktivierungsframework. Beigesteuert von Emmanuel Bourg (ebourg at apache.org)
  • commons-lang (2.6) nach lib/doc verschoben, da es nur von Velocity benötigt wird.
  • Neu organisierte und vereinfachte NOTICE- und LICENSE-Dateien.
  • Fehler 55411 – NativeCommand könnte an anderer Stelle nützlich sein. Kopierter Code nach oajorphan.exec.
  • Fehler 55435 – ComboStringEditor konnte vereinfacht werden, um die meisten Einstellungen endgültig zu machen
  • Fehler 55436 – ComboStringEditor sollte ClearGui implementieren
  • Fehler 55463 – Component.requestFocus() wird nicht empfohlen; Verwenden Sie stattdessen requestFocusInWindow()
  • Fehler 55486 – Neues JMeter-Logo. Beigesteuert von UBIK Load Pack (Unterstützung unter ubikloadpack.com)
  • Fehler 55548 – Aufgeräumte Verwendung von TestElement.ENABLED; Verwenden Sie durchgehend TestElement.isEnabled()/setEnabled()
  • Fehler 55617 – Verbesserungen an der Jorphan-Sammlung. Beigesteuert von Benoit Wiart (benoit.wiart at gmail.com)
  • Fehler 55623 – Ungültige/unerwartete Konfigurationswerte sollten nicht stillschweigend ignoriert werden
  • Fehler 55626 – HTTP Proxy Server in HTTP(S) Test Script Recorder umbenennen

Vielen Dank

Wir danken allen Mitwirkenden, die oben in den Abschnitten zu Fehlern und Verbesserungen erwähnt wurden:

  • Bruno Antunes (bmantunes bei gmail.com)
  • Emmanuel Bourg (ebourg bei apache.org)
  • Scott Emmons
  • Mikhail Epikhin (epihin-m bei yandex.ru)
  • Dzmitry Kashlach (dzmitrykashlach bei gmail.com)
  • Luca Maragnani (luca.maragnani bei gmail.com)
  • Milamber
  • Adrian Nistor (nistor1 bei illinois.edu)
  • Antonio Gomes Rodrigues (ra0077 bei gmail.com)
  • UBIK Load Pack (Support unter ubikloadpack.com)
  • Benoit Wiart (benoit.wiart bei gmail.com)

Wir danken auch Fehlermeldern, die uns geholfen haben, JMeter zu verbessern.
Für diese Version möchten wir den folgenden Reportern für die klaren Berichte und Tests danken, die nach unseren Korrekturen durchgeführt wurden:
  • Immanuel Hayden (immanuel.hayden bei gmail.com)
  • Danny Lade (Mitglied bei web.de)
  • Brent Cromarty (brent.cromarty auf yahoo.ca)
  • Wolfgang Heider (wolfgang.heider at racon.at)
  • Shmuel Krakower (shmulikk bei gmail.com)
Entschuldigung, wenn wir noch jemanden ausgelassen haben.

Version 2.9

Neu und bemerkenswert

Kernverbesserungen:

* Ein neuer Extraktor, der CSS oder eine jquery-ähnliche Auswahlsyntax verwendet, wurde eingeführt, er ermöglicht die Verwendung von entweder JODD- oder JSOUP-Implementierungen

Ergebnis: der Titel der Seite in einer JMeter-Variablen

* JMeter kann jetzt verschiedene Arten von Dokumenten (PDF, MsOffice-Dateien, Dateien von Apache OpenOffice, …) innerhalb verschiedener Elemente verarbeiten

  • Regular Expression Extractor, extrahieren Sie Text aus Dokumenten
  • Assertion Response, Text in Dokumenten prüfen
  • Ergebnisbaum anzeigen, Dokumente als Text anzeigen

* Ein neuer Vorprozessor für Regex-Benutzerparameter, der das Einfügen von Namen und Werten von Eingabeparametern mithilfe einer Referenz ermöglicht, die von Regular Expression Extractor aus einer früheren Antwort extrahiert wurde

* TCP-Sampler: neue Optionen

TCP Sampler wurde um neue Optionen erweitert, um das Setzen von Close Connection , SO_LINGER und End of Line (EOL) Byte Werten zu ermöglichen

* Eine neue Funktion __escapeOroRegexpChars(,) wurde eingeführt, um ORO-Regexp-Metazeichen zu zitieren

* ForEach Controller: neue Felder

ForEach Controller hat jetzt 2 neue Felder, um den Start und das Ende der Schleife zu steuern

* Der Aktionshandler für den Ergebnisstatus hat jetzt eine neue Option zum Starten der nächsten Thread-Schleife.

* JMS Publisher: neue Option

JMS Publisher kann jetzt Bytes-Nachrichten senden

* Speicher- und Leistungsverbesserungen

In dieser Version wurden erhebliche Verbesserungen bei der Speichernutzung pro Thread und CPU vorgenommen, wenn mehr als ein Postprozessor als Kind eines Samplers verwendet wird

JSR223-Elemente (ermöglichen die Verwendung von Groovy, Scala, … als Skriptsprachen) wurden verbessert, um das Zwischenspeichern von Kompilierungsergebnissen zu ermöglichen, wenn Skripte im Textbereich übergeben werden

Einige Konfigurationsstandards wurden geändert, um die Leistung standardmäßig zu verbessern (siehe Fehler 54412 ), siehe Beschreibung im Abschnitt „Neu und bemerkenswert“.

  • Verteilte Tests verwenden jetzt MODE_STRIPPED_BATCH, das Proben im Stapelmodus zurückgibt (standardmäßig alle 100 Proben oder jede Minute). Beachten Sie auch, dass MODE_STRIPPED_BATCH Antwortdaten aus SampleResult entfernt. Wenn Sie sie also benötigen, wechseln Sie in einen anderen Modus (Mode-Eigenschaft in jmeter.properties).
  • Ergebnisdaten werden jetzt standardmäßig in CSV gespeichert (jmeter.save.saveservice.output_format in jmeter.properties)

* XPath Assertion ermöglicht jetzt die Verwendung einer JMeter-Variablen als Eingabe

GUI- und Ergonomie-Verbesserungen:

* Die Suchfunktion wurde verbessert, um in mehr internen Feldern von Elementen zu suchen und die Suchergebnisse zu erweitern

* Kopieren/Einfügen ist jetzt zwischen 2 JMeter-Instanzen >= Version 2.9 möglich

Kopieren Sie Element(e) aus einer JMeter-Instanz:

Fügen Sie Element(e) in eine zweite JMeter-Instanz ein:

* HTTP-Header-Manager

Kopieren aus der Zwischenablage in das HeaderPanel zulassen, Header sollen durch Zeilenumbruch getrennt werden und die Form Name:Wert haben

* Modul-Controller

Der Modul-Controller wurde verbessert, um referenzierte Controller besser darzustellen und durch Klicken auf eine neue Schaltfläche zu erweitern

* HTTP-Proxy-Server

Der HTTP-Proxyserver verfügt jetzt über eine Schaltfläche zum Hinzufügen einer Reihe von Standardausschlüssen für URL-Muster. Diese Liste kann über die Eigenschaft konfiguriert werden: proxy.excludes.suggested

* Das Rendern des Zielcontrollers wurde im HTTP-Proxy-Server verbessert

HTTP-Proxy-Server-Aufzeichnung:

* Der HTTP-Proxy-Server verwendet jetzt automatisch den HTTP-Request mit Raw-Post-Body-Modus für Beispiele, die nur ein unbenanntes Argument haben (JSON, XML, GWT, …)

* Der HTTP-Proxy-Server zwingt den Benutzer nicht, den Sampler-Typ in den HTTP-Sampler-Einstellungen auszuwählen, dies ermöglicht einen einfacheren Wechsel zwischen Implementierungen, da Sampler diese Informationen nicht mehr haben

* Die SamplerCreator-Schnittstelle wurde erweitert, um neue Anforderungen für Plug-in-Anbieter zu erfüllen

* Es ist jetzt möglich, einen binären Sampler für x-www-form-urlencoded POST-Anforderungen zu erstellen, indem die Eigenschaft proxy.binary.types geändert wird , um application/x-www-form-urlencoded hinzuzufügen

* Verbesserte automatische Erkennung des Zeitstempelformats beim Lesen von CSV-Dateien

Bekannte Fehler

Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Listener zeigen keine Iterationszähler an, wenn ein If-Controller eine Bedingung hat, die von der ersten Iteration an immer falsch ist (siehe Bug 52496 ). Eine Problemumgehung besteht darin, einen Sampler auf derselben Ebene wie (oder höher) als den If-Controller hinzuzufügen. Zum Beispiel ein Testaktions-Sampler mit 0 Wartezeit (der kein Sample generiert) oder ein Debug-Sampler, bei dem alle Felder auf „False“ gesetzt sind (um die Sample-Größe zu reduzieren).

Der Webservice-Sampler berücksichtigt den HTTP-Antwortstatus nicht, um den Status einer Antwort zu berechnen, daher wird eine Antwort 500, die einen nicht leeren Text enthält, als erfolgreich betrachtet, siehe Bug 54006 . Um dieses Problem zu umgehen, stellen Sie sicher, dass Sie die Antwort immer lesen, und fügen Sie einen Antwort-Assertion-Überprüfungstext in die Antwort ein.

Das Ändern der Sprache kann einen Teil der Konfiguration der folgenden Elemente unterbrechen (siehe Bug 53679 ):

  • CSV Data Set Config (Freigabemodus geht verloren)
  • Konstanter Durchsatz-Timer (Berechnen Sie den Durchsatz basierend auf wird verloren gehen)

Die Zahlen, die links neben dem grünen Feld erscheinen, sind die Anzahl der aktiven Threads / Gesamtzahl der Threads, diese gelten nur für einen lokal ausgeführten Test; sie enthalten keine Threads, die auf entfernten Systemen gestartet wurden, wenn der Client-Server-Modus verwendet wird (siehe Bug 54152 ).

Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:

[Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
 java.util.prefs.BackingStoreException:
 java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
Dies wirkt sich nicht auf den JMeter-Betrieb aus.

Inkompatible Änderungen

JMeter erfordert jetzt eine Java 6-Laufzeitumgebung oder höher.

Einige Konfigurationsstandards wurden geändert, um die Leistung standardmäßig zu verbessern (siehe Bug 54412 ), siehe Beschreibung im Abschnitt „Neu und bemerkenswert“.

Der Webservice-Sampler fügt jetzt hinzu, dass die Header angefordert werden, die über den Header-Manager festgelegt wurden. Diese wurden zuvor ignoriert

Die Eigenschaft jdbcsampler.cachesize wurde entfernt, sie begrenzte zuvor die Größe eines Caches pro Verbindung von Map < String, PreparedStatement > , sie begrenzte auch die Größe dieser Map, die das PreparedStatement für SQL-Abfragen enthielt. Diese Einschränkung verursachte einen Fehler Bug 53995 . Es wurde entfernt, sodass die Größe dieser beiden Karten nicht mehr begrenzt ist. Diese Änderung ändert das Verhalten, da ab dieser Version kein PreparedStatement während des Tests geschlossen wird.

Ab dieser Version gibt es einige wichtige Änderungen an JSR223-Testelementen:

  • JSR223-Testelemente mit einem ungültigen Dateinamen (nicht vorhanden oder nicht lesbar) führen dazu, dass der Test fehlschlägt, anstatt dass das Element im Hintergrund funktioniert
  • In JSR223-Testelementen: responseCodeOk, responseMessageOK und erfolgreich werden gesetzt, bevor das Skript ausgeführt wird, wenn responseData gesetzt ist, wird es nicht mehr durch ein toString() auf dem Skript-Rückgabewert überschrieben

Der Ergebnisbaum betrachtet Antworten mit fehlendem Inhaltstyp jetzt als Text.

Im Remote-Testmodus wird JMeter jetzt fehlerhaft beendet, wenn eine der Remote-Engines nicht konfiguriert werden kann, zuvor hat es den Test mit verfügbaren Engines gestartet.

Fehlerbehebung

HTTP-Sampler und Proxy

  • Protokollieren Sie keine falschen Warnmeldungen, wenn Sie gleichzeitig eingebettete Pool-Downloads mit Cache Manager oder CookieManager verwenden
  • Fehler 54057 – Proxy-Option zum Festlegen von Benutzer und Passwort beim Start (-u und -a) funktioniert nicht mit HTTPClient 4
  • Fehler 54187 – Die Registerkarte „Anfrage“ zeigt keine Kopfzeilen an, wenn die Anfrage fehlschlägt
  • Fehler 53840 – Proxy-Aufzeichnung: Antwortnachricht: URLDecoder: Unzulässige Hexadezimalzeichen im Escape-Muster (%) – Für Eingabezeichenfolge: „“ „
  • Fehler 54351 – HC4- und URI-Fragmente schlagen fehl

Andere Sampler

  • Fehler 53997 – Erweiterte LDAP-Anforderung: Escapezeichen für kaufmännisches Und (&), linke spitze Klammer (<) und rechte spitze Klammer (>) im Suchfilter-Tag in XML-Antwortdaten
  • Fehler 53995 – AbstractJDBCTestElement teilt PreparedStatement zwischen mehreren Threads
  • Fehler 54119 – HTTP 307-Antwort wird nicht umgeleitet
  • Fehler 54326 – AjpSampler send file in post löst FileNotFoundException aus
  • Fehler 54331 – AjpSampler wirft einen Nullzeiger auf GET-Anfragen, die geschützt sind

Controller

Zuhörer

  • Fehler 54088 – Der Typ video/f4m ist Text, nicht binär
  • Fehler 54166 – ViewResultsTree konnte die HTML-Antwort nicht darstellen: Behandle Fehler beim Analysieren von HTML
  • Fehler 54287 – Falscher Zeitstempel im Antwortzeitdiagramm, wenn ein Datum mit Uhrzeit im Datumsformatfeld verwendet wird
  • Fehler 54451 – Antwortzeitdiagramm zeigt falsche Zeiten an, wenn es viele Samples für die gleiche Zeit gibt
  • Fehler 54459 – CSVSaveService handhabt die Datumsanalyse nicht sehr gut

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 54058 – In den HTTP-Anforderungsvorgaben wird der Wert des Felds „Eingebettete URLs müssen übereinstimmen:“ nicht gespeichert, wenn das Kontrollkästchen „Alle eingebetteten Ressourcen abrufen“ nicht aktiviert ist.
  • Bug 54375 – Regular Expression Extractor: Wenn die Regex-Syntax falsch ist, wird die Nachbearbeitung gestoppt

Funktionen

I18N

Allgemein

  • Fehler 53975 – Variablenersetzung funktioniert nicht mit Option „Thread-Erstellung verzögern, bis sie benötigt wird“
  • Fehler 54055 – Ergebnisbaum anzeigen: = Zeichen werden von Parameterwerten auf der Registerkarte „HTTP“ entfernt
  • Fehler 54129 – Die Suchfunktion findet keinen Text, obwohl er in Elementen vorhanden ist
  • Fehler 54023 – JMeter kann nicht aus einem Stammverzeichnis gestartet werden und wenn der vollständige Pfad der JMeter-Installation ein oder mehrere Leerzeichen enthält (Unix/Linux)
  • Fehler 54172 – Doppelte Tastenkombination funktioniert nicht und STRG+C / STRG+V / STRG+V bricht das Standardereignis nicht ab
  • Fehler 54057 – Proxy-Option zum Festlegen von Benutzer und Passwort beim Start (-u und -a) funktioniert nicht mit HTTPClient 4
  • Fehler 54267 – Die Einstellung Nächste Thread-Schleife starten funktioniert nicht in benutzerdefinierten Thread-Gruppen
  • Fehler 54413 – DataStrippingSampleSender gibt 0 für die Anzahl der Bytes jeder Antwort zurück

Verbesserungen

HTTP-Sampler

  • Fehler 54185 – Abfragezeichenfolgen in Pfaden zulassen, die mit HTTP oder HTTPS beginnen

Andere Sampler

  • Bug 54004 – Webservice Sampler: Erlaube das Hinzufügen von Headern zur Anfrage mit Header Manager
  • Fehler 54106 – JSR223TestElement sollte prüfen, ob eine Datei vorhanden ist, wenn ein Dateiname festgelegt wird, anstatt den Inhalt des Textbereichs zu verwenden
  • Fehler 54107 – JSR223TestElement: Kompilierung und Zwischenspeicherung von Skripttext aktivieren
  • Fehler 54109 – JSR223TestElement: SampleResult-Eigenschaften sollten festgelegt werden, bevor das Skript eingegeben wird, damit der Benutzer einen anderen Code festlegen kann
  • Fehler 54230 – TCP-Sampler, Hinzufügung der Optionen „Close Connection“, „SO_LINGER“ und „End of Line (EOL) byte value“.
  • Fehler 54182 – Unterstützt das Senden von ByteMessage für JMS Publisher.

Controller

  • Fehler 54131 – ForEach-Controller: Start- und Endindex zum Schleifen über Variablen hinzugefügt
  • Fehler 54132 – Modul-Controller-GUI: Verbesserte Darstellung des referenzierten Controllers
  • Fehler 54155 – ModuleController: Fügen Sie eine Verknüpfungsschaltfläche hinzu, um den Baum bis zum referenzierten Controller aufzuklappen und hervorzuheben

Zuhörer

  • Bug 54200 – Unterstützung mehrerer Dokumenttypen (wie Apache OpenOffice-Dateien, MS Office-Dateien, PDF-Dateien usw.) zu den Elementen View Results Tree, Assertion Response und Regular Expression Extractor (unter Verwendung von Apache Tika) hinzugefügt
  • Fehler 54226 – Ergebnisstruktur anzeigen: Antwort wird angezeigt, auch wenn der Server den ContentType-Header nicht zurückgibt

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 54259 – Führen Sie einen neuen Extraktor ein, der CSS oder eine jquery-ähnliche Auswahlsyntax verwendet
  • Fehler 45772 – Postprozessor für RegEx-Benutzerparameter
  • Fehler 54160 – Unterstützung für xpath-Assertion zur Anwendung auf eine JMeter-Variable hinzugefügt.

Funktionen

I18N

Allgemein

  • Fehler 54005 – HTTP-Spiegelserver: Fügen Sie spezielle Header „X-“ hinzu, um den Antwortstatus und den Antwortinhalt zu steuern
  • Fehler 53875 – Füge vorgeschlagene Standardwerte für URL-Filter auf dem HTTP-Proxy hinzu
  • Fehler 54031 – Tooltip zur Anzeige für laufende/gesamte Threads hinzugefügt
  • Webservice (SOAP) Request ist veraltet
  • Fehler 54161 – Proxy: Binär-Sampler für x-www-form-urlencoded POST-Anfrage erstellen können
  • Fehler 54154 – Der HTTP-Proxyserver sollte den Benutzer nicht zwingen, den Typ des Samplers in den HTTP-Sampler-Einstellungen auszuwählen
  • Fehler 54165 – Proxy-Server: Verbesserte Darstellung des Zielcontrollers
  • Fehler 46677 – Kopieren von Testelementen zwischen Testplänen
  • Fehler 54204 – Aktionshandler für den Ergebnisstatus: Option zum Starten der nächsten Thread-Schleife hinzugefügt
  • Fehler 54232 – Suchfunktion: Hinzufügen einer Schaltfläche zum Suchen und Erweitern der Ergebnisse
  • Fehler 54251 – Tristate-Checkbox-Implementierung hinzugefügt
  • Fehler 54257 – Verbesserte SamplerCreator-Schnittstelle, um neue Anforderungen zu erfüllen
  • Fehler 54258 – Proxy: Verwenden Sie Raw Post Body, wenn Sampler ein unbenanntes Argument hat, nützlich für Sampler, die die POST-Methode vom Typ JSON, XML, GWT-Body verwenden
  • Fehler 54268 – Verbesserung der CPU- und Speicherauslastung
  • Fehler 54376 – ScopePanel: Erlaube die genauere Konfiguration von Scopes
  • Fehler 54412 – Ändern der JMeter-Standardeinstellungen, um standardmäßig eine bessere Leistung zu gewährleisten
  • Fehler 54414 – Remote-Test sollte nicht starten, wenn einer der Engines nicht richtig startet

Nicht funktionale Änderungen

  • Fehler 53956 – Möglichkeit zum Einfügen (einer Liste von Werten) aus der Zwischenablage für den Kopfzeilen-Manager hinzugefügt
  • Aktualisiert auf HttpComponents Client 4.2.3 (von 4.2.1)
  • Aktualisiert auf HttpComponents Core 4.2.3 (von 4.2.2)
  • Fehler 54110 – BSFTestElement und JSR223TestElement sollten gemeinsam genutzte Superklassen für gemeinsame Felder verwenden
  • Fehler 54199 – Wechseln Sie zu Java 6
  • Upgrade auf rhino 1.7R4

Version 2.8

Neu und bemerkenswert

Kernverbesserungen:

Thread-Gruppe: Neue Option Thread-Erstellung verzögern, bis sie benötigt wird

Neue Option „Thread-Erstellung verzögern, bis sie benötigt wird“, die Threads bei Bedarf erstellt und startet, anstatt sie beim Start des Tests zu erstellen.
Diese neue Funktion ermöglicht das Ausführen von Tests mit einer großen Anzahl kurzlebiger Threads.

HTTP-Cookie-Manager (IPv6-Unterstützung)

Fügen Sie die HTTPClient 4-Cookie-Implementierung in JMeter hinzu.
Cookie Manager hat jetzt die standardmäßige HC3.1-Implementierung und eine neue HC4-Implementierung (kompatibel mit IPv6-Adresse)

Speicher- und Leistungsverbesserungen

In dieser Version wurden erhebliche Verbesserungen bei der Speichernutzung von JMeterThread vorgenommen

JSR223-Elemente (ermöglichen die Verwendung von Groovy, Scala, … als Skriptsprachen) wurden verbessert, um Folgendes zu ermöglichen:

  • Verwendung der kompilierbaren Schnittstelle, falls verfügbar, um die CPU-Auslastung zu steigern
  • Zwischenspeichern der Kompilierung, wenn Skripte als Dateien verwendet werden
Siehe Versionenübergreifende JMeter-Leistungen

Betriebssystem-Prozess-Sampler

Definieren von Dateien für stdout/stderr/stdin zulassen.

HTTP-Anforderung: PATCH-Verb

PATCH-Verb zum HTTP-Sampler hinzufügen

HTTP-Anforderung: HTTPClient 4 ist jetzt die Standardimplementierung

HTTPClient 4 ist jetzt die standardmäßige HTTP-Request-Implementierung (und für das Proxy-Element beim Generieren von HTTP-Requests).
Zuvor war die HTTP-Java-Implementierung (d. h. die von der JVM bereitgestellte Implementierung) der Standardwert.

HTTP-Anfrage

Eingebetteten URL-Filter zur Standardsteuerung für HTTP-Anforderungen hinzufügen (war bereits für HTTP-Anforderungen vorhanden)

Sonstig

  • CSV-Datensatz: Eingebettete neue Zeilen werden jetzt in zitierten Daten unterstützt
  • JMX-Dateien enthalten jetzt die Version von JMeter, die die Datei erstellt hat
  • Die JMeter-Version ist jetzt als Eigenschaft "jmeter.version" verfügbar

Berichtsverbesserungen:

Reaktionszeitdiagramm

Fügen Sie ein neues Reaktionszeitdiagramm des Visualizers hinzu, um ein Liniendiagramm zu zeichnen, das die Entwicklung der Reaktionszeit für einen Test zeigt

Einstellungen für Reaktionszeitdiagramm

Ergebnisse in Tabelle anzeigen

Fügen Sie dem View Result in Table Listener Latenz hinzu

Aggregiertes Diagramm

Kleine Verbesserungen: Legende links oder rechts ist jetzt auf 1 Spalte (statt 1 große Zeile), …

GUI- und Ergonomie-Verbesserungen:

Vereinfachungen des HTTP-Proxy-Servers

HTTPS-Spoofing-Optionen wurden aus Proxy entfernt, da die HTTPS-Aufzeichnung seit JMeter 2.4 direkt verfügbar ist.

HTTP-Proxy-Server

Das Einfügen von URL-Filtern aus der Zwischenablage zulassen

Finden Sie in JMeter

STRG + F für die neue Suchfunktion

Die ESC-Taste schließt jetzt Popups.

Benutzeroberfläche in GNOME 3

Zeigen Sie den Titel „Apache JMeter“ in der App-Titelleiste in Gnome 3 an

Bekannte Fehler

Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Listener zeigen keine Iterationszähler an, wenn ein If-Controller eine Bedingung hat, die von der ersten Iteration an immer falsch ist (siehe Bug 52496 ). Eine Problemumgehung besteht darin, einen Sampler auf derselben Ebene wie (oder höher) als den If-Controller hinzuzufügen. Zum Beispiel ein Testaktions-Sampler mit 0 Wartezeit (der kein Sample generiert) oder ein Debug-Sampler, bei dem alle Felder auf „False“ gesetzt sind (um die Sample-Größe zu reduzieren).

Das Ändern der Sprache kann einen Teil der Konfiguration der folgenden Elemente unterbrechen (siehe Bug 53679 ):

  • CSV Data Set Config (Freigabemodus geht verloren)
  • Konstanter Durchsatz-Timer (Berechnen Sie den Durchsatz basierend auf wird verloren gehen)

Beachten Sie, dass es auf einigen Linux-Systemen einen Fehler in Java gibt, der sich als folgender Fehler manifestiert, wenn die Testfälle oder JMeter selbst ausgeführt werden:

[Java] WARNUNG: Benutzereinstellungen konnten nicht geleert werden:
 java.util.prefs.BackingStoreException:
 java.lang.IllegalArgumentException: Nicht unterstützt: Einzugsnummer
Dies wirkt sich nicht auf den JMeter-Betrieb aus.

Inkompatible Änderungen

Bei Verwendung von CacheManager speichert JMeter jetzt Antworten für GET-Abfragen im Cache, sofern der Header Cache-Control sich von „no-cache“ unterscheidet, wie in der Spezifikation beschrieben. Außerdem werden keine veralteten Einträge für "No-Cache"-Antworten mehr im Cache abgelegt. Siehe Fehler 53521 und Fehler 53522

Bei JSR223-Testelementen ist eine wesentliche Änderung aufgetreten. Früher wurden Variablen, die vor der Skriptausführung eingerichtet wurden, in ScriptEngineManager gespeichert, der einmal pro Ausführung erstellt wurde. Jetzt ist ScriptEngineManager ein Singleton, das von allen JSR223-Elementen gemeinsam genutzt wird, und nur ScriptEngine wird einmal pro Ausführung erstellt, Variablen werden eingerichtet vor der Skriptausführung werden jetzt in Bindings gespeichert, die bei jeder Ausführung erstellt werden, siehe Bug 53365 .

JSR223 Testelemente, die eine Skriptdatei verwenden, werden jetzt kompiliert, wenn ScriptEngine diese Funktion unterstützt, siehe Bug 53520 .

Die Verknüpfung für den Funktionshilfedialog ist jetzt STRG+F1 (CMD+F1 für Mac OS), STRG+F (CMD+F1 für Mac OS) öffnet jetzt den Suchdialog.

Standardmäßig speichert der TestCompiler jetzt Details darüber, welche Paare er in Controller-Instanzen gesehen hat, anstatt in einem statischen Set. [ Bug 53796 ] Dies ergibt ein viel besseres Speicherverhalten für Testpläne mit verzögertem Start, da der verwendete Speicher proportional zur Anzahl gleichzeitiger Threads ist. Beim statischen Set war die Speichernutzung proportional zur Gesamtanzahl der Threads. Es ist sehr unwahrscheinlich, dass diese Änderung ein Problem verursacht. Das ursprüngliche Verhalten kann durch Setzen der Eigenschaft TestCompiler.useStaticSet=true wiederhergestellt werden

HTTPS-Spoofing-Optionen wurden aus Proxy entfernt, da die HTTPS-Aufzeichnung seit JMeter 2.4 direkt verfügbar ist.

Fehlerbehebung

HTTP-Sampler und Proxy

  • Fehler 53521 – Cache Manager sollte Inhalte mit Cache-control=private zwischenspeichern
  • Fehler 53522 – Der Cache-Manager sollte überhaupt keine Antworten mit dem Header „no-cache“ speichern und andere Arten von Cache-Control mit einem Wert für das maximale Alter speichern
  • Fehler 53838 – Das Drücken von „Stopp“ unterbricht den TCP-Sampler nicht
  • Fehler 53911 – JmeterKeystore lässt keine Keydowns in der Liste der Zertifikate zu

Andere Sampler

  • Fehler 53348 – JMeter JMS Point-to-Point Request-Response Sampler funktioniert nicht, wenn Request-Queue und Receive-Queue unterschiedlich sind
  • Fehler 53357 – JMS Point to Point meldet zu hohe Antwortzeiten im Request-Response-Modus
  • Fehler 53440 – SSL-Verbindung führt zu ArrayStoreException auf JDK 6 mit einigen KeyManagerFactory-SPI
  • Fehler 53511 – Zugriffsprotokoll-Sampler SessionFilter löst NullPointerException aus – Cookie-Manager nicht richtig initialisiert
  • Fehler 53715 – JMeter lädt WSDL nicht

Controller

Zuhörer

  • Fehler 53742 – Wenn jmeter.save.saveservice.sample_count auf „true“ gesetzt ist, ist die vom Listener gelesene verstrichene Zeit immer gleich 0
  • Fehler 53774 – RequestViewRaw zeigt keine Header an, es sei denn, samplerData ist nicht null
  • Fehler 53802 – IdleTime-Werte werden nicht im CSV-Protokoll gespeichert
  • Fehler 53874 – Ergebnisbaum anzeigen: Wenn einige Parameter, die Sonderzeichen wie % enthalten, nicht codiert sind, schlägt RequestViewHTTP mit java.lang.IllegalArgumentException fehl: URLDecoder: Unzulässige Hexadezimalzeichen im Escape-Muster (%) und die Antwort wird nicht angezeigt

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 51512 – Cookies werden nicht in HTTP-Anforderungen mit IPv6-Host-Header eingefügt

Funktionen

I18N

Allgemein

  • Fehler 53365 – JSR223TestElement sollte ScriptEngineManager zwischenspeichern
  • Fehler 53520 – JSR223-Elemente: Verwenden Sie die kompilierbare Schnittstelle, um die Leistung von Dateiskripten zu verbessern
  • Fehler 53501 – Synchronisierungszeitgeber blockiert Testende.
  • Fehler 53750 – TestCompiler speichert unnötige Einträge in der Kopplungssammlung
  • Fehler 52266 – Code: Inkonsistente Synchronisierung
  • Fehler 53841 – CSVSaveService liest die Datei mit der JVM-Standarddateicodierung, anstatt die in saveservice.properties konfigurierte zu verwenden
  • Fehler 53953 Neu: Tippfehler in der Dokumentation des Überwachungstestplans

Verbesserungen

HTTP-Sampler

  • Fehler 53675 – PATCH-Verb zum HTTP-Sampler hinzugefügt
  • Fehler 53931 – Definieren Sie HTTPClient 4 für die Standard-HTTP-Anforderung (und das Proxy-Element zum Generieren der HTTP-Anforderungen). Vor dem Standard war es der HTTP Java Sampler
  • Fehler 53934 – Entfernt HTTPS-Spoofing-Optionen in JMeter HTTP Proxy Server. Seit JMeter 2.4 wird das HTTPS-Protokoll direkt vom Proxy unterstützt

Andere Sampler

  • Fehler 55310 – TestAction sollte Interruptible implementieren
  • Fehler 53318 – Eingebetteten URL-Filter zur Standardsteuerung für HTTP -Anforderungen hinzugefügt
  • Fehler 53782 – Verbesserte JavaSampler-Handhabung der JavaSamplerClient-Bereinigung, um weniger Speicher zu verwenden
  • Fehler 53168 – Betriebssystemprozess – Angabe von stdout/stderr/stdin zulassen
  • Fehler 53844 – JDBC-bezogene Elemente sollten die Klasse des Variablennamens prüfen, die die JDBC-Verbindungskonfiguration enthalten soll, um ClassCastException zu vermeiden

Controller

  • Fehler 53671 – TearDown-Thread-Gruppe wird ausgeführt, selbst wenn ein Shutdown-Test stattfindet

Zuhörer

  • Fehler 53566 – Keine Teilantworten im jmeter-Protokoll protokollieren
  • Fehler 53716 - Kleine Verbesserungen im Gesamtdiagramm: Legende links oder rechts ist jetzt auf 1 Spalte (statt 1 große Linie), kein Rahmen um die quadratische Farbe der Referenz, Breite bei einigen Feldern reduzieren
  • Fehler 53718 – Fügen Sie einen neuen Visualizer „Antwortzeitdiagramm“ hinzu, um ein Liniendiagramm zu zeichnen, das die Entwicklung der Antwortzeit für einen Test zeigt
  • Fehler 53738 – Verfolgen Sie die Anzahl der gestarteten und beendeten Threads
  • Fehler 53753 – Zusammenfassung: In den meisten Fällen macht es keinen Sinn, Bruchteile der Zeit anzuzeigen
  • Fehler 53749 - TestListener-Schnittstelle könnte möglicherweise aufgeteilt werden. Dies sollte die Speicheranforderungen und die Verarbeitung pro Thread reduzieren, da nur noch Testelemente verarbeitet werden müssen, die tatsächlich die testIterationStart-Funktionalität verwenden.
  • Fehler 53941 – Latenz zum Listener für Ergebnistabellen anzeigen hinzugefügt

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 53755 – Hinzufügen einer HttpClient 4-Cookie-Implementierung in JMeter. Cookie Manager hat jetzt die standardmäßige HC3.1-Implementierung und eine neue HC4-Implementierung (kompatibel mit IPv6-Adresse)

Funktionen

  • Fehler 51527 – Funktion __time(): füge eine weitere Option zu __time() hinzu, um *Sekunden* seit der Epoche bereitzustellen

I18N

Allgemein

  • Fehler 53364 – Liste der Funktionen im Funktionshilfe-Dialog sortieren
  • Fehler 53418 – Neue Option „Thread-Erstellung verzögern, bis sie benötigt wird“, die Threads bei Bedarf erstellt und startet, anstatt sie beim Teststart zu erstellen
  • Fehler 42245 – Klare Kennwörter im HTTP-Autorisierungs-Manager anzeigen
  • Fehler 53616 – Anzeige des Titels „Apache JMeter“ in der App-Titelleiste in Gnome 3
  • Fehler 53759 – ClientJMeterEngine führt eine unnötige Traverse mit SearchByClass(TestListener) durch
  • Fehler 52601 – STRG + F für die neue Suchfunktion
  • Fehler 53796 – TestCompiler verwendet statisches Set, das sehr groß werden kann
  • Fehler 53673 – JMeter-Version in der jmx-Datei hinzugefügt
  • Unterstützung für HeapDump zum Nicht-GUI- und GUI-Client von JMeter hinzugefügt
  • Fehler 53862 – Es wäre schön, die JMeter-Version als Eigenschaft verfügbar zu haben
  • Fehler 53806 – FileServer sollte Thread-sicheres Parsen bieten
  • Fehler 53807 – CSV-Datensatz verarbeitet keine eingebetteten neuen Zeilen in Daten in Anführungszeichen
  • Fehler 53879 – GUI: Popups können mit der ESC-Taste geschlossen werden
  • Fehler 53876 – Ermöglicht das Einfügen von URL-Filtern (HTTP-Proxy) aus der Zwischenablage

Nicht funktionale Änderungen

  • Fehler 53311 – JMeterUtils#runSafe sollte bei Unterbrechung keinen Fehler ausgeben
  • Aktualisiert auf commons-net-3.1 (von 3.0.1)
  • Aktualisiert auf HttpComponents Core 4.2.2 (von 4.1.4) und HttpComponents Client 4.2.1 (von 4.1.3)
  • Fehler 53765 – Wechseln Sie zu commons-lang3-3.1
  • Fehler 53884 – falsche Maven-Gruppen-ID für commons-lang

Version 2.7

Neu und bemerkenswert

Betriebssystem-Prozess-Sampler

Ein neuer System-Sampler, der verwendet werden kann, um Befehle auf dem lokalen Computer auszuführen.

Beispiel für OS Process Sampler-Ergebnisse mit dem DNS-Lookup-Befehl „dig“

JMS-Sampler-Verbesserungen

Hinzufügen einer „Non Persistent Delivery“-Option zum Senden von „Non Persistent“-JMS-Nachrichten (Garantiert, höchstens einmal zugestellt zu werden. Nachrichtenverlust ist kein Problem.)

Unterstützung des Sendens von JMS-Objektnachrichten, um das Senden von Objekten zu ermöglichen, die von XStream aus XML entmarshallt wurden

Aktivieren Sie das Festlegen von JMS-Eigenschaften über den JMS Publisher-Sampler

Test-Action-Sampler

Vorzeitiges Verlassen einer Schleife zulassen

Verbesserungen des Webservice-Samplers

Fügen Sie eine Jmeter-Eigenschaft soap.document_cache hinzu, um die Größe des Dokumenten-Cache zu steuern

HTTP-Sitzung aufrechterhalten konfigurierbar machen

Aggregiertes Diagramm: Gruppiertes Balkendiagramm mit Durchschnitt, Median, 90 %-Linie, Min- und Max-Spalten

Aggregierte Diagrammänderungen zum geclusterten Balkendiagramm, Hinzufügen weiterer Spalten (Median, 90 %-Linie, Min, Max) und Optionen, einige Fehler behoben

Neue Einstellungen für aggregierte Grafik

Verbesserungen des HTML-Berichtsdesigns, das von der JMeter Ant-Aufgabe im Extras-Ordner generiert wird

Beispiel für einen HTML-Bericht

Beispiel eines HTML-Berichts mit einigen Behauptungsfehlern

Mailer-Visualizer

  • Aktivieren Sie Authentifizierung und Verbindungssicherheit mit SSL oder TLS
  • Verbessern Sie das GUI-Design
  • Unterstützung für Internationalisierung (i18n) hinzufügen

Neuer visueller Indikator für die Anzahl der ERROR/FATAL-Meldungen in Protokollen

Der Indikator zeigt die Anzahl der ERROR/FATAL-Meldungen in Protokollen, er kann angeklickt werden, um das Protokollanzeigefenster umzuschalten

Dialogfeld zum Anzeigen von Details einer Parameterzeile

Fügen Sie eine Detailschaltfläche in der Parametertabelle hinzu, um Details einer Zeile anzuzeigen

Beispiel für eine Detailbox

Plugin-Autoren

Die neue Schnittstelle org.apache.jmeter.engine.util.ConfigMergabilityIndicator wurde eingeführt, um festzustellen, ob ein ConfigTestElement in Sampler gemergt werden kann (siehe Bug 53042 ):

öffentlicher boolescher Wert gilt (ConfigTestElement configElement);

Neue Schnittstelle org.apache.jmeter.protocol.http.proxy.SamplerCreator, um das Plug-in von HTTP-basierten Samplern zu ermöglichen, die sich von Standard-HTTP-Samplern über Proxy während der Aufzeichnungsphase unterscheiden (siehe Bug 52674 ):

öffentlicher String[] getManagedContentTypes();
public HTTPSamplerBase createSampler(HttpRequestHdr request, Map<String, String> pageEncodings, Map<String, String> formEncodings);
public void populateSampler (HTTPSamplerBase-Sampler, HttpRequestHdr-Anforderung, Map<String, String> pageEncodings, Map<String, String> formEncodings) löst eine Ausnahme aus;

Bekannte Fehler

Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Listener zeigen keine Iterationszähler an, wenn ein If-Controller eine Bedingung hat, die von der ersten Iteration an immer falsch ist (siehe Bug 52496 ). Eine Problemumgehung besteht darin, einen Sampler auf derselben Ebene wie (oder höher) als den If-Controller hinzuzufügen. Zum Beispiel ein Testaktions-Sampler mit 0 Wartezeit (der kein Sample generiert) oder ein Debug-Sampler, bei dem alle Felder auf „False“ gesetzt sind (um die Sample-Größe zu reduzieren).

Inkompatible Änderungen

Beim Ersetzen von benutzerdefinierten Variablen ersetzt Proxy keine Teilwerte mehr, wenn "Regexp-Abgleich" verwendet wird. Es wird der Perl 5-Wortvergleich ("\b") verwendet.

In den benutzerdefinierten Variablen, im Testplan, in der HTTP-Sampler-Argumenttabelle, in den Standardeinstellungen für Java-Anforderungen, in JMS-Sampler und -Publisher, in den Standardeinstellungen für LDAP-Anforderungen und in den Standardeinstellungen für erweiterte LDAP-Anforderungen werden Zeilen mit leerem Namen und Wert nicht mehr gespeichert.

JMeter erweitert nun die Testplanstruktur bis zur Testplanebene und nicht weiter und wählt den Stamm der Struktur aus. Außerdem ist der Standardwert von onload.expandtree falsch.

Graph Full Results Listener wurde entfernt.

Beim Aufrufen des Befehls „Alles löschen“ wird der Inhalt des angezeigten Protokollbetrachters gelöscht.

Fehlerbehebung

HTTP-Sampler und Proxy

  • Fehler 52613 – Bei Verwendung der Option Raw Post Body wird Text kodiert
  • Fehler 52781 – Content-Disposition-Header verstümmelt, selbst wenn browserkompatible Header aktiviert sind (HC4)
  • Fehler 52796 – MonitorHandler löscht Variablen nicht, wenn eine neue Analyse gestartet wird
  • Fehler 52871 – Mehrere Zertifikate funktionieren nicht mit HTTP Client 4
  • Fehler 52885 – Proxy: Aufzeichnungsprobleme mit HTTPS, Cookies, die mit „secure“ beginnen, werden teilweise abgeschnitten
  • Fehler 52886 – Proxy: Aufzeichnungsprobleme mit HTTPS, wenn Spoofing aktiviert ist, sichere Cookies werden nicht immer geändert
  • Fehler 52897 – HTTPSampler: Die Verwendung der PUT-Methode mit HTTPClient4 und leerem Content Encoding und dem Senden von Dateien führt zu NullPointerException
  • Fehler 53145 – HTTP-Sampler – Funktion im Pfad zu früh ausgewertet

Andere Sampler

  • Fehler 51737 – TCPSampler: Paket wird konvertiert/beschädigt
  • Fehler 52868 – BSF-Sprachliste sollte sortiert werden
  • Fehler 52869 – Die JSR223-Sprachliste verwendet derzeit die BSF-Liste, was falsch ist
  • Fehler 52932 – JDBC-Sampler: Sampler ist nicht als Fehler in einer Ausnahme markiert, die nicht zur Klasse IOException, SQLException, IOException gehört
  • Fehler 52916 – JDBC-Ausnahme, wenn eine leere benutzerdefinierte Variable vorhanden ist
  • Fehler 52937 – Webservice-Sampler: Cache für Soap-Dokumente am Ende des Tests löschen
  • Fehler 53027 – JMeter beginnt, Ausnahmen auszulösen, während das SMTP-Beispiel in einem Testplan mit HTTP Cookie Mngr oder HTTP Request Defaults verwendet wird
  • Fehler 53072 – JDBC PREPARED SELECT-Anweisungen sollten Ergebnisse in Variablen wie nicht vorbereitetem SELECT zurückgeben

Controller

  • Fehler 52968 – Die Option „Nächste Schleife starten“ in der Thread-Gruppe markiert den übergeordneten Transaktions-Sampler nicht als fehlerhaft, wenn ein Fehler auftritt
  • Fehler 50898 – IncludeController: NullPointerException-Ladeskript im Nicht-GUI-Modus, wenn Includer denselben Elementnamen verwenden

Zuhörer

  • Fehler 43450 – Zuhörer/Sparer gehen davon aus, dass der SampleResult-Zähler immer 1 ist; behoben Zusammenfassende Ergebnisse generieren

Behauptungen

Funktionen

I18N

  • Fehler 52551 – Funktionshilfedialog wechselt die Sprache nicht korrekt
  • Fehler 52552 – Hilfereferenz funktioniert nur auf Englisch

Allgemein

  • Fehler 52639 – JSplitPane-Teiler für das Log-Panel sollte ausgeblendet werden, wenn das Log nicht aktiviert ist
  • Fehler 52672 – Die Aktion Controller ändern löscht alle bis auf einen untergeordneten Sampler
  • Fehler 52694 – Deadlock in der GUI im Zusammenhang mit Nicht-AWT-Threads, die die GUI aktualisieren
  • Fehler 52678 – Proxy: Beim Ersetzen von UserDefinedVariables sollten Teilwerte nicht ersetzt werden
  • Fehler 52728 – CSV-Datensatz-Konfigurationselement kann nicht mit BSF-Sampler im selben Thread-Plan koexistieren
  • Fehler 52762 – Problem mit mehreren Zertifikaten: Erster Index wird nicht verwendet, bis Indizes neu gestartet werden
  • Fehler 52741 – TestBeanGUI-Standardwerte funktionieren beim zweiten Mal oder später nicht
  • Fehler 52783 – Die Eigenschaft oro.patterncache.size wurde wegen früher Initialisierung nie verwendet
  • Fehler 52789 – Proxy mit Regexp-Abgleich kann mit NullPointerException in der Wertersetzung fehlschlagen, wenn der Wert null ist
  • Fehler 52645 – Aufzeichnung mit Proxy führt zu OutOfMemory
  • Fehler 52679 – Benutzerparameterspalten schmal
  • Fehler 52843 – HeaderSize und BodySize von Samples werden für Subsamples nicht akkumuliert
  • Fehler 52967 – Die Funktion __P() konnte den Standardwert nicht verwenden, wenn sie mit einem Remote-Server im GUI-Modus ausgeführt wurde.
  • Fehler 50799 – Ein Nicht-HTTP-Sampler in einem HTTP-Testplan verhindert, dass mehrere Header-Manager funktionieren
  • Fehler 52997 – JMeter sollte nicht beendet werden, ohne den Testplan zu speichern, wenn das Speichern vor dem Beenden fehlschlägt
  • Fehler 53136 – Das Fangen von Wurfobjekten muss sorgfältig gehandhabt werden

Verbesserungen

HTTP-Sampler

Andere Sampler

  • Fehler 52775 – JMS Publisher: Option für nicht persistente Übermittlung hinzugefügt
  • Fehler 52810 – Aktivieren Sie das Festlegen von JMS-Eigenschaften über den JMS Publisher-Sampler
  • Fehler 52938 – Webservice-Sampler: Fügen Sie eine jmeter-Eigenschaft soap.document_cache hinzu, um die Größe des Dokumenten-Cache zu steuern
  • Fehler 52939 – Webservice-Sampler: MaintainSession konfigurierbar machen
  • Fehler 53073 – Zuweisen des OUT-Ergebnisses eines JDBC CALLABLE zu JMeter-Variablen
  • Fehler 53164 – Neuer System-Sampler
  • Fehler 53172 – Betriebssystem-Prozess-Sampler – Angabe von Umgebungsvariablen zulassen
  • Fehler 52936 – JMS Publisher: Unterstützung des Sendens von JMS-Objektnachrichten

Controller

Zuhörer

  • Fehler 52603 – MailerVisualizer: Aktivieren Sie SSL, TLS und Authentifizierung
  • Fehler 52698 – Graph Full Results Listener entfernt
  • Fehler 53070 – Ändern Sie das aggregierte Diagramm in ein gruppiertes Balkendiagramm, fügen Sie weitere Spalten (Median, 90 %-Linie, Min, Max) und Optionen hinzu, einige Fehler wurden behoben
  • Fehler 53246 – Mailer Visualizer: GUI-Design und I18N verbessert

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

Funktionen

I18N

  • Mailer Visualizer wurde internationalisiert. Französische Übersetzung hinzugefügt. (siehe Fehler 53246 )

Allgemein

  • Fehler 45839 – Testaktion: Vorzeitiges Verlassen einer Schleife zulassen
  • Fehler 52614 – MailerModel.sendMail hat eine seltsame Art, die Debug-Einstellung zu berechnen
  • Fehler 52782 – Hinzufügen einer Detailschaltfläche zur Parametertabelle, um Details einer Zeile anzuzeigen
  • Fehler 52674 – Proxy: Fügen Sie einen Sampler Creator hinzu, um das Plug-in von HTTP-basierten Samplern zu ermöglichen, die potenziell nicht textuellen POST-Body (AMF, Silverlight, …) verwenden und sie für andere anpassen
  • Fehler 52934 – GUI: Öffnen Sie den Testplan, wobei der Baum bis zur Testplanebene und nicht weiter erweitert ist, und wählen Sie den Stamm des Baums aus
  • Fehler 52941 – Verbesserungen des HTML-Berichtsdesigns, das von JMeter Ant Task Extra generiert wird
  • Fehler 53042 – Einführung einer neuen Methode in der Sampler-Schnittstelle, damit Sampler entscheiden kann, ob ein Konfigurationselement für Sampler gilt
  • Fehler 52771 – Dokumentation: RSS-Feed auf der JMeter-Startseite unter dem Link „ Neuigkeiten abonnieren“ hinzugefügt
  • Fehler 42784 – Zeigt die Anzahl der in der GUI protokollierten Fehler an
  • Fehler 53256 – Make Clear All-Befehl reinigt den LogViewer-Inhalt
  • Fehler 53261 – „Error/fatal“-Zähler wurde in Fehler 42784 hinzugefügt, um das Log Viewer-Fenster zu öffnen, wenn auf die Warnanzeige geklickt wird

Nicht funktionale Änderungen

  • Upgrade auf rhino 1.7R3 (war js-1.7R2.jar). Hinweis: Die Maven-Koordinaten für das JAR wurden von rhino:js in org.mozilla:rhino geändert. Dies wirkt sich nicht direkt auf JMeter aus, kann aber Probleme verursachen, wenn JMeter in einem Maven-Projekt mit anderem Code verwendet wird, der von einer früheren Version der Rhino-JavaScript-JAR-Datei abhängt.
  • Fehler 52675 – Refaktorieren Sie Proxy und HttpRequestHdr, um die Sampler-Erstellung durch Proxy zu ermöglichen
  • Fehler 52680 – Geben Sie die Version an, in der die Funktion eingeführt wurde
  • Fehler 52788 – HttpRequestHdr: Optimieren Sie den Code, um unnötige Arbeit zu vermeiden
  • Die Aufgabe JMeter Ant (ant-jmeter-1.1.1.jar) wurde von 1.0.9 auf 1.1.1 aktualisiert
  • Aktualisiert auf commons-io 2.2 (von 2.1)
  • Fehler 53129 – Aktualisieren Sie XStream von 1.3.1 auf 1.4.2
  • Aktualisiert auf httpcomponents-client 4.1.3 (von 4.1.2)
  • Aktualisierter JMeter-Leitfaden zum verteilten Testen (jmeter_distributed_testing_step_by_step.pdf). Ändert das Quellformat zu OpenOffice odt (von sxw)

Version 2.6

Neu und bemerkenswert

Symbolleiste

Eine neue Symbolleiste im Hauptfenster von JMeter

JMeter-Teststart-Schaltfläche

Eine neue Menüoption und Schaltfläche ermöglichen es, einen Test zu starten, wobei die Pausentimer ignoriert werden

Aussehen und Verhalten der JMeter-GUI

System- oder CrossPlatform-LAF darf im Optionsmenü eingestellt werden

JMeter-GUI - doppelter Knoten

Fügen Sie im Kontextmenü "Knoten duplizieren" hinzu

JMeter-Baumansicht - Suchfunktion

Funktionalität zur Suche nach Schlüsselwörtern in der Baumansicht von Samplers

HTTP-Anforderung - Rohanforderungsbereich

Verbesserte HTTP-Anforderungs-GUI, um Parameter ohne Namen besser anzuzeigen (z. B. GWT-RPC-Anforderung oder SOAP-Anforderung)

HTTP-Anforderung - andere Änderungen

  • Mehrfachauswahl im Argumentbereich zulassen
  • Ermöglicht das Hinzufügen (Einfügen) von Einträgen aus der Zwischenablage in eine Argumentliste
  • Möglichkeit, Variablen in HTTP-Anforderungen nach oben oder unten zu verschieben

HTTP Request - Dateiprotokoll

Bessere Unterstützung für Datei: Protokoll im HTTP-Sampler

Rufen Sie eingebettete Ressourcen mit file: protocol ab

HTTP-Anforderung – Ignorieren eingebetteter Ressourcen fehlgeschlagen

Aktivieren Sie „Fehler ignorieren“ für eingebettete Ressourcen

Übergeordneter Erfolg mit einer eingebetteten Ressource fehlgeschlagen

Ergebnisse in Tabelle anzeigen – untergeordnete Beispielanzeige

Option zu TableVisualiser hinzugefügt, um untergeordnete Beispiele anstelle von übergeordneten anzuzeigen

Schlüsselspeicher - mehrere Zertifikate

Mehrere Zertifikate zulassen (JKS)

Verbesserungen der aggregierten Diagramme

Einige Verbesserungen am Aggregate Graph Listener:

  • neue GUI für Einstellungen
  • dynamische Diagrammgröße
  • erlauben, Schriftarten für Titelgrafik und Legende zu ändern
  • Balkenfarbe ändern (Hintergrund- und Textwerte)
  • erlauben, Umrisse von Balken zu zeichnen oder nicht
  • erlauben, nur einige Sampler durch einen Regexp-Filter auszuwählen
  • erlaubt die maximale Skala der Y-Achse zu definieren

Aggregierte Diagrammleiste

Zähler - neue Reset-Option

Fügen Sie eine Option hinzu, um den Zähler bei jeder Iteration der Thread-Gruppe zurückzusetzen

Funktionen

  • Fügen Sie eine neue Funktion __RandomString hinzu, um zufällige Zeichenfolgen zu generieren
  • Fügen Sie eine neue Funktion __TestPlanName hinzu, die den Namen des aktuellen "Testplans" zurückgibt.
  • Fügen Sie eine neue Funktion __machineIP hinzu, die die IP-Adresse zurückgibt
  • Fügen Sie eine neue Funktion __jexl2 hinzu, um Jexl2 zu unterstützen

Verbesserungen an benutzerdefinierten Variablen

  • Fügen Sie ein Kommentarfeld in den benutzerdefinierten Variablen hinzu
  • Ermöglicht das Hinzufügen (Einfügen) von Einträgen aus der Zwischenablage in eine Argumentliste
  • Möglichkeit, Variablen in benutzerdefinierten Variablen nach oben oder unten zu verschieben

Ergebnisbaum anzeigen

Zeigen Sie in View Results Tree nicht nur eine Meldung an, wenn die Ergebnisse zu groß sind, sondern zeigen Sie so viel vom Ergebnis an, wie konfiguriert ist

Controller - Elemente ändern

Fügen Sie die Möglichkeit hinzu, Controller-Elemente zu ändern

JDBC Pre- und Postprozessor

JDBC Pre- und Postprozessor hinzufügen

JDBC-Transaktionsisolationsoption

Ermöglicht das Festlegen der Transaktionsisolation in der JDBC-Verbindungskonfiguration

Poisson-Timer

Fügen Sie einen Poisson-basierten Timer hinzu

Interaktion zwischen GUI und Betriebssystem

Unterstützung für Datei-Drag-and-Drop.

Bestätigen Sie das Dialogfeld „Entfernen“.

Fügen Sie ein Dialogfeld hinzu, um das Entfernen der Elemente zu bestätigen, wenn die Aktion „Entfernen“ aufgerufen wird

Der Dialog kann übersprungen werden, indem das JMeter-Property Confirm.delete.skip=true gesetzt wird

Remote-Batching-Unterstützung

Externen Speicher verwenden, um Proben während des verteilten Testens zu halten, DiskStore-Remote-Sample-Sender hinzugefügt: wie Halten, aber Proben werden bis zum Ende des Tests auf der Festplatte gespeichert

Sampler für JMS-Abonnenten

Mit JMS-Abonnent Möglichkeit zur Verwendung von Selektoren

Neues Logger-Panel

Der GUI wurde ein neuer Log Viewer hinzugefügt, der über das Menü Options → Log Viewer aktiviert werden kann:

Dieser Log Viewer zeigt die Datei jmeter.log und ist (zum Beispiel) nützlich, um BeanShell/BSF-Skripte zu debuggen:

Der Menüpunkt Optionen / Sprache auswählen ist nun voll funktionsfähig

Der Menüpunkt Optionen / Sprache auswählen ändert nun alle angezeigten Texte in die neue Sprache, sofern alle Meldungen übersetzt sind. Sie können dabei helfen, indem Sie in Ihre Sprache übersetzen.

Legacy-Unterstützung für JMX- und JTL-Avalon-Formate wiederhergestellt

Die Unterstützung für das Lesen/Schreiben des ursprünglichen Avalon-XML-Formats von JMX-Dateien (Skript) und JTL-Dateien (Beispielergebnis) wurde in JMeter Version 2.4 eingestellt. JMeter kann die Dateien im Avalon-Format jetzt wieder lesen, es gibt jedoch keine Unterstützung für das Speichern von Dateien im alten Format.

JMeter-Jars sind im Maven-Repository verfügbar

JMeter-Jars sind jetzt im Maven-Repository verfügbar.

Bekannte Fehler

Der Include-Controller hat einige Probleme im Nicht-GUI-Modus (siehe Bugs 40671, 41286, 44973, 50898). Insbesondere kann es zu einer NullPointerException kommen, wenn es zwei Include-Controller mit demselben Namen gibt.

Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Listener zeigen keine Iterationszähler an, wenn ein If-Controller eine Bedingung hat, die von der ersten Iteration an immer falsch ist (siehe Bug 52496 ). Eine Problemumgehung besteht darin, einen Sampler auf derselben Ebene wie (oder höher) als den If-Controller hinzuzufügen. Zum Beispiel ein Testaktions-Sampler mit 0 Wartezeit (der kein Sample generiert) oder ein Debug-Sampler, bei dem alle Felder auf „False“ gesetzt sind (um die Sample-Größe zu reduzieren).

Inkompatible Änderungen

JMeter-Versionen seit 2.1 konnten beim Laden eingebetteter Ressourcen kein Containerbeispiel erstellen. Dies wurde korrigiert; Sie können immer noch zum Verhalten von Fehler 51939 zurückkehren , indem Sie die folgende Eigenschaft festlegen: httpsampler.separate.container=false

Der Spiegelserver verwendet jetzt den Standardport 8081, war 8080 vor 2.5.1.

TCP Sampler handhabt SocketTimeoutException, SocketException und InterruptedIOException seit 2.6 anders, wenn diese auftreten, wird Sampler als fehlgeschlagen markiert.

Beispiel-Sender-Implementierungen lösen jetzt ihre Konfiguration auf der Client-Seite seit 2.6 auf. Dieses Verhalten kann mit der Eigenschaft sample_sender_client_configured geändert werden (auf false setzen).

Das Testelement HTTP User Parameter Modifier wurde entfernt; es ist seit langem missbilligt.

Fehlerbehebung

HTTP-Sampler und Proxy

  • Fehler 51932 – CacheManager verarbeitet keinen Cache-Control-Header mit irgendwelchen Attributen nach max-age
  • Fehler 51918 – GZIP-komprimierter Datenverkehr erzeugt Fehler, wenn mehrere Verbindungen zulässig sind
  • Fehler 51939 – Sollte bei Bedarf beim Abrufen eingebetteter Ressourcen ein neues übergeordnetes Beispiel generieren
  • Fehler 51942 – Synchronisierungsproblem auf CacheManager, wenn Concurrent Download verwendet wird
  • Fehler 51957 – Concurrent Get kann hängen bleiben, wenn eine Aufgabe nicht abgeschlossen wird
  • Fehler 51925 – Beim Aufrufen von Stop on Test werden Executor-Threads preisgegeben, wenn der gleichzeitige Download von Ressourcen aktiviert ist
  • Fehler 51980 – HtmlParserHTMLParser zählt in Links verwendete Bilder doppelt
  • Fehler 52064 – OutOfMemory-Risiko im CacheManager
  • Fehler 51919 – Random ConcurrentModificationException oder NoSuchElementException in CookieManager#removeMatchingCookies bei gleichzeitigem Download
  • Fehler 52126 – HttpClient4 löscht keine Cookies zwischen Iterationen
  • Fehler 52129 – Die gemeldete Körpergröße ist falsch, wenn der HTTP-Client 4 und die Keep Alive-Verbindung verwendet werden
  • Fehler 52137 – Probleme mit dem HTTP-Cache-Manager
  • Fehler 52221 – Nullpointer-Ausnahme bei Verwendung von „Retrieve Embedded Resource“ ohne HTTP-Cache-Manager
  • Fehler 52310 – Variable in IPSource fehlgeschlagene HTTP-Anforderung, wenn „Concurrent Pool Size“ aktiviert ist
  • Fehler 52371 – API-Inkompatibilität – Methoden in HTTPSampler2 erfordern jetzt PostMethod anstelle von HttpMethod[Base]. Auf Originaltypen zurückgesetzt.
  • Fehler 49950 – Proxy: IndexOutOfBoundsException bei Aufzeichnung mit Proxy-Server
  • Fehler 52409 – HttpSamplerBase#errorResult ändert als Parameter übergebenes SampleResult; Code behoben, der davon ausgeht, dass eine neue Instanz erstellt wird (dh beim Hinzufügen eines Sub-Samples)
  • Fehler 52507 – Modifikator „HTTP-Benutzerparameter löschen“ (veraltet, veraltet)

Andere Sampler

  • Fehler 51996 – JMS-Anfangskontext verliert neu erstellten Kontext, wenn mehrere Threads gleichzeitig in InitialContextFactory#lookupContext eintreten
  • Fehler 51691 – Autorisierung funktioniert nicht für JMS Publisher und JMS Subscriber
  • Fehler 52036 – Dauerhaftes Abonnement schlägt mit ActiveMQ aufgrund des fehlenden clientId-Felds fehl
  • Fehler 52044 – JMS-Abonnent, der mit vielen Threads verwendet wird, führt zu javax.naming.NamingException: Etwas, das bereits mit ActiveMQ verbunden ist
  • Fehler 52072 – LengthPrefixedBinaryTcpClientImpl kann ein Beispiel vorzeitig beenden
  • Fehler 52390 – AbstractJDBCTestElement: Speicherverlust und Synchronisierungsproblem in perConnCache

Controller

  • Fehler 51865 – Endlosschleife innerhalb der Thread-Gruppe funktioniert nicht richtig, wenn die Option „Nächste Schleife nach einem Beispielfehler starten“ gesetzt ist
  • Fehler 51868 – Viele Ausnahmen in jmeter.log bei Verwendung der Option „Nächste Schleife starten“ für den Thread
  • Fehler 51866 – Counter-Under-Loop funktioniert nicht richtig, wenn die Option „Nächste Schleife bei Fehler starten“ für die Thread-Gruppe gesetzt ist
  • Fehler 52296 – TransactionController + Children ThrouputController oder InterleaveController führt zu ERROR sampleEnd zweimal aufgerufen java.lang.Throwable: Ungültige Aufrufsequenz, wenn TPC sample nicht ausführt
  • Fehler 52330 – Bei Next-Loop-On-Error werden Samples nach Fehlern nicht in der nächsten Schleife ausgeführt

Zuhörer

  • Fehler 52357 – Ergebnisse in Tabelle anzeigen lässt nicht mehrere Ergebnisbeispiele zu
  • Fehler 52491 – Falsches Parsen von Post-Datenparametern in der Tree Listener/Http Request-Ansicht

Behauptungen

  • Fehler 52519 – XMLSchemaAssertion verwendet JMeter JVM file.encoding anstelle der Antwortcodierung

Funktionen

  • Das CRLF-Beispiel für die char-Funktion war falsch; CRLF=(0xD,0xA), nicht (0xC,0xA)

I18N

Allgemein

  • Fehler 51937 – JMeter verarbeitet fehlende Testplan-Einträge nicht gut
  • Fehler 51988 – Die CSV-Datensatzkonfiguration löst das Standardtrennzeichen für die Kopfzeilenanalyse nicht auf, wenn das Variablenfeld leer ist
  • Bug 52003 - View Results Tree "Automatisch scrollen" scrollt nicht richtig, wenn Knoten erweitert werden
  • Fehler 27112 – Benutzerparameter sollten Bildlaufleisten verwenden
  • Fehler 52029 – Das Herunterfahren über die Befehlszeile wird nur an die zuletzt gestartete Engine gesendet
  • Fehler 52093 – QuickInfos in der Symbolleiste wechseln die Sprache nicht
  • Fehler 51733 – SyncTimer ist durcheinander, wenn Sie einen Testplan unterbrechen
  • Fehler 52118 – Neue Symbolleiste: Schaltflächen zum Herunterfahren und Stoppen werden nicht deaktiviert, wenn kein Test ausgeführt wird
  • Fehler 52125 – StatCalculator.addAll(StatCalculator calc) wird falsch verknüpft, wenn es in einer der TreeMaps mehrere Samples mit derselben Antwortzeit gibt
  • Fehler 52339 – JMeter-Statistikmodus beim verteilten Testen zeigt falsche Antwortzeit
  • Fehler 52215 – Verwirrende Synchronisierung in StatVisualizer, SummaryReport, Summariser und Problem in StatGraphVisualizer
  • Fehler 52216 – TableVisualizer: Feld currentData ist schlecht synchronisiert
  • Fehler 52217 – ViewResultsFullVisualizer: Synchronisierungsprobleme bei root und treeModel
  • Fehler 43294 – XPath Extractor Namespace-Probleme
  • Fehler 52224 – TestBeanHelper unterstützt NOT_UNDEFINED == Boolean.FALSE nicht
  • Fehler 52279 – Beim Wechseln zu einer anderen Sprache gehen Symbole in der Baumstruktur verloren und es wird ein Fehler protokolliert. Kann die GUI-Klasse nicht abrufen von …
  • Bug 52280 - Der Menüpunkt Optionen / Sprache auswählen ändert nicht den gesamten angezeigten Text in die neue Sprache
  • Fehler 52376 – StatCalculator#addValue(T val, int sampleCount) sollte long statt int verwenden
  • Fehler 49374 – Die Codierung von eingebetteten Element-URLs hängt von der file.encoding-Eigenschaft ab
  • Fehler 52399 – URLRewritingModifier verwendet die standardmäßige file.encoding-Datei, um den Textinhalt abzugleichen
  • Fehler 50438 – Code berechnet den Durchschnitt mit ganzzahliger Mathematik und erwartet einen doppelten Wert
  • Fehler 52469 – Änderungen bei der Unterstützung von SSH-Tunneling von RMI-Datenverkehr für Remote-Tests
  • Fehler 52466 – Testplan-Upgrade-Funktion: NameUpdater aktualisiert keine Eigenschaften
  • Fehler 52503 – Unify File→Close und Window close Dateispeicherverhalten
  • Fehler 52537 – Die Hilfe scrollt nicht zum richtigen Anker, wenn die Datei zum ersten Mal geladen wird

Verbesserungen

HTTP-Sampler

  • Fehler 51981 – Bessere Unterstützung für Datei: Protokoll im HTTP-Sampler
  • Fehler 52033 – Mehrere Zertifikate zulassen (JKS)
  • Fehler 52352 – Proxy: Unterstützung der Erfassung von IPv6-URLs
  • Fehler 44301 – Aktivieren Sie „Ignorieren fehlgeschlagen“ für eingebettete Ressourcen

Andere Sampler

  • Fehler 51419 – JMS-Abonnent: Möglichkeit, Selektoren zu verwenden
  • Fehler 52088 – JMS Sampler: Fügen Sie einen Selektor hinzu, wenn REQUEST / RESPONSE ausgewählt ist
  • Fehler 52104 – TCP-Sampler verarbeitet Fehler schlecht
  • Fehler 52087 – Die TCPClient-Schnittstelle lässt keine partiellen Lesevorgänge zu
  • Fehler 52115 – SOAP/XML-RPC sollte keine POST-Anforderung senden, wenn die zu sendende Datei nicht gefunden wird
  • Fehler 40750 – TCPSampler: Verhalten, wenn Sockets vom entfernten Host geschlossen werden
  • Fehler 52396 – TCP-Sampler im „Wiederverwendungs-Verbindungsmodus“ verwendet die Verbindung des vorherigen Samplers erneut, selbst wenn sie mit einem anderen Host, Port, Benutzer oder Passwort konfiguriert ist
  • Fehler 52048 – BSFSampler, BSFPreProcessor und BSFPostProcessor sollten dieselbe GUI teilen

Controller

Zuhörer

  • Fehler 52022 – In der Baumansicht der Ergebnisse wird nicht nur eine Meldung angezeigt, wenn die Ergebnisse zu groß sind, sondern es wird so viel vom Ergebnis angezeigt, wie konfiguriert wurde
  • Fehler 52201 – Option zu TableVisualiser hinzugefügt, um untergeordnete Beispiele anstelle von übergeordneten anzuzeigen
  • Fehler 52214 – Antworten in einer Datei speichern – Benennungsalgorithmus verbessert
  • Fehler 52340 – Änderung des Remote-Sampling-Modus zur Laufzeit zulassen
  • Fehler 52452 – Verbesserungen am Aggregate Graph Listener (GUI und Einstellungen)
  • OldSaveService wiederbelebt, um das Lesen von JTL-Dateien (Ergebnisdateien) im Avalon-Format zu ermöglichen

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 52128 – JDBC Pre- und Postprozessor hinzugefügt
  • Bug 52183 - SyncTimer könnte verbessert werden (Performance+Zuverlässigkeit)
  • Fehler 52317 – Zähler: Option zum Zurücksetzen des Zählers bei jeder Iteration der Thread-Gruppe hinzugefügt
  • Fehler 37073 – Fügen Sie einen Poisson-basierten Timer hinzu
  • Fehler 52497 – Verbesserung von DebugSampler und DebugPostProcessor

Funktionen

  • Fehler 52006 – Erstellen Sie eine Funktion RandomString, um zufällige Strings zu generieren
  • Bug 52016 - Es wäre nützlich, Jexl2 zu unterstützen
  • Die Funktion __char() unterstützt jetzt Oktalwerte
  • Neue Funktion __machineIP gibt IP-Adresse zurück
  • Fehler 51091 - Neue Funktion, die den Namen des aktuellen " Testplans" zurückgibt

I18N

Allgemein

  • Fehler 51892 – Der Standard-Mirror-Port sollte sich vom Standard-Proxy-Port unterscheiden
  • Fehler 51817 – Verschieben von Variablen nach oben und unten in der benutzerdefinierten Variablensteuerung
  • Fehler 51876 – Funktionalität zum Suchen in Samplers TreeView
  • Fehler 52019 – Menüoption zum Starten eines Tests hinzugefügt, wobei Pausentimer ignoriert werden
  • Fehler 52027 – Ermöglicht das Festlegen von System- oder CrossPlatform-LAF aus dem Optionsmenü
  • Fehler 52037 – Erinnern Sie sich an vom Benutzer eingestellte LaF über Neustarts.
  • Fehler 51861 – Verbesserte GUI für HTTP-Anforderungen, um Parameter ohne Namen besser anzuzeigen (z. B. GWT-RPC-Anforderungen) (UNTER ENTWICKLUNG)
  • Fehler 52040 – Hinzufügen einer Symbolleiste im Hauptfenster von JMeter
  • Fehler 51816 – Kommentarfeld in der benutzerdefinierten Variablensteuerung.
  • Fehler 52052 – Verwenden eines Trennzeichens zum Trennen von Ergebnismeldungen für JMS-Abonnenten
  • Fehler 52103 – Option zum automatischen Scrollen zum Tabellenvisualisierer hinzugefügt
  • Fehler 52097 – Speichern unter sollte auf denselben Ordner verweisen, der zum Öffnen einer Datei verwendet wurde, wenn eine MRU-Liste verwendet wird
  • Fehler 52085 – Mehrfachauswahl im Argumentbereich zulassen
  • Fehler 52099 – Ermöglicht das Festlegen der Transaktionsisolation in der JDBC-Verbindungskonfiguration
  • Fehler 52116 – Ermöglicht das Hinzufügen (Einfügen) von Einträgen aus der Zwischenablage in eine Argumentliste
  • Fehler 52160 – Zeige keine TestBeanGui-Elemente an, die als ausgeblendet gekennzeichnet sind
  • Fehler 51886 – SampleSender-Konfiguration teilweise auf dem Client und teilweise auf dem Server behoben
  • Fehler 52161 – Aktivieren Sie Plugins, um zusätzlich zu upgrade.properties eigene Übersetzungsregeln hinzuzufügen. Lädt alle zusätzlichen Eigenschaften, die in META-INF/resources/org.apache.jmeter.nameupdater.properties-Dateien gefunden werden
  • Fehler 42538 – „Doppelter Knoten“ im Kontextmenü hinzugefügt
  • Fehler 46921 – Möglichkeit zum Ändern von Controller-Elementen hinzugefügt
  • Fehler 52240 – TestBeans sollten Boolean, Integer und Long unterstützen
  • Fehler 52241 – GenericTestBeanCustomizer geht davon aus, dass der Standardwert die leere Zeichenfolge ist
  • Fehler 52242 – FileEditor lässt nicht zu, dass die Ausgabe in einer Datei gespeichert wird
  • Bug 51093 - Beim Laden einer zuvor durch "Auswahl speichern unter" gespeicherten Auswahl wird der Dateiname in der blauen Fensterleiste angezeigt
  • Fehler 50086 – Passwortfelder werden in JMS Publisher, JMS Subscriber, Mail Reader Sampler, SMTP Sampler und Datenbankkonfiguration nicht ausgeblendet
  • Fehler 29352 – Verwenden Sie einen externen Speicher, um Proben während des verteilten Testens zu halten, DiskStore-Remote-Sample-Sender hinzugefügt: wie Hold, aber speichert Proben bis zum Ende des Tests auf der Festplatte.
  • Fehler 52333 – Reduzieren Sie den Overhead bei der Berechnung von SampleResult#nanoTimeOffset
  • Fehler 52346 – Das Herunterfahren erkennt, ob irgendwelche Nicht-Daemon-Threads übrig sind, die das Beenden der JVM verhindern.
  • Fehler 52281 – Unterstützung für Datei-Drag-and-Drop
  • Fehler 52471 – Verbessern Sie die Leistung des Spiegelservers, indem Sie einen Pool von Threads verwenden, anstatt für jede Anforderung einen Thread zu starten
  • OldSaveService wiederbelebt, um das Lesen von JMX-Dateien im Avalon-Format zu ermöglichen (entfernt in 2.4)
  • Fügen Sie ein Dialogfeld hinzu, um das Entfernen der Elemente zu bestätigen, wenn die Aktion „Entfernen“ aufgerufen wird
  • Fehler 41788 – Protokollanzeige (Konsolenfenster) als Option erforderlich
  • Option hinzugefügt, um die Pausenzeit (standardmäßig 2000 ms) im Daemon-Thread zu ändern, der auf erfolgreiches Beenden der JVM prüft. Der Thread wird jetzt nicht gestartet, es sei denn, die Pausenzeit ist größer als 0.

Nicht funktionale Änderungen

  • Korrekturen an build.xml: Unterstützungsskripte; wiederverwendbare Eigenschaftsnamen lokalisieren
  • Bug 51923 – Zählerfunktionsfehler oder Dokumentationsproblem? (feste Dokumente)
  • Velocity.jar auf 1.7 aktualisieren (von 1.6.2)
  • Aktualisieren Sie js.jar auf 1.7R3 (von 1.6R5)
  • Aktualisieren Sie den Commons-Codec 1.5 ⇒ 1.6
  • Aktualisieren Sie commons-io 2.0.1 ⇒ 2.1
  • Aktualisieren Sie commons-jexl 2.0.1 ⇒ 2.1.1
  • Aktualisieren Sie jdom 1.1 ⇒ 1.1.2
  • Update Juni 4.9 ⇒ 4.10
  • Fehler 51954 – Generierte Dokumente enthalten </br>-Einträge, die zusätzliche Leerzeilen verursachen
  • Fehler 52075 – JMeterProperty.clone() gibt derzeit Objekt zurück; es sollte JMeterProperty zurückgeben
  • httpcore auf 4.1.4 aktualisiert
  • Fehler 49753 – Bitte veröffentlichen Sie jMeter-Artefakte im zentralen Maven-Repository

Version 2.5.1

Zusammenfassung der wichtigsten Änderungen

  • Der HttpClient4-Sampler verwendet jetzt Verbindungen ordnungsgemäß wieder (zuvor würde er eine pro Stichprobe verwenden, was schnell zu einer Erschöpfung der Ressourcen führen könnte).
  • Verschiedene Fixes für JMS-Sampler
  • Funktionen werden nicht mehr fälschlicherweise aufgerufen, wenn sie mit einem Konfigurationselement verwendet werden
  • Die WebService-Sampler-GUI wurde für ein besseres Design und mehr Benutzerfreundlichkeit neu organisiert. Einige Verbesserungen am WSDL-Konfigurationsassistenten
  • Bessere Handhabung der Testabschaltung. System.exit wird jetzt nur noch aufgerufen, wenn es keine andere Option gibt; sogar dies kann deaktiviert werden.

Bekannte Fehler

Der Include-Controller hat einige Probleme im Nicht-GUI-Modus. Insbesondere kann es zu einer NullPointerException kommen, wenn es zwei Include-Controller mit demselben Namen gibt.

Der Once-Only-Controller verhält sich korrekt unter einer Thread-Gruppe oder einem Loop-Controller, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Der If-Controller kann eine Endlosschleife verursachen, wenn die Bedingung von der ersten Iteration an immer falsch ist. Eine Problemumgehung besteht darin, einen Sampler auf derselben Ebene wie (oder höher) als den If-Controller hinzuzufügen. Zum Beispiel ein Testaktions-Sampler mit 0 Wartezeit (der kein Sample generiert) oder ein Debug-Sampler, bei dem alle Felder auf „False“ gesetzt sind (um die Sample-Größe zu reduzieren).

Der Menüpunkt Optionen / Sprache auswählen ändert nicht alle angezeigten Texte in die neue Sprache. [Das Verhalten hat sich verbessert, aber die Sprachänderung funktioniert immer noch nicht vollständig] Um die standardmäßige lokale Sprache vollständig zu überschreiben, legen Sie die JMeter-Eigenschaft „Sprache“ fest, bevor Sie JMeter starten.

Inkompatible Änderungen

Die HttpClient4- und Commons HttpClient 3.1-Sampler verwendeten zuvor einen Wiederholungszähler von 3. Dieser wurde auf den Standardwert 1 geändert, um mit der Java-Implementierung kompatibel zu sein. Die Anzahl der Wiederholungen kann überschrieben werden, indem die entsprechende JMeter-Eigenschaft festgelegt wird, zum Beispiel:

httpclient4.retrycount=3
httpclient3.retrycount=3

Fehlerbehebung

HTTP-Sampler und Proxy

  • Korrigieren Sie den HttpClient 4-Sampler, sodass HttpClient-Instanzen und -Verbindungen nach Möglichkeit wiederverwendet werden.
  • Temporäre Korrektur des HC4-Samplers, um HTTPCLIENT-1120 zu umgehen.
  • Fehler 51863 – Viele ESTABLISHED-Verbindungen mit HttpClient 4-Implementierung (im Vergleich zu HttpClient 3.1-Implementierung)
  • Fehler 51750 – Das Abrufen aller eingebetteten Ressourcen folgt nicht IFRAME
  • Fehler 51752 – Der HTTP-Cache ist beschädigt, wenn „Alle eingebetteten Ressourcen abrufen“ mit gleichzeitigem Pool verwendet wird
  • Fehler 39219 – HTTP-Server: Sie können ihn nach Datei→Öffnen nicht stoppen
  • Fehler 51775 – Duplikate der Portnummer im Host-Header beim Erfassen durch HttpClient (3.1 und 4.x)
  • Fehler 50617 – Die Legende der Überwachungsergebnisse zeigt einen „toten“ Server an, obwohl Werte vom Server abgerufen werden

Andere Sampler

  • Fehler 50424 – Dropdown-Listenfeld „Webmethoden“ inkonsistent
  • Fehler 43293 – Java-Anforderungsfelder werden beim Erstellen eines neuen Samplers nicht gelöscht
  • Fehler 51830 – Webservice-Soap-Anforderung löst zu viele Popups aus, wenn die Webservice-WSDL-URL nicht verfügbar ist
  • WebService(SOAP)-Anforderung – Fügen Sie ein Verbindungszeitlimit hinzu, um die wsdl abzurufen, die zum Auffüllen von Webmethoden verwendet wird, wenn der Server nicht antwortet
  • Fehler 51841 – JMS: Wenn ein Fehler im ReceiveSubscriber-Konstruktor oder -Publisher auftritt, bleiben Connections geöffnet
  • Fehler 51691 – Autorisierung funktioniert nicht für JMS Publisher und JMS Subscriber
  • Fehler 51840 – JMS: Cache von InitialContext hat einige Probleme
  • Fehler 47888 – JUnit Sampler verwendet Testobjekt erneut

Controller

  • If Controller - Zwei durch Bug 50032 eingeführte Regressionen behoben (siehe auch Bug 50618 )
  • If Controller – Fängt einen StackOverflowError ab, wenn eine Bedingung immer falsch zurückgibt (nach mindestens einer Iteration mit Rückgabe wahr) Siehe Fehler 50618
  • Fehler 51869 – NullPointer-Ausnahme bei Verwendung von Include-Controller

Zuhörer

Behauptungen

Funktionen

  • Fehler 48943 – Funktionen werden zusätzliche Male aufgerufen, wenn sie in Kombination mit einem Konfigurationselement verwendet werden

I18N

  • WebService(SOAP)-Request – I18N für einige Labels hinzufügen

Allgemein

  • Fehler 51831 – Der UDP-Server kann nicht deaktiviert oder der maximale UDP-Port geändert werden
  • Fehler 51821 – Verknüpfung zum Aktivieren/Deaktivieren von (Unter-)Baum oder Zweigen im Testplan hinzugefügt.
  • Fehler 47921 – Variablen, die nach dem Beenden von JMeterThread nicht für GC freigegeben wurden.
  • Fehler 51839 – „… End of Run“ wurde vorzeitig ausgegeben
  • Fehler 51847 – Einige JUnit-Tests sind gebietsschemaabhängig und schlagen fehl, wenn sich das Gebietsschema von US unterscheidet
  • Fehler 51855 – Übergeordnete Proben können leicht ungenaue verstrichene Zeiten aufweisen
  • Fehler 51880 – Der Shutdown-Befehl funktioniert nicht, wenn ich ihn aufrufe, bevor alle Threads gestartet wurden
  • Host-Menüelement „Remote Shut Shut“ wurde nicht aktiviert.
  • Fehler 51888 – Gelegentlicher Deadlock beim Stoppen eines Testplans

Verbesserungen

HTTP-Sampler

  • Fehler 51380 – Kontrollieren Sie die Wiederverwendung von zwischengespeichertem SSL-Kontext von Iteration zu Iteration
  • Fehler 51882 – HTTPHC3Client verwendet eine Standardwiederholungsanzahl von 3, machen Sie es konfigurierbar; Standard ist jetzt 1
  • Ändern Sie die standardmäßige HttpClient 4-Sampler-Wiederholungsanzahl auf 1

Andere Sampler

  • Beanshell Sampler unterstützt jetzt eine unterbrechbare Schnittstelle
  • Fehler 51605 – WebService(SOAP) Request – WebMethod-Feldwert ändert sich heimlich für alle Anfragen, wenn ein Wert in einer Anfrage ausgewählt wird
  • WebService(SOAP) Request - Reorganisierte GUI für besseres Design und mehr Benutzerfreundlichkeit

Controller

Zuhörer

  • Fehler 42246 – Notwendigkeit einer „Auto-Scroll“-Option in „View Results Tree“ und „Assertion Results“
  • Ergebnisbaum anzeigen: Regexp Tester - kleine Verbesserungen an der Benutzeroberfläche

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 51885 – Lassen Sie eine JMeter-Variable als Eingabe für XPathExtractor zu

Funktionen

I18N

Allgemein

  • Fehler 51822 – (Teil 1) Speichern Sie 1 Aufruf von GuiPackage#getCurrentGui
  • AsynchSampleSender hinzugefügt, der Samples asynchron vom Server zum Client sendet.
  • Upgrade auf htmlparser 2.1; JavaMail 1.4.4; JUnit 4.9

Nicht funktionale Änderungen

  • Fehler 49976 – Die Sichtbarkeit von FormCharSetFinder ist standardmäßig statt öffentlich.
  • Fehler 50917 – Eigenschaft CookieManager.save.cookies wird nicht berücksichtigt, wenn sie aus dem Testplan festgelegt wird
  • Verbessern Sie die Fehlerprotokollierung, wenn Javascript-Fehler erkannt werden.
  • Fußzeile der Dokumentation aktualisiert

Version 2.5

Zusammenfassung der wichtigsten Änderungen

  • Die HTTP-Implementierung kann jetzt zur Laufzeit ausgewählt werden, und JMeter unterstützt jetzt auch Apache HttpComponents HttpClient 4.x. Beachten Sie, dass Commons HttpClient 3.1 nicht mehr aktiv entwickelt wird und die Unterstützung von JMeter in einer zukünftigen Version möglicherweise entfernt wird.
  • Der HTTP-Sampler ermöglicht jetzt gleichzeitige Downloads von eingebetteten Ressourcen in einer HTML-Seite
  • Der HTTP-Sampler kann jetzt die Größe einer Anfrage vor der Dekomprimierung melden.
  • Die JMS- und Mail-Sampler wurden verbessert.
  • Das neue Testfragment Testelement erleichtert die Verwendung von Include-Controllern
  • Es gibt verschiedene Verbesserungen am View Results Tree Listener
  • Fehler 30563 – Thread-Gruppe sollte eine Option zum Starten der nächsten Schleife bei Beispielfehler haben
  • Es gibt zwei neue Thread-Gruppentypen – setUp und tearDown – die vor und nach den Haupt-Thread-Gruppen ausgeführt werden.
  • Der Client-Server-Modus unterstützt jetzt externes Stoppen/Herunterfahren über UDP.
    Mehrere JMeter-Serverinstanzen können auf demselben Host gestartet werden, ohne dass die Port-Eigenschaft geändert werden muss.
  • Fehler 50516 – „Host“-Header im HTTP-Header-Manager ist nicht in der generierten HTTP-Anforderung enthalten

Bekannte Fehler

Der Include-Controller hat einige Probleme im Nicht-GUI-Modus. Insbesondere kann es zu einer NullPointerException kommen, wenn es zwei Include-Controller mit demselben Namen gibt.

Der Controller Once Only verhält sich unter einer Thread-Gruppe oder einem Loop-Controller korrekt, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Der Menüpunkt Optionen / Sprache auswählen ändert nicht alle angezeigten Texte in die neue Sprache. [Das Verhalten hat sich verbessert, aber die Sprachänderung funktioniert immer noch nicht vollständig] Um die standardmäßige lokale Sprache vollständig zu überschreiben, legen Sie die JMeter-Eigenschaft „Sprache“ fest, bevor Sie JMeter starten.

Inkompatible Änderungen

Nicht unterstützte Methoden werden vom Commons HttpClient-Sampler nicht mehr in GET konvertiert.

Methode public static long currentTimeInMs() entfernt. Dies wurde durch die Instanzmethode public long currentTimeInMillis() ersetzt.

ProxyControl.getSamplerTypeName() gibt jetzt einen String anstelle eines Int zurück. Dies ist intern für die Funktionsweise des JMeter-Proxys und seiner GUI und sollte sich daher nicht auf Benutzercode auswirken.

Fehlerbehebung

HTTP-Sampler und Proxy

  • Fehler 50178 – HeaderManager, der als untergeordnetes Element der Thread-Gruppe hinzugefügt wurde, kann verkettete HeaderManager-Namen und OutOfMemoryException erstellen
  • Fehler 50392 – Wert wird beim Senden der Anfrage in Multipart gekürzt
  • Fehler 50686 – HeaderManager-Protokollierung zu ausführlich beim Zusammenführen von Instanzen
  • Fehler 50963 – AjpSampler löst java.lang.StringIndexOutOfBoundsException aus
  • Fehler 50516 – „Host“-Header im HTTP-Header-Manager ist nicht in der generierten HTTP-Anforderung enthalten
  • Bug 50544 - Im Apache Common Log verursachen die HEAD-Anfragen Probleme.
  • Fehler 51268 – HTTPS-Anfrage über einen ungültigen Proxy verursacht NullPointerException und wird nicht im Ergebnisbaum angezeigt. Anstatt „unerwartete“ Fehler an den JMeter-Thread-Handler zu delegieren, stellen Sie sicher, dass alle Ausnahmen einen Beispielfehler generieren.
  • Fehler 51275 – Cookie Panel clearGui() setzt falsche Standardrichtlinie in Java 1.6

Andere Sampler

  • Fehler 50173 – JDBCSampler verwirft ResultSet aus einem PreparedStatement
  • Stellen Sie sicher, dass JSR223 Sampler Zugriff auf das aktuelle SampleResult hat
  • Fehler 50977 – TCP-Sampler kann nicht für einzelne Samples eingestellt werden

Controller

  • Fehler 50032 – Last_Sample_Ok zusammen mit anderen Controllern funktioniert nicht richtig, wenn die Threadgruppe mehrere Schleifen hat
  • Fehler 50080 – Der Transaktionscontroller erstellt fälschlicherweise Samples einschließlich der Timerdauer
  • Fehler 50134 – TransactionController: Meldet eine schlechte Antwortzeit, wenn es andere TransactionController enthält

Zuhörer

  • Fehler 50367 – Clear / Clear all in View results tree löscht ausgewähltes Element nicht

Behauptungen

Funktionen

  • Fehler 50568 – Funktion __FileToString(): Datei konnte nicht gelesen werden, wenn die Codierungsoption leer/leer ist

I18N

Allgemein

  • Fehler 49734 – Nullzeiger-Ausnahme beim Befehl zum Beenden von Threads (Ausführen → Beenden)
  • Fehler 49666 – CSV-Header als Daten nach EOF gelesen
  • Fehler 45703 – Zeitgeber synchronisieren
  • Fehler 50088 – getAvgPageBytes in SamplingStatCalculator korrigiert, sodass er das zurückgibt, was er sollte
  • Fehler 50203 Eigenschaft „jmeter.save.saveservice.default_delimiter=\t“ kann nicht gesetzt werden
  • mirror-server.sh - Korrigiert den zu verwendenden Klassenpfad: Trennzeichen (nicht ;)
  • Fehler 50286 – URL-Umschreibungsmodifikator: Der extrahierte jsessionid-Wert ist falsch, wenn er sich zwischen XML-Tags befindet
  • System.nanoTime() neigt dazu, relativ zu System.currentTimeMillis() zu driften. Ändern Sie SampleResult, um den Offset jedes Mal neu zu berechnen. Aktivieren Sie auch die Rückkehr zur ausschließlichen Verwendung von System.currentTimeMillis().
  • Fehler 50425 – Entfernen Sie Thread-Gruppen aus dem Controller-Hinzufügen-Menü
  • Fehler 50675 – CVS-Datensatzkonfiguration inkompatibel mit Remote-Start RMI-Start wurde korrigiert, um den Speicherort der JMX-Datei relativ zu user.dir bereitzustellen.
  • Fehler 50221 – Beim Umbenennen von Elementen im Baum wird die Größe des Etiketts nicht geändert
  • Fehler 51002 – Thread beenden, wenn CSV-Datei nicht verfügbar ist. JMeter behandelt IOError jetzt als EOF.
  • Definieren Sie standardmäßig sun.net.http.allowRestrictedHeaders=true. Dies behebt Fehler 51238 .
  • Fehler 51645 – CSVDataSet liest keine UTF-8-Dateien, wenn file.encoding UTF-8 ist

Verbesserungen

HTTP-Sampler

  • AJP Sampler implementiert jetzt Interruptible
  • Auswahl der HTTP-Implementierung zur Laufzeit zulassen
  • Fehler 50684 – Deaktivieren Sie optional Content-Type und Transfer-Encoding in Multipart POST
  • Fehler 50943 – Zulassen gleichzeitiger Downloads von eingebetteten Ressourcen auf der HTML-Seite
  • Fehler 50170 – Vom HTTP-Sampler gemeldete Bytes sind nach GUnZip
    Fügen Sie optionale Eigenschaften hinzu, um die Änderung der Methode zum Abrufen der Antwortgröße zu ermöglichen
  • Ausblenden des Proxy-Passworts auf HTTP Sampler (nur auf der GUI, nicht in der JMX-Datei)

Andere Sampler

  • Fehler 49622 – Senden von Nachrichten ohne Betreff zulassen (SMTP Sampler)
  • Fehler 49603 – Akzeptieren abgelaufener Zertifikate im Mail Reader Sampler zulassen
  • Fehler 49775 – Senden von Nachrichten ohne Text zulassen
  • Fehler 49862 – Verbesserung der Ausgabe von SMTPSampler-Anforderungen.
  • Fehler 50268 – Fügt statische und dynamische Ziele zu JMS Publisher hinzu
  • JMS-Abonnent – ​​Fügen Sie ein dynamisches Ziel hinzu
  • Fehler 50666 – JMSSubscriber: Unterstützung für dauerhafte Abonnements
  • Fehler 50937 – TCP-Sampler bietet kein Zeitlimit für die Verbindung / ehrt es
  • Fehler 50569 – Jdbc Request Sampler zum optionalen Speichern von Objektdaten der Ergebnismenge
  • Fehler 51011 – Mail Reader: Sagen Sie bei fehlgeschlagener Authentifizierung, was Sie versucht haben

Controller

  • Fehler 50475 – Einführung eines Testfragment-Testelements für einen besseren Include-Fluss

Zuhörer

  • Ergebnisstruktur anzeigen – Fügen Sie ein Textfeld eines Dialogs auf der Registerkarte „Sampler-Ergebnis“ → „Parsed“ hinzu, um den langen Wert mit einem Doppelklick auf die Zelle anzuzeigen
  • Fehler 37156 – Formatierte Ansicht der Anfrage in der Ergebnisstruktur
  • Fehler 49365 – Ermöglicht das Schreiben der Ergebnismenge in eine Datei in einem Pfad relativ zum geladenen Skript
  • Fehler 50579 – Die Fehleranzahl ist lang, die Abtastanzahl ist int. Sample-Anzahl auf lang geändert.
  • Ergebnisbaum anzeigen – Neue Größenfelder hinzugefügt: Antwortheader und Antworttext (in Byte) – abgeleitet von Bug 43363

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 48015 – Vorschlag neuer Symbole für Präprozessor-, Postprozessor- und Assertion-Elemente
  • Fehler 50962 – SizeAssertionGui-Validierung verhindert die Verwendung von Variablen für die Größe
  • Größenzusage – Umfang der Antwortgröße hinzugefügt (vollständig, Header, Text, Code, Nachricht) – abgeleitet von Bug 43363

Funktionen

  • Fehler 49975 – Neue Funktion, die den Namen des aktuellen Samplers zurückgibt

I18N

  • Fügen Sie eine französische Übersetzung für die neuen Labels hinzu und reduzieren Sie die Größe einiger Labels (durch Abkürzung) im HTTP-Beispiel

Allgemein

  • Fehler 30563 – Thread-Gruppe sollte eine Option zum Starten der nächsten Schleife bei Beispielfehler haben
  • Fehler 50347 – Eclipse-Setup-Anweisungen sollten den Benutzer daran erinnern, abhängige JAR-Dateien herunterzuladen
  • Fehler 50490 – Verbesserungen beim Setup und bei Post-Thread-Gruppen für einen besseren Testablauf.
  • Alle BeanShell-Testelemente haben jetzt die Skriptvariablen „prev“ und „Label“ definiert.
  • Fehler 50708 – Classpath-JAR-Reihenfolge in NewDriver nicht alphabetisch
  • Fehler 50659 – JMeter-Server unterstützt keine gleichzeitigen Tests – verhindert, dass der Client einen anderen startet
  • Remote-Shutdown-Funktion hinzugefügt
  • Die Client-JMeter-Engine unterstützt jetzt externes Stoppen/Herunterfahren über UDP
  • Das Herunterfahren von UDP kann jetzt eine Reihe von Ports verwenden, von jmeterengine.nongui.port=4445 bis jmeterengine.nongui.maxport=4455, wodurch mehrere JMeter-Instanzen auf demselben Host möglich sind, ohne dass die Port-Eigenschaft geändert werden muss.
  • Aktualisiert auf httpcore 4.1.3 und httpclient 4.1.2

Nicht funktionale Änderungen

  • Fehler 50008 – Zulassen, dass BatchSampleSender in Unterklassen umgewandelt wird
  • Fehler 50450 – Verwenden Sie die System.array-Kopie im Jacobi-Solver, da sie nativ leistungsfähiger ist.
  • Fehler 50487 – runSerialTest verifiziert Objekte, die niemals persistent sein müssen
  • Verwenden Sie Thread.setDefaultUncaughtExceptionHandler() anstelle von private ThreadGroup
  • Update auf Commons Net 3.0

Version 2.4

Zusammenfassung der wichtigsten Änderungen

  • JMeter benötigt jetzt mindestens Java 1.5.
  • Der HTTP-Proxy kann jetzt HTTPS-Sitzungen aufzeichnen.
  • Der JUnit-Sampler unterstützt jetzt JUnit4-Anmerkungen.
  • JSR223 (javax.script) Testelemente hinzugefügt.
  • MailReader Sampler kann jetzt jedes Protokoll verwenden, das von der zugrunde liegenden Implementierung unterstützt wird.
  • Ein SMTP-Sampler wurde hinzugefügt.
  • JMeter ermöglicht es Benutzern jetzt, ihre eigenen Thread-Gruppenimplementierungen bereitzustellen.
  • View Results Tree unterstützt jetzt mehr Anzeigeoptionen, einschließlich Suche und Regex-Tests.
  • Die Leistung von StatCalculator wurde stark verbessert; Aggregate Report etc. brauchen viel weniger Speicher.
  • JMS-Sampler wurden umfassend überarbeitet und sollten keine Nachrichten mehr verlieren. Die Korrelationsverarbeitung wird verbessert. JMS Publisher und Subscriber unterstützen jetzt sowohl Themen als auch Warteschlangen.
  • Viele weitere Verbesserungen wurden vorgenommen, siehe unten und im Handbuch.

Bekannte Fehler

Der Include-Controller hat einige Probleme im Nicht-GUI-Modus. Insbesondere kann es zu einer NullPointerException kommen, wenn es zwei Include-Controller mit demselben Namen gibt.

Der Controller Once Only verhält sich unter einer Thread-Gruppe oder einem Loop-Controller korrekt, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Der Menüpunkt Optionen / Sprache auswählen ändert nicht alle angezeigten Texte in die neue Sprache. [Das Verhalten hat sich verbessert, aber die Sprachänderung funktioniert immer noch nicht vollständig] Um die standardmäßige lokale Sprache vollständig zu überschreiben, legen Sie die JMeter-Eigenschaft „Sprache“ fest, bevor Sie JMeter starten.

Inkompatible Änderungen

Die HTTP-Umleitung ist jetzt standardmäßig auf „Weiterleitungen folgen“ statt auf „Automatisch umleiten“ eingestellt. Dies soll es JMeter ermöglichen, Cookies zu verfolgen, die während Weiterleitungen gesendet werden können. Dies wirkt sich nicht auf bestehende Testpläne aus; es wirkt sich nur auf die Standardeinstellung für neue HTTP-Sampler aus.

Das Avalon-Dateiformat für JMX- und JTL-Dateien wird nicht mehr unterstützt. Solche Dateien müssen konvertiert werden, indem sie in JMeter 2.3.4 gelesen und erneut gespeichert werden.

Die Elemente XPath Assertion und XPath Extractor rufen standardmäßig keine externen DTDs mehr ab; Dies kann in der GUI geändert werden.

JMSConfigGui wurde in JMSSamplerGui umbenannt. Bestehende Prüfpläne sind davon nicht betroffen.

Der öffentliche Konstruktor SampleResult(SampleResult res) wurde geändert, um ein echter "Kopierkonstruktor" zu werden. Es ruft addSubResult() nicht mehr auf. Dies kann möglicherweise einige Add-Ons von Drittanbietern betreffen .

Fehlerbehebung

HTTP-Sampler und Proxy

  • Fehler 47445 – Die Verwendung von Proxy mit https-spoofing sicheren Cookies muss ungesichert sein
  • Fehler 47442 – Fehlende Ersetzung von https durch http unter bestimmten Bedingungen mit https-Spoofing
  • Fehler 48451 – Fehler in: SoapSampler.setPostHeaders(PostMethod post) im else-Zweig
  • Fehler 48542 – SoapSampler verwendet ein falsches Antwort-Header-Feld, um zu entscheiden, ob die Antwort gzip-codiert ist
  • Fehler 48568 – CookieManager für AjpSampler defekt
  • Fehler 48570 – AjpSampler unterstützt keine Abfrageparameter (GET/POST)
  • Fehler 46901 – HTTP-Sampler verarbeitet var/func-Referenzen nicht korrekt im ersten Dateiparameter
  • Fehler 43678 – Umgang mit META-Tag http-equiv charset?
  • Fehler 49294 – Bilder wurden nicht von umgeleiteten Seiten heruntergeladen
  • Fehler 49560 – falsche „Größe in Bytes“ beim Folgen von Weiterleitungen

Andere Sampler

  • Fehler 47420 – Erweiterte LDAP-Anforderung schließt Verbindungen während der Hinzufügungsanforderung nicht
  • Fehler 48573 – Umgang mit LDAPExtSampler-Verzeichniskontexten
  • Fehler 47870 – JMSSubscriber schlägt aufgrund von NPE fehl
  • Fehler 47899 – NullPointerExceptions im JMS ReceiveSubscriber-Konstruktor
  • Fehler 48144 – NPE in JMS OnMessageSubscriber
  • Fehler 47992 – JMS-Punkt-zu-Punkt-Anforderung – Antwortoption funktioniert nicht
  • Fehler 48579 – Single Bind zeigt keine Konfigurationsinformationen an, wenn auf LdapExt Sampler zugegriffen wird
  • Fehler 49111 – „Nachricht mit ID nicht gefunden“-Fehler auf JMS P2P-Sampler.
  • Fehler 47949 – JMS-Abonnent erhält nie alle Nachrichten
  • Fehler 46142 – JMS-Punkt-zu-Punkt-Korrelationsprobleme
  • Fehler 48747 – TCP-Sampler verschluckt Ausnahmen
  • Fehler 48709 – TCP-Sampler-Konfigurationseinstellung „Klassenname“ hat keine Auswirkung

Controller

  • Fehler 47385 – TransactionController sollte AllThreads und GroupThreads setzen
  • Fehler 47940 – Der Modul-Controller erstellt fälschlicherweise den Ersatz- Unterbaum
  • Fehler 47592 – Führen Sie Thread-Gruppen nacheinander mit „Test beenden“ im Fehlerfall aus, JMeter markiert nicht als beendet
  • Bug 48786 - Thread-Gruppen nacheinander ausführen: Bei "Stop test now" bei Fehler oder manuellem Stopp lässt JMeter das grüne Kästchen aktiv
  • Fehler 48727 – Test kann nicht beendet werden, wenn alle Thread-Gruppen deaktiviert sind

Zuhörer

  • Fehler 48603 – Mailer Visualiser sendet zwei E-Mails für eine einzige fehlgeschlagene Antwort
  • Korrekte Berechnung von min/max/std.dev für aggregierte Stichproben (Summary Report)
  • Fehler 48889 – Falsche Reaktionszeit mit mode=Statistical und num_sample_threshold > 1
  • Fehler 47398 – SampleEvents werden im verteilten Testmodus und im Nicht-GUI-Modus zweimal über RMI gesendet

Behauptungen

Funktionen

I18N

Allgemein

  • Fehler 47646 – NullPointerException im Element „Zufallsvariable“.
  • Hinzufügen von untergeordneten Elementen zur JDBC-Konfiguration nicht zulassen
  • BeanInfoSupport cachet jetzt getBeanDescriptor() - sollte ein NPE auf Nicht-Sun-JVMs vermeiden, wenn CSVDataSet (und einige andere TestBeans) verwendet wird
  • Fehler 48350 – Deadlock beim verteilten Testen mit 2 Clients
  • Fehler 48901 – Endloses Warten durch Hinzufügen des Synchronisierungstimers
  • Fehler 49149 – usermanual/index.html enthält einen Tippfehler im Link zur Seite „Reguläre Ausdrücke“.
  • Fehler 49394 – Classcast-Ausnahme in ActionRouter.postActionPerformed
  • Fehler 48136 – Wichtige Dateien fehlen im Quell-Tarball.
    Quellarchive enthalten jetzt alle Quelldateien, einschließlich Quelldateien, die zuvor nur in den Binärarchiven bereitgestellt wurden.
  • Fehler 48331 – XpathExtractor gibt keine XML-String-Darstellungen für ein Nodeset zurück

Verbesserungen

HTTP-Sampler

  • Fehler 47622 – Aufzeichnung von HTTPS-Sitzungen aktivieren
  • Erlauben Sie die Angabe des Proxy-Servers auf der HTTP-Sampler-GUI und der HTTP-Konfigurations-GUI
  • Fehler 47461 – Aktualisieren Sie den Cache-Manager, um den Expires-HTTP-Header zu verarbeiten
  • Fehler 48153 – Unterstützung für Cache-Control- und Expires-Header
  • Fehler 47946 – Der Proxy sollte die Gruppierung innerhalb eines Transaktionscontrollers aktivieren
  • Fehler 48300 – Überschreiben der IP-Quelladresse für HTTP-HttpClient-Anforderungen zulassen
  • Fehler 49083 – Reduzieren Sie „/Pfadsegment/..“ in Umleitungs-URLs

Andere Sampler

  • JUnit-Sampler unterstützt jetzt JUnit4-Tests (mit Anmerkungen)
  • Fehler 47900 – Unterbrechung von JMS SubscriberSampler zulassen
  • JSR223-Sampler hinzugefügt
  • Fehler 47556 – JMS-PointToPoint-Sampler-Timeout-Feld sollte Zeichenfolgen verwenden
  • Fehler 47947 – Mail Reader Sampler sollte das Überschreiben des Ports zulassen
  • Fehler 48155 – Mehrere Probleme/Verbesserungen mit JMS-Protokollklassen
  • MailReader-Sampler erlauben, beliebige Protokolle zu verwenden
  • Fehler 45053 - SMTP-Sampler für JMeter
  • Fehler 49552 – Hinzufügen von Nachrichtenkopfzeilen zu SMTPSampler
  • JMS Publisher und Subscriber unterstützen jetzt sowohl Themen als auch Warteschlangen. Lese-Timeout zum JMS-Abonnenten hinzugefügt. Allgemeine Bereinigung des JMS-Codes.

Controller

  • Fehler 47909 – TransactionController sollte die Latenz summieren
  • Fehler 41418 – Schließen Sie die Timer-Dauer aus der Transaktionscontroller-Laufzeit im Bericht aus
  • Fehler 48749 – Benutzerdefinierte Thread-Gruppen zulassen
  • Fehler 43389 – Include-Dateien können relativ zur aktuellen JMX-Datei gefunden werden

Zuhörer

  • DataStrippingSample-Sender hinzugefügt – unterstützt die Modi „Stripped“ und „StrippedBatch“.
  • Vergleichs-Assertion-Visualizer hinzugefügt
  • Fehler 47907 – Verbesserungen (Verbesserungen und I18N) Vergleichszusicherung und Vergleichsvisualisierer
  • Fehler 36726 – Suchfunktion zum Tree View Listener hinzugefügt
  • Fehler 47869 – Möglichkeit, Felder von SampleResult zu bereinigen
  • Fehler 47952 – JSR223-Listener hinzugefügt
  • Bug 47474 – View Results Tree-Unterstützung für Plugin-Renderer
  • Speichern der Leerlaufzeit in Beispielprotokolldateien zulassen
  • Fehler 48259 – Verbesserung der StatCalculator-Leistung durch Verwendung von TreeMap
  • Listener, die SamplingStatCalculator verwenden, haben einen stark reduzierten Speicherbedarf, da der Sample-Cache in die neue CachingStatCalculator-Klasse verschoben wurde. Insbesondere Aggregate Report kann jetzt eine große Anzahl von Proben verarbeiten.
  • Aggregierter Bericht und zusammenfassender Bericht ermöglichen jetzt das optionale Ausschließen von Spaltenüberschriften
  • Fehler 49506 – .csv-Dateierweiterung im geöffneten Dialogfeld von der Funktion „Aus Datei lesen“ von Listenern hinzugefügt
  • Fehler 49545 – Formatierte (geparste) Ansicht des Probenergebnisses in der Ergebnisstruktur

Timer, Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 47338 – XPath Extractor erzwingt das Abrufen der Dokument-DTD
  • Vergleichszusage hinzugefügt
  • Fehler 47952 – JSR223 PreProcessor und PostProcessor hinzugefügt
  • JSR223-Assertion hinzugefügt
  • BSF-Timer und JSR223-Timer hinzugefügt
  • Fehler 48511 – Auswahl von Eltern, Kindern und allem zum Regex-Extraktor hinzugefügt
  • Sampler-Bereichsauswahl zu XPathExtractor hinzufügen
  • Regular Expression Extractor, Response Assertion und Size Assertion können jetzt auf eine JMeter-Variable angewendet werden
  • Fehler 46790 – CSV-Datensatzkonfiguration sollte in der Lage sein, CSV-Header zu analysieren

Funktionen

I18N

  • Fehler 47938 – Hinzufügen einiger französischer Übersetzungen für neue Elemente
  • Fehler 48714 – neue französische Nachrichten hinzugefügt

Allgemein

  • Fehler 47223 – Langsame aggregierte Berichtsleistung (StatCalculator)
  • Fehler 47980 - Hostname wird zu 127.0.0.1 aufgelöst - IP-Angabe nicht möglich
  • Fehler 47943 – DisabledComponentRemover wird in der Start-Klasse nicht verwendet
  • HeapDumper-Klasse zur Generierung von Dumps zur Laufzeit
  • Grundlegende schreibgeschützte JavaMail-Anbieterimplementierung zum Lesen von Rohmaildateien
  • Fehler 49540 – „Hinzufügen“-Menüs alphabetisch sortieren

Nicht funktionale Änderungen

  • Beanshell-, JavaMail- und JMS-API-Jars (Apache Geronimo) sind jetzt im Binärarchiv enthalten.
  • Unterstützung für den TestBean-Tabelleneditor hinzugefügt
  • Alle externen Bibliotheken aus SVN entfernt; download_jars Ant-Ziel hinzugefügt
  • Verschiedene JAR-Dateien aktualisiert:
    • Bohnenschale - 2.0b4 ⇒ 2.0b5
    • Commons-Codec - 1.3 ⇒ 1.4
    • Commons-Sammlungen - 3.2 ⇒ 3.2.1
    • JTidy ⇒ r938
    • JUnit - 3.8.2 ⇒ 4.8.1
    • Logkit - 1.2 ⇒ 2.0
    • Xalan Serializer = 2.7.1 (früher fälschlicherweise als 2.9.1 angezeigt)
    • Xerces xml-apis = 1.3.04 (früher fälschlicherweise als 2.9.1 angezeigt)
    • Einige JAR-Dateien wurden umbenannt.

Version 2.3.4

Zusammenfassung der wichtigsten Änderungen

Dies ist eine kleinere Fehlerbehebungsversion, hauptsächlich um einige Fehler zu korrigieren, die versehentlich in 2.3.3 hinzugefügt wurden.

Bekannte Fehler

Der Include-Controller hat einige Probleme im Nicht-GUI-Modus. Insbesondere kann es zu einer NullPointerException kommen, wenn es zwei Include-Controller mit demselben Namen gibt.

Der Controller Once Only verhält sich unter einer Thread-Gruppe oder einem Loop-Controller korrekt, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Der Menüpunkt Optionen / Sprache auswählen ändert nicht alle angezeigten Texte in die neue Sprache. [Das Verhalten hat sich verbessert, aber die Sprachänderung funktioniert immer noch nicht vollständig] Um die standardmäßige lokale Sprache vollständig zu überschreiben, legen Sie die JMeter-Eigenschaft „Sprache“ fest, bevor Sie JMeter starten.

Fehlerbehebung

HTTP-Sampler und Proxy

  • Fehler 47321 – HTTPSampler2-Antwort-Timeout wird nicht berücksichtigt

Andere Sampler

  • Fehler 47290 – Endlosschleife bei Connection Factory Lookup (JMS)
  • JDBC Sampler sollte vorbereitete oder aufrufbare Anweisungen nicht schließen, da diese zwischengespeichert werden

Controller

  • Fehler 39509 – Einmaliger Controller, der zweimal ausgeführt wird

Zuhörer

  • Ändern Sie ResultCollector so, dass nur gewarnt wird, wenn das Verzeichnis nicht erstellt wurde
  • Einige Synchronisationsprobleme in ResultCollector und SampleResult behoben (falsche Sperren wurden verwendet)

I18N

  • In 2.3.3 eingeführter Fehler behoben: JMeter startet nicht, wenn es keine messages.properties-Datei für das Standardgebietsschema gibt.

Allgemein

  • Probleme mit entfernten Clients behoben – in 2.3.3 eingeführter Fehler
  • Fehler 47377 – Machen Sie ClassFinder robuster und schließen Sie Zipfile-Ressourcen
  • Einige Fehler beim Generieren der Dokumentation behoben (versteckter Fehler, der in 2.3.3 aufgedeckt wurde, als Velocity aktualisiert wurde)

Verbesserungen

Andere Sampler

  • Fehler 47266 – FTP-Request-Sampler: Ermöglicht die Angabe eines anderen FTP-Ports als des Standardports

Version 2.3.3

Zusammenfassung der wichtigsten Änderungen

Die Handhabung des Testabschlusses wurde stark verbessert. Der graduelle „Shutdown“-Befehl wartet nun, bis alle Threads beendet sind, und meldet keinen Fehler, wenn Threads nicht innerhalb von 5 Sekunden beendet werden. Der sofortige „Stop“-Befehl kann jetzt verwendet werden, wenn „Shutdown“ zu lange dauert. Auch der sofortige "Stop"-Befehl ist in der Lage, Sampler zu unterbrechen, die die neue unterbrechbare Schnittstelle (zB HTTP und SOAP, FTP) unterstützen. Dies ermöglicht den sofortigen Abschluss ausstehender Antworten. Tests im Nicht-GUI-Modus können jetzt auch mit einer „Shutdown“- oder „Stop“-Nachricht gesendet werden. Die Testaktion unterstützt jetzt eine "Stop Now"-Aktion, ebenso wie die Thread-Gruppen- und Ergebnisstatus-Aktionshandler- Postprozessorelemente.

Die Handhabung von HTTP-Cookies wurde verbessert, und HTTP POST kann jetzt variable Dateinamen korrekt verwenden. HTTP-, SOAP/XML-RPC- und WebService(SOAP)-Sampler-Zeichenkodierungen aktualisiert, um konsistenter zu sein. HTTP-Sampler unterstützen jetzt Verbindungs- und Antwort-Timeouts (erfordert JVM 1.5 für den HTTP-Java-Sampler). Zusammen mit den oben beschriebenen Verbesserungen beim Herunterfahren sollte dies die meisten Fälle vermeiden, in denen ein Testlauf hängen bleibt. Mehrere Header Manager-Elemente werden jetzt für einen einzelnen HTTP-Sampler unterstützt. Der Proxy-Server wurde verbessert und speichert standardmäßig keine "Host"-Header mehr.

JDBC Request kann optional die Ergebnisse von Select-Anweisungen in Variablen speichern. JDBC Request verarbeitet jetzt Zeichenfolgen in Anführungszeichen und UTF-8 und kann beliebige Variablentypen verarbeiten.

Es gibt mehrere neue Funktionen : Funktion __char(): Ermöglicht die Eingabe beliebiger Unicode-Zeichen in Felder. __unescape()-Funktion: ermöglicht die Verwendung von Java-escaped-Strings. _unescapeHtml()-Funktion: decodiert HTML-codierten Text. __escapeHtml()-Funktion: codiert Text mit Html-Codierung. Eine Referenz auf eine fehlende Funktion - zB ${__missing(a)} - wird jetzt genauso behandelt wie eine fehlende Variable. Zuvor wurden der Funktionsname - und das führende { - weggelassen. Dies erleichtert das Debuggen von Testplänen.

Einige Assertionen können jetzt sowohl auf Sub-Samples als auch (oder anstelle von) nur auf das Eltern-Sample angewendet werden. Es gibt ein neues Element Random Variable Configuration.

JMS-Sampler wurden stark verbessert (siehe Details unten). Der TCP Sampler unterstützt jetzt einige zusätzliche Clients und ist etwas flexibler.

Der Client-Server-Modus wurde verbessert, und der Server kann optional einen festen RMI-Port verwenden, was beim Einrichten von Firewalls helfen soll.

Es wurden verschiedene I18N-Änderungen vorgenommen; Sprachwechsel funktioniert besser (wenn auch noch nicht perfekt). Es gibt verbesserte französische Übersetzungen sowie neue polnische und brasilianische portugiesische Übersetzungen.

Das BeanShell-Jar ist jetzt im Binärarchiv enthalten; Es ist nicht erforderlich, es separat herunterzuladen.

Bekannte Fehler

Der Include-Controller hat einige Probleme im Nicht-GUI-Modus. Insbesondere kann es zu einer NullPointerException kommen , wenn es zwei Include-Controller mit demselben Namen gibt.

Der Controller Once Only verhält sich unter einer Thread-Gruppe oder einem Loop-Controller korrekt, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Der Menüpunkt Optionen  →  Sprache auswählen ändert nicht alle angezeigten Texte in die neue Sprache. [Das Verhalten hat sich verbessert, aber die Sprachänderung funktioniert immer noch nicht vollständig] Um die standardmäßige lokale Sprache vollständig zu überschreiben, legen Sie die JMeter-Eigenschaft „ Sprache “ fest, bevor Sie JMeter starten.

Inkompatible Änderungen

Beim Laden von Probenergebnissen aus einer Datei werden vorherige Ergebnisse nicht mehr gelöscht. Dadurch können mehrere Dateien zusammengeführt werden. Wenn das vorherige Verhalten erforderlich ist, verwenden Sie vor dem Laden der Datei den Menüpunkt Ausführen  →  Löschen ( Strg  +  Umschalt  +  E ) oder Ausführen  →  Alles löschen ( Strg  +  E ) .

Die Testelemente „Save Results to a file“ und „Generate Summary Results“ werden nun als Listener angezeigt. Sie wurden zuvor als Postprozessoren angezeigt, obwohl sie als Listener implementiert sind.

Der Cookie Manager speichert standardmäßig keine eingehenden Cookies mehr als Variablen. Um Cookies als Variablen zu speichern, definieren Sie die Eigenschaft " CookieManager.save.cookies=true ". Außerdem wird den Namen von Cookies das Präfix „ COOKIE_ “ vorangestellt, bevor sie gespeichert werden (dies vermeidet eine versehentliche Beschädigung lokaler Variablen). Um zum ursprünglichen Verhalten zurückzukehren, definieren Sie die Eigenschaft „ CookieManager.name.prefix= “ (ein oder mehrere Leerzeichen).

Das Counter-Element wird jetzt als Configuration-Element angezeigt. Es wurde zuvor als Pre-Processor angezeigt, obwohl es als Konfigurationselement implementiert ist.

Die obigen Änderungen wirken sich nur auf die angezeigten Symbole und die Positionen in den Popup-Menüs der GUI aus. Sie haben keinen Einfluss auf Testpläne oder Testverhalten.

Die PreProcessors werden jetzt direkt von der JMeterThread-Klasse aufgerufen, anstatt von der TestCompiler#configureSampler()-Methode. (JMeterThread verwaltet die PostProcessors). Dies wirkt sich nicht auf Testpläne oder Verhalten aus, könnte aber möglicherweise Add-Ons von Drittanbietern beeinträchtigen ( sehr unwahrscheinlich).

Der Unterabschnitt Scoping-Regeln wurde von Abschnitt 3. „Erstellen eines Testplans“ nach Abschnitt 4. „Elemente eines Testplans“ verschoben.

Der While-Controller schneidet jetzt führende und nachgestellte Leerzeichen vom Bedingungswert ab, bevor er mit LAST , leer oder falsch verglichen wird.

Die Variable "threadName" in den Funktionen _jexl() und __javaScript() wurde zuvor als "theadName" falsch geschrieben.

Die folgenden veralteten Methoden wurden aus JOrphanUtils entfernt: booleanToString(boolean) und valueOf(boolean). Java 1.4+ hat diese Methoden in der Boolean-Klasse.

Die TestElement-Schnittstelle hat einige neue Methoden:

  • void setProperty(String key, String value, String dflt)
  • void setProperty(String key, boolean value, boolean dflt)
  • void setProperty (String-Schlüssel, Int-Wert)
  • void setProperty(String key, int value, int dflt)
  • int getPropertyAsInt (String-Schlüssel, int defaultValue)
Diese sind in der AbstractTestElement-Klasse implementiert, die alle Elemente erweitern sollte, sodass dies wahrscheinlich kein Problem verursacht.

Fehlerbehebung

HTTP-Sampler und Proxy

  • Bug 46332 – HTTP Cookie Manager ignoriert manuell definierte Cookies (Bug eingeführt in r707810)
  • Der Cookie-Manager übergab die Cookie-Richtlinie nicht an Laufzeit-Threads, sodass sie immer den Kompatibilitätsmodus verwendeten
  • Versionsattribut zur JMeter-Cookie-Klasse hinzufügen (erforderlich für ordnungsgemäße Cookie-Unterstützung)
  • Cookie Manager speichert/stellt jetzt Cookie-Versionen wieder her
  • Überprüfen Sie die Gültigkeit von Cookies, bevor Sie sie speichern.
  • HTTPSampler können jetzt Variablen in geposteten Dateinamen verwenden
  • Verarbeitung des ersten Dateinamens in HTTP POST korrigiert, damit Funktionen/Variablen funktionieren (Bug eingeführt mit Unterstützung mehrerer Dateien)
  • Fehler 45831 – WS Sampler meldet einen falschen Durchsatz, wenn die SOAP-Paketerstellung fehlschlägt
  • HTTP-, SOAP/XML-RPC- und WebService(SOAP)-Sampler-Zeichenkodierungen aktualisiert, um konsistenter zu sein
  • Fehler 46148 – HTTP-Sampler schlägt bei SSL-Anforderungen fehl, wenn die Protokollierung für jmeter.util auf DEBUG eingestellt ist
  • Java 1.6 https-Fehler behoben: java.net.SocketException: Nicht verbundene Sockets nicht implementiert
  • Fehler 46838 – Wenn keine Daten vorhanden waren, muss dennoch die Latenz in HTTPSampler eingestellt werden
  • Fehler 46993 – Beim Speichern aus dem Header-Manager wird eine ClassCastException generiert
  • Fehler 46690 – Behandlung von 302-Umleitungen mit ungültigen relativen Pfaden. JMeter entfernt jetzt überflüssige führende „../“-Segmente (wie viele Browser)
  • Fehler 44521 – leere Variablen für einen POST im HTTP-Request werden nicht ignoriert
  • Fehler 46977 – JMeter verarbeitet keine HTTP-Header, die nicht durch Leerzeichen getrennt sind
  • Fehler in HTTP-Datei behoben: Handhabung - Bytes lesen, keine Zeichen in der Standardcodierung.
  • Entfernen Sie Host aus den vom Proxy-Server gespeicherten Headern, da diese normalerweise vom HTTP-Stack generiert werden
  • Fehler 45199 – Versuchen Sie nicht, leere Variablen in der Proxy-Aufzeichnung zu ersetzen
  • Ändern Sie das HTTPS-Spoofing so, dass https:-Links ersetzt werden, selbst wenn die URL-Übereinstimmung fehlschlägt
  • Bug 46436 – Verbesserung der Fehlerberichterstattung in Proxy Gui
  • Fehler 46435 – Ausführlichere Fehlermeldung für Fehler 501 (Proxy-Server)

Andere Sampler

  • Die Objekte "prev" und "sampler" sind jetzt für BSF-Testelemente definiert
  • NPE (in DataSourceElement) behoben, wenn JDBC im Client-Server-Modus verwendet wird
  • Fehler 45425 – JDBC Request unterstützt Unicode nicht (geänderter Sampler zur Verwendung von UTF-8)
  • Fehler 46522 – Falsche „Antwortdaten“ im JDBC-Beispiel, wenn Spaltennamen fehlen
  • Fehler 46821 – JDBC-Auswahlanforderung speichert die erste Spalte nicht in den Variablen
  • Fehler 43791 – Stellen Sie sicher, dass QueueReceiver im JMS Point-to-Point-Sampler geschlossen ist
  • Fehler 46016 – Vermeidung möglicher NPE in JMSSampler
  • Fehler 46142 – JMS Receiver verwendet jetzt MessageID
  • Fehler 45458 – Punkt-zu-Punkt-JMS in Kombination mit Authentifizierung
  • Fehler 45460 – JMS TestPlan-Elemente hängen von der Ressourceneigenschaft ab
  • Verschiedene ReceiveSubscriber-Thread-Sicherheitsfixes
  • JMSPublisher- und Abonnenten-Korrekturen: Thread-Sicherheit, Unterstützung dynamischer Gebietsschemaänderungen, Gebietsschema-Unabhängigkeit für JMX-Attributwerte
  • FTP Sampler meldet sich jetzt ab, bevor die Verbindung getrennt wird.
  • Der TCP-Sampler ruft jetzt die Methoden setupTest() und teardownTest() auf
  • Fehler 45887 – TCPSampler: Timeout-Eigenschaft falsch gesetzt

Controller

  • Behebung von NPE bei Verwendung von verschachtelten Transaktionscontrollern mit übergeordneten Beispielen
  • Die Verarbeitung des übergeordneten Modus des Transaktionscontrollers wurde korrigiert, sodass der aktuelle Sampler auf den tatsächlichen Sampler eingestellt ist
  • Fehler 44941 – Durchsatzcontroller sollten globale Zähler nicht gemeinsam nutzen
  • Fehler 47120 – Durchsatz-Controller: Prozentuale Ausführungen in Gesamtausführungen ändern, der Wert wird in einem String gespeichert und als 1 Ausführung interpretiert
  • Fehler 47150 – ThreadGroup mit einer Schleifenanzahl von Null verursacht eine Endlosschleife
  • Fehler 47009 – Das Einfügen eines übergeordneten Elements führte dazu, dass der Name des untergeordneten Controllers zurückgesetzt wurde
  • Fehler 47165 – Die Verwendung doppelter Modul-Controller-Namen im Befehlszeilenmodus verursacht NPE

Zuhörer

  • Die Mailer Visualizer-Dokumentation stimmt jetzt mit dem Code überein, dh die Fehler-/Erfolgszähler müssen überschritten werden, um die E-Mail auszulösen.
  • Mailer Visualizer zeigt jetzt die Anzahl der Fehler an
  • Mailer Visualiser - Parsing mehrerer E-Mail-Adressen bei Verwendung der Test-Schaltfläche behoben
  • Fehler 45976 - unvollständige Ergebnisdatei bei Verwendung von Remote-Tests mit mehr als 1 Server
  • Korrigieren Sie Summarizer, damit er im Client-Server-Modus funktioniert
  • Fehler 34096 – Doppelte Samples werden beim Schreiben in CSV-Dateien nicht entfernt
  • Speichern Sie die Einstellung „Gruppennamen in Beschriftung einbeziehen“ in aggregierten und zusammenfassenden Berichten
  • Die JMeter-Variable „sample_variables“ wird an alle Serverinstanzen gesendet, um sicherzustellen, dass die Daten für den Client verfügbar sind.
  • CSVSaveService - Beim Lesen der Zeichenfolge in Anführungszeichen auf EOF prüfen

Behauptungen

  • Fehler 45749 – Response Assertion funktioniert nicht mit einer Teilzeichenfolge, die zufällig ein ungültiges RE ist
  • Fehler 45904 – Zulassen, dass die „Nicht“-Antwortzusicherung mit Nullbeispiel erfolgreich ist

Funktionen

  • Regex-Funktion behoben - $m$mid$n$ konnte nicht korrekt verarbeitet werden
  • Schutz vor möglichem NPE in RegexFunction, wenn es während des Herunterfahrens des Tests aufgerufen wird.
  • Vermeiden Sie NPE, wenn die XPath-Funktion mit keinem Knoten übereinstimmt
  • Korrigieren Sie den Variablennamen "theadName" in den Funktionen __jexl() und __javaScript() in "threadName".
  • Eine Referenz auf eine fehlende Funktion - zB ${__missing(a)} - wird jetzt genauso behandelt wie eine fehlende Variable. Zuvor wurden der Funktionsname - und das führende { - weggelassen.

I18N

  • Sprachänderungsbehandlung für Menüs korrigiert (funktioniert noch nicht für TestBeans)
  • Fügen Sie HeaderAsPropertyRenderer hinzu, um Header-Ressourcennamen zu unterstützen; Verwenden Sie dies, um Gebietsschemaänderungen in verschiedenen GUI-Elementen zu beheben
  • Fehler 46424 – Korrekturen an der französischen Übersetzung
  • Fehler 46844 – Bezeichnung „Bibliothek“ im Testplan ist nicht I18N
  • Fehler 47064 – Korrekturen für Mac LAF
  • Fehler 47127 – Sprache kann nicht auf pl_PL geändert werden
  • Fehler 47137 – Beschriftungen in der Ansichtsergebnisstruktur sind nicht I18N
  • Fehler 46423 – I18N von Proxy Recorder
  • Fehler 45928 – AJP/1.3 Sampler ruft sein Label nicht aus messages.properties ab

Allgemein

  • Aufforderung zum Überschreiben einer vorhandenen Datei beim erstmaligen Speichern eines neuen Prüfplans
  • Ändern Sie TestBeans, um das richtige Popup-Menü für Listener anzuzeigen
  • Fehler 45185 – CSV-Datensatz-Leerzeichen als Trennzeichen verursacht OOM
  • Korrigieren Sie falsche GUI-Klassifizierungen: „Ergebnisse in einer Datei speichern“ und „Zusammenfassungsergebnisse generieren“ werden jetzt als Listener angezeigt. „Zähler“ wird nun als Konfigurationselement angezeigt.
  • Fehler 41608 – irreführende Warnmeldung im Protokoll entfernt
  • Fehler 46359 – BSF-JavaScript-Präprozessor kann bei der ersten Iteration nicht auf die Sampler-Variable zugreifen (Implementieren Sie eine vorübergehende Problemumgehung für BSF-22)
  • Fehler 46407 – BSF-Elemente laden keine Skriptdateien, versuchen, den Dateinamen als Skript zu interpretieren
  • Bessere Behandlung von Ausnahmen während des Herunterfahrens des Tests
  • Potenzielles Thread-Sicherheitsproblem in der JMeterThread-Klasse behoben
  • Bug 46491 - Falscher Wert für die letzte Variable in "CSV Data Set Config" (Fehler bei der Verarbeitung von Strings in Anführungszeichen)

Verbesserungen

HTTP-Sampler

  • Fehler 45479 – Unterstützung für mehrere HTTP-Header-Manager-Knoten
  • HTTP-Sampler unterstützen jetzt Verbindungs- und Anforderungs-Timeouts (erfordert Java 1.5 für Java Http-Sampler)
  • Apache SOAP 2.3.1 gewährt keinen Zugriff auf HTTP-Antwortcode/-nachricht, daher behandelt der WebService-Sampler jetzt eine leere Antwort als Fehler
  • Der Spiegelserver unterstützt jetzt den "X-Sleep"-Header - wenn dieser gesetzt ist, wartet der antwortende Thread die angegebene Anzahl von Millisekunden
  • Fehler 45694 – Unterstützung von GZIP-komprimierten Protokollen in Access Log Sampler

Andere Sampler

  • JDBC Request kann optional die Ergebnisse von Select-Anweisungen in Variablen speichern.
  • Die JDBC-Anforderung verarbeitet jetzt Zeichenfolgen in Anführungszeichen.
  • JDBC Request verarbeitet jetzt beliebige Variablentypen.
  • LDAP-Ergebnisdaten jetzt mit Zeilenumbrüchen formatiert
  • Fehler 45200 – MailReaderSampler: Speichern Sie die gesamte MIME-Nachricht im SamplerResult
  • Fehler 45571 – JMS-Sampler-Korrelationsverbesserung
  • Fehler 46030 – TCP-Sampler erweitern, um Binärdaten mit Längenpräfix zu unterstützen
  • Classname-Feld zu TCP-Sampler-GUIs hinzugefügt

Controller

  • Zulassen, dass der Controller variable Ausdrücke verwendet (nicht nur Javascript)
  • Entfernen Sie Leerzeichen aus der While-Controller-Bedingung, bevor Sie mit LAST vergleichen, leer oder falsch

Zuhörer

  • Antworten in einer Datei speichern kann die generierten Dateinamen in Variablen speichern.
  • Option zum Überspringen der Suffixgenerierung in „Antworten in einer Datei speichern“ hinzugefügt
  • Fehler 43119 – Antworten in Datei speichern: Optional die Dateinummer weglassen
  • BSF Listener-Element hinzufügen
  • Fehler 47176 – Ergebnisse überwachen: Ladestatus-Grafik verbessert
  • Fehler 40045 – Zulassen, dass der Ergebnismonitor einen bestimmten Konnektor auswählt
  • Effizienteres Lesen von XML-JTL-Dateien – Übergabe von Beispielen an Visualizer, während sie gelesen werden, anstatt sie alle zu speichern und dann zu verarbeiten

Behauptungen, Konfiguration, Pre- und Postprozessoren

  • Fehler 45903 – Assertionen dürfen auf Sub-Samples angewendet werden
  • Fügen Sie dem Regular Expression Extractor die Quelloption Body (ohne Escapezeichen) hinzu.
  • Zufallsvariable - Neues Konfigurationselement zum Erstellen zufälliger numerischer Variablen

Funktionen

  • Fügen Sie der Funktion __jexl() OUT- und Protokollvariablen hinzu
  • Verwenden Sie Skript, um die Funktion __jexl() auszuwerten, sodass mehrere Anweisungen vorhanden sein können.
  • Fügen Sie der Funktion __javaScript() eine Protokollvariable hinzu
  • Funktion __char() hinzugefügt: Ermöglicht die Eingabe beliebiger Unicode-Zeichen in Felder.
  • Funktion __unescape() hinzugefügt: Ermöglicht die Verwendung von Java-escaped Strings.
  • Funktion __unescapeHtml() hinzugefügt: decodiert HTML-codierten Text.
  • Funktion __escapeHtml() hinzugefügt: kodiert Text mit Html-Kodierung.

I18N

  • Fehler 45929 – verbesserte französische Übersetzungen
  • Fehler 47132 – Brasilianische Portugiesisch-Übersetzungen
  • Fehler 46900 - Polnische Übersetzungen
  • Eigenschaft locales.add hinzugefügt, um neue Locales zuzulassen

Allgemein

  • Leerzeichen in JMeter-Pfadnamen zulassen (Work-Round für Java Bug 4496398 anwenden )
  • Verarbeiten Sie JVM_ARGS zuletzt in Skriptdateien, damit Benutzer die Standardeinstellungen überschreiben können
  • Fehler 46636 – Servermodus erlauben, optional einen festen rmi-Port zu verwenden
  • Machen Sie einige Sampler unterbrechbar: HTTP (beide), SoapSampler, FTPSampler
  • Die Testaktion unterstützt jetzt die Aktion "Jetzt stoppen", ebenso wie die Elemente "Thread Group" und "Result Status Post Processor".
  • Die Menüpunkte Stop und Shutdown verhalten sich jetzt besser. Das Herunterfahren wartet nun, bis alle Threads beendet sind. Im GUI-Modus kann es abgebrochen und stattdessen ausgeführt werden. Stop now meldet, wenn einige Threads nicht beendet werden, und wird beendet, wenn sie im Nicht-GUI-Modus ausgeführt werden
  • Fügen Sie den UDP-Server hinzu, um auf die Meldung zum Herunterfahren zu warten, wenn er im Nicht-GUI-Modus ausgeführt wird; Fügen Sie einen UDP-Client hinzu, um die Nachricht zu senden.
  • Fehler 41209 – JLabeled* und QuickInfos
  • Fügen Sie BeanShell 2.0b4 jar in den binären Download ein.

Nicht funktionale Änderungen

  • Führen Sie die Klasse AbstractListenerGui ein, um das Erstellen von Listenern ohne visuelle Ausgabe zu vereinfachen
  • Behauptungen werden nach PostProcessors ausgeführt; Reihenfolge der Popup-Menüs entsprechend ändern
  • Entfernen Sie unnötige clone()-Methoden aus Funktionsklassen
  • PreProcessor-Aufruf in die JMeterThread-Klasse verschoben
  • HashTree Map-Feld endgültig gemacht
  • Verbessern Sie die Leistung beim Aufrufen von ResultCollector#isSampleWanted() für mehrere Proben
  • Aktualisiert auf neue Versionen von: xmlgraphics-commons (1.3.1), jdom (1.1), xstream (1.3.1), Velocity (1.6.2)

Version 2.3.2

Zusammenfassung der wichtigsten Änderungen

Fehlerbehebung

Version 2.3.1 änderte die Art und Weise, wie Binär- und Text-Inhaltstypen bestimmt wurden, soweit es den View Results Tree Listener betraf: Ursprünglich wurden alle Inhaltstypen außer "image/" als Text betrachtet, aber 2.3.1 führte eine Überprüfung für bestimmte Inhaltstypen ein. Dies hat zu Problemen geführt, da mehrere beliebte Typen weggelassen wurden und diese nicht mehr standardmäßig im Response-Tab angezeigt wurden. Anstatt zu versuchen, alle möglichen Texttypen aufzulisten, sucht JMeter jetzt nur nach den folgenden binären Typen:

  • Bild/*
  • Audio/*
  • Video/*
Alle anderen Typen werden nun als Text angenommen.

JMeter 2.3.1 führte einen Fehler im Cookie-Manager ein – wenn „Cookie bei jeder Iteration löschen“ ausgewählt wurde, würden alle Threads dieselben Cookies sehen. Dieser Fehler wurde behoben.

Verbesserungen

Der Proxy-Server kann jetzt binäre Anfragen aufzeichnen. Standardmäßig werden die Inhaltstypen application/x-amf und application/x-java-serialized-object als binär behandelt und in einer Datei gespeichert. Um die Inhaltstypen zu ändern, aktualisieren Sie die Eigenschaft proxy.binary.types .

Das CSV-Dataset-Konfigurationselement verfügt über neue Dateifreigabeoptionen: pro Thread-Gruppe, pro Thread, pro Kennung. Dies ermöglicht eine flexiblere Dateiverarbeitung, zB kann jeder Thread die gleichen Daten in der gleichen Reihenfolge verarbeiten.

Switch Controller funktioniert jetzt ordnungsgemäß mit Funktionen und Variablen, und die Bedingung kann jetzt ein Name statt einer Zahl sein. Der einfache Controller funktioniert jetzt ordnungsgemäß unter einem While-Controller

CSV-Felder in JTL-Dateien können jetzt Trennzeichen enthalten. CSV- und XML-Dateien können jetzt zusätzliche Variablen enthalten (definieren Sie die JMeter-Eigenschaft sample_variables ).

Response Assertion kann jetzt auf Teilstrings (dh nicht auf reguläre Ausdrücke) passen. Der Regex-Extraktor kann mit Variablen arbeiten.

XPath-Verarbeitung wurde verbessert; Ordentliche Fehler werden besser gehandhabt.

Schaltflächen zum Speichern von Tabellendaten wurden zu Zusammenfassungs- und aggregierten Berichten hinzugefügt, um ein einfaches Speichern der berechneten Daten zu ermöglichen.

HTTP-Sampler können jetzt nur den MD5-Hash der Antworten speichern, anstatt die gesamte Antwort. Als Sonderfall gilt: Wenn der HTTP-Sampler-Pfad mit „http://“ oder „https://“ beginnt, wird dies als vollständige URL verwendet und überschreibt die Host- und Portfelder. Die HTTP-Sampler können jetzt mehrere Dateien POSTen. Webservice(SOAP) Sampler kann jetzt lokale WSDL-Dateien mit dem „file:“-Protokoll laden.

Ein einfacher HTTP-Cache-Manager wurde hinzugefügt. Dies muss weiterentwickelt werden.

View Results Tree Listener verwendet jetzt Tidy, um XML anzuzeigen. Dies sollte ermöglichen, dass mehr Inhalte erfolgreich angezeigt werden. Es vermeidet auch die Notwendigkeit, entfernte DTD-Dateien herunterzuladen, die das Rendern erheblich verlangsamen können.

Der MailReader-Sampler unterstützt jetzt die Protokolle POP3S und IMAPS. Einzelne Mails werden nun als Sub-Samples hinzugefügt.

Diverse Verbesserungen am BSF Sampler: unterstützt jetzt Jexl und der Javascript-Bug funktioniert einwandfrei. Testelemente BSF PreProcessor, PostProcessor und Assertion hinzugefügt. Alle haben jetzt Zugriff auf das JMeter Properties-Objekt "props".

Die Anzahl der im Nicht-GUI-Modus geladenen Klassen ist stark reduziert.

Bekannte Fehler

Der Include-Controller hat einige Probleme im Nicht-GUI-Modus. Insbesondere kann es zu einer NullPointerException kommen, wenn es zwei Include-Controller mit demselben Namen gibt.

Unter einer Thread-Gruppe oder einem Loop-Controller verhält sich der Only-Controller OK, aber ansonsten ist sein Verhalten nicht konsistent (oder klar spezifiziert).

Der Menüpunkt Optionen / Sprache auswählen ändert nicht alle angezeigten Texte in die neue Sprache. Um die lokale Standardsprache zu überschreiben, legen Sie die JMeter-Eigenschaft „Sprache“ fest, bevor Sie JMeter starten.

Inkompatible Änderungen

  • Um die Anzahl der im Nicht-GUI-Modus geladenen Klassen zu reduzieren, werden Funktionen nur gefunden, wenn ihr Klassenname die Zeichenfolge „.functions“ enthält. und enthält nicht die Zeichenkette '.gui.'. Alle vorhandenen JMeter-Funktionen entsprechen dieser Einschränkung. Um zum früheren Verhalten zurückzukehren, kommentieren oder ändern Sie die Eigenschaften classfinder.functions.* in jmeter.properties.
  • Der Referenzwertparameter für intSum() ist jetzt optional. Wenn also ein Variablenname verwendet wird, darf dieser keine gültige Ganzzahl sein.
  • Die mitgelieferte TCPClient-Implementierung behandelt tcp.eolByte=0 nicht mehr als Sonderfall. Um die EOL-Prüfung zu überspringen, setzen Sie tcp.eolByte=1000 (oder einen anderen Wert, der kein gültiges Byte ist).
  • Führende und nachgestellte Leerzeichen werden in Funktionsaufrufen aus Variablennamen entfernt. Zum Beispiel verwendet ${__Random(1,63, LOTTERY )} die Variable 'LOTTERY' statt 'LOTTERY '.
  • Die Synchronisierung wurde aus der RunningSample-Klasse entfernt (sie war sowieso nicht vollständig threadsicher). Entwickler von Drittanbieter -Add-Ons, die die Klasse verwenden, müssen möglicherweise den Zugriff synchronisieren.

Fehlerbehebung

  • Überprüfen Sie, ob das CSV-Trennzeichen angemessen ist.
  • Korrigieren Sie den Switch Controller, damit er ordnungsgemäß mit Funktionen und Variablen funktioniert
  • Fehler 44011 – application/soap+xml wird nicht als Texttyp behandelt
  • Bug 43427 - Simple Controller wird nur teilweise in While-Schleife ausgeführt
  • Fehler 33954 – Stapelüberlauf in If/While-Controllern (möglicherweise zuvor behoben)
  • Fehler 44022 – Speicherleck beim Schließen des Testplans
  • Bug 44042 – Regression im Cookie Manager (Bug eingeführt in 2.3.1)
  • Fehler 41028 – Der JMeter-Server warnt den Benutzer nicht, wenn der Host als Loopback-Adresse definiert ist
  • Fehler 44142 – Funktion __machineName verursacht NPE, wenn Parameter weggelassen werden.
  • Fehler 44144 – JMS Point-to-Point: Request-Response-Test funktioniert nicht
  • Fehler 44314 - Es ist nicht möglich, mehr als einen SyncTimer hinzuzufügen
  • Erfassen Sie die Fehlerausgabe der Tidy-Konsole und protokollieren Sie sie
  • Behebung von Problemen mit Tidy (toleranter Parser) in XPath Assertion und XPath Extractor
  • Fehler 44374 – Verbesserung der Timer-Berechnung
  • Der Regular Expression Extractor löscht jetzt alle veralteten Variablen aus früheren Übereinstimmungen.
  • Fehler 44707 – Das Ausführen von Remote-Tests ändert den internen Testplan
  • Fehler 44625 – Es können nicht zwei oder mehr FTP-Sampler mit unterschiedlichen „put“- und „get“-Aktionen vorhanden sein
  • Fehler 40850 – BeanShell-Speicherleck
  • Stellen Sie sicher, dass ResponseCode und ResponseMessage für erfolgreiche JDBC-Beispiele festgelegt sind
  • FTPSampler erkennt und meldet jetzt Fehler beim Öffnen der Remote-Datei
  • Klassenverzeichnisse, die in search_paths und user.classpath definiert sind, brauchen kein nachgestelltes "/" mehr
  • Fehler 44852 SOAP/XML-RPC-Anforderung zeigt keine Anforderungsdetails in der Baumansicht der Ergebnisse an
  • WebService(SOAP) Sampler ResponseData enthält jetzt die vom Server gesendeten EOLs
  • Fehler 44910 – Schließen Sie den vorherigen Socket (falls vorhanden) im TCP-Sampler
  • Fehler 44912 – Filter funktioniert nicht im Log Parser
  • Die BeanShell- und BSF-Komponentendokumentation enthielt einige falsche Verweise auf das "SampleResponse"-Objekt; dies wurde in "SampleResult" korrigiert
  • BSF Sampler funktioniert jetzt korrekt mit Javascript
  • Testaktion "Test stoppen" funktioniert jetzt
  • Fehler 42833 – Die Argumentklasse verwendet LinkedHashMap in getArgumentsAsMap(), um die Reihenfolge beizubehalten
  • Fehler 45093 – SizeAssertion hat getBytes() nicht aufgerufen
  • Fehler 45007 – Standort-Header umschreiben, wenn Proxy-HTTPS-Spoofing verwendet wird
  • Verwenden Sie CRLF statt LF im Proxy, wenn Sie Header an den Client zurückgeben
  • Bug 45007 - Header der Inhaltslänge korrigiert, wenn der Inhalt möglicherweise geändert wurde

Verbesserungen

  • CSV-Dateien können jetzt Felder mit eingebetteten Trennzeichen verarbeiten.
  • Funktion longSum() hinzugefügt
  • Fehler 43382 – Tidy-Ausgabe (Warnungen, Fehler) für XPath-Assertion und Postprozessor konfigurieren
  • Fehler 43984 – Entfernen Sie Leerzeichen aus dem Hafenfeld
  • Optionalen Kommentar zur Funktion __log() hinzufügen
  • Machen Sie den Variablennamen der Zufallsfunktion optional
  • Reduzieren Sie das Laden von Klassen im Nicht-GUI-Modus, indem Sie nur nach Funktionen in Klassennamen suchen, die „.functions“ enthalten. und enthalten kein '.gui.'
  • Fehler 43379 – Der Switch Controller unterstützt jetzt die Auswahl nach Name und Nummer
  • Kann eine Liste von Variablennamen angeben, die in JTL-Dateien (CSV- und XML-Format) geschrieben werden sollen
  • Überprüft nun, ob die remoteStart-Optionen -r und -R nur mit der non_GUI-Option -n verwendet werden
  • Fehler 44184 – Ermöglicht das Speichern von Kopfzeilen mit aggregierten Diagrammdaten
  • Schaltflächen „Tabellendaten speichern“ zu Gesamt- und Zusammenfassungsberichten hinzugefügt – Tabelle im CSV-Format mit Kopfzeile speichern
  • Ermöglichen Sie die Verwendung der meisten Funktionen im Testplan. Hinweis __evalVar(), __split() und __regex() können im Testplan nicht verwendet werden.
  • Ermöglicht das Laden globaler Eigenschaften aus einer Datei, z. B. -Gglobal.properties
  • Option „Substring“ zur Response Assertion hinzufügen
  • Fehler 44378 – Türkische Lokalisierung
  • Fügen Sie der Jexl-Funktion einen optionalen Ausgabevariablennamen hinzu
  • Fügen Sie application/vnd.wap.xhtml+xml als Texttyp hinzu
  • Mittel zum Überschreiben der maximalen Anzeigegröße in der Ansichtsergebnisstruktur hinzufügen – legen Sie die Eigenschaft fest: view.results.tree.max_size
  • Verwenden Sie Tidy, um XML im View Results Tree Listener anzuzeigen (vermeidet das Abrufen von DTDs)
  • Fehler 44487 - Deutsche Übersetzung
  • Als Sonderfall, wenn der HTTP-Sampler-Pfad mit „http://“ oder „https://“ beginnt, wird dies als vollständige URL verwendet.
  • Fehler 44575 – Der Ergebnisspeicher kann jetzt nur erfolgreiche Ergebnisse speichern
  • Fehler 44650 – CSV-Datensatz verarbeitet jetzt Spaltenwerte in Anführungszeichen
  • Fehler 44600 – 1-ms-Auflösungszeitgeber bei Ausführung mit Java 1.5+
  • Fehler 44632 – Verbesserung der Texteingabe im FTP-Sampler
  • Fehler 42204 – Thread-Gruppennamen zu aggregierten und zusammenfassenden Berichten hinzugefügt
  • FTP Sampler setzt Latenz = Zeit bis zur Anmeldung
  • FTP Sampler legt eine URL fest, wenn dies möglich ist
  • Fehler 41921 – Option für Sampler hinzugefügt, um MD5 der Antwort zu speichern; getan für HTTP-Sampler.
  • Die Regex-Funktion kann jetzt auch auf eine Variable angewendet werden, anstatt nur auf das vorherige Beispielergebnis.
  • Entfernen Sie die HTML-Parametermaske und den HTTP-Benutzerparametermodifikator aus den Menüs, da sie veraltet sind
  • Fehler 44807 – Sitzungs-IDs können durch Backslash beendet werden
  • Fehler 44784 – Ermöglichen Sie, dass ein defekter Server einen zusätzlichen Zeichensatz zurückgibt
  • Eigenschaft/Variable TESTSTART.MS hinzugefügt = Startzeit des Tests in Millisekunden
  • Fügen Sie POP3S- und IMAPS-Protokolle zu Mail Reader Sampler hinzu.
  • Mail Reader Sampler erstellt jetzt für jede Mail eine Unterstichprobe.
  • Die mitgelieferte TCPClient-Implementierung behandelt tcp.eolByte=0 nicht mehr als Sonderfall. Um die EOL-Prüfung zu überspringen, setzen Sie tcp.eolByte=1000 (oder einen anderen Wert, der kein gültiges Byte ist).
  • Die JUnit-Sampler-GUI findet jetzt auch Testklassen, die in user.classpath definiert sind
  • Führende und nachgestellte Leerzeichen werden in Funktionsaufrufen aus Variablennamen entfernt. Zum Beispiel verwendet ${__Random(1,63, LOTTERY )} die Variable 'LOTTERY' statt 'LOTTERY '
  • Webservice(SOAP) Sampler kann jetzt lokale WSDL-Dateien mit dem file:-Protokoll laden
  • Fehler 44872 – Filter „Alle Dateien“ zu Dialogfeldern zum Öffnen von Dateien hinzugefügt
  • Spiegelserver kann nun unabhängig voneinander betrieben werden (mirror-server.cmd und mirror-server.sh)
  • Fehler 19128 – POST-Unterstützung für mehrere Dateien zu HTTP-Samplern hinzugefügt
  • Verwendung des Sondernamens LAST für den letzten Testlauf zulassen; gilt für die Flags -t, -l, -j
  • Fehler 44418 /42178 – Verbesserungen bei der Handhabung von CSV-Datensatzdateien
  • Gewähren Sie BeanShell-, Javascript- und Jexl-Funktionen Zugriff auf JMeter-Eigenschaften über das Objekt „props“.
  • Gewähren Sie BSF Sampler Zugriff auf JMeter-Eigenschaften über das Objekt „props“.
  • Fügen Sie Jexl als unterstützte BSF-Sampler-Sprache hinzu
  • Gewähren Sie Beanshell-Testelementen über das Objekt „props“ Zugriff auf JMeter-Eigenschaften
  • Testelemente BSF PreProcessor, PostProcessor und Assertion hinzugefügt
  • Alle BSF-Elemente haben nun über die Variable "OUT" Zugriff auf System.out
  • Summarizer aktualisiert, um Variablennamen zu verarbeiten
  • Synchronisierung zum Zusammenfassungs- und Gesamtbericht hinzugefügt, um zu versuchen, gelegentlich verlorene Proben zu verhindern
  • Fehler 44808 , Fehler 39641 – Proxy-Unterstützung für binäre Anfragen
  • Fehler 28502 – HTTP-Ressourcen-Cache

Nicht funktionale Änderungen

  • Bessere Behandlung von MirrorServer-Startproblemen und verbesserter Komponententest.
  • Der Erstellungsprozess erkennt jetzt fehlende Bibliotheken von Drittanbietern und meldet den Bedarf sowohl für Binär- als auch für Quellarchive
  • BeanShell-Tests überspringen, wenn jar nicht vorhanden ist
  • Update auf 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
  • Verwenden Sie Eigenschaften für Beschreibungen von Protokoll-/Anmeldefunktionen
  • Überprüfen Sie, ob alle jmx-Dateien im Demos-Verzeichnis geladen werden können
  • Copyright auf 2008 aktualisieren; Verwenden Sie das Copy-Tag anstelle des numerischen Zeichens in der HTML-Ausgabe
  • Von Konstruktoren aufgerufene Methoden dürfen nicht überschreibbar sein: GUI-Init-Methoden privat machen
  • Machen Sie statische Variablen nach Möglichkeit final
  • Änderungen in aktuelle und vorherige aufteilen

Version 2.3.1

Zusammenfassung der Änderungen

JMeter-Proxy

Die Proxy-Spoof-Funktion wurde in 2.3 beschädigt; es wurde behoben. Spoof unterstützt jetzt einen optionalen Parameter, um Spoofing auf bestimmte URLs zu beschränken. Dies ist nützlich für HTTPS-Seiten mit unsicherem Inhalt – zB kann auf Bilder/Stylesheets über HTTP zugegriffen werden. Gefälschte Antworten löschen jetzt den Standardport (443) von https-Links, damit sie besser funktionieren.

Ignorierte Proxy-Samples sind jetzt in Listeners sichtbar - das Label ist als Hinweis in [ und ] eingeschlossen. Proxy-Dokumentation wurde verbessert.

GUI-Änderungen

Die Menüs „Hinzufügen“ zeigen Elementtypen in der Reihenfolge, in der sie verarbeitet werden – siehe Testplan-Ausführungsreihenfolge . Es ist nicht mehr möglich, Testelemente zu unpassenden Teilen des Baums hinzuzufügen – zB können Probennehmer nicht direkt unter einem Testplan hinzugefügt werden. Dies gilt auch für Einfügen und Drag & Drop.

Das Menü „Datei“ unterstützt jetzt eine „Zurücksetzen“-Option, die die aktuelle Datei neu lädt. Auch die letzten verwendeten Dateinamen werden zum einfachen Neuladen gespeichert.

Das Optionsmenü unterstützt jetzt die Elemente Collapse All und Expand All, um die Teststruktur zu reduzieren und zu erweitern.

Remote-Tests

Der JMeter-Server startet jetzt direkt den RMI-Server (standardmäßig). Dies vereinfacht das Testen und bedeutet, dass der RMI-Server gestoppt wird, wenn der Server stoppt.

Funktionen können jetzt in Listener-Dateinamen verwendet werden (Variablen funktionieren nicht).

Die Befehlszeilenoption -G kann jetzt verwendet werden, um Eigenschaften für entfernte Server zu definieren. Die Option -X kann verwendet werden, um einen entfernten Server nach einem Nicht-GUI-Lauf zu stoppen. Der Server kann so eingestellt werden, dass er nach einem einzelnen Test automatisch beendet wird (Eigenschaft server.exitaftertest=true festlegen).

Andere Verbesserungen

Der Start von JMeter lädt nicht mehr so ​​viele Klassen; dies sollte den Speicherbedarf reduzieren.

Parameter- und Dateiunterstützung für alle BeanShell-Elemente hinzugefügt. Die Javascript-Funktion unterstützt jetzt den Zugriff auf JMeter-Objekte; Die Jexl-Funktion hatte immer Zugriff, aber die Dokumentation wurde jetzt hinzugefügt. Neue Funktionen __eval() und __evalVar() zum Auswerten von Variablen.

CSV-Dateien mit den richtigen Header-Spaltennamen werden jetzt beim Laden automatisch erkannt. Die Eigenschaften müssen nicht konfiguriert werden.

Der Hostname kann jetzt in CSV- und XML-Ausgabedateien gespeichert werden. Neue Option „Nur Erfolge“ beim Speichern von Ergebnisdateien hinzugefügt. Die Option Nur Fehler/Erfolge wird jetzt beim Laden von XML- und CSV-Dateien unterstützt.

Allgemeine Verbesserungen der Dokumentation.

HTTP

PUT und DELETE sollten jetzt richtig funktionieren. Der Cookie-Manager löscht keine manuell eingegebenen Cookies mehr.

Behandelt jetzt den META-Tag http-equiv charset

JDBC

JDBC Sampler erlaubt jetzt INOUT- und OUT-Parameter für aufgerufene Prozeduren. JDBC Sampler erlaubt jetzt Per-Thread-Verbindungen – setzen Sie Max Connections = 0 in JDBC Config.


Inkompatible Änderungen

  • Der JMeter-Server erstellt jetzt standardmäßig die RMI-Registrierung. Wenn die RMI-Registrierung bereits extern gestartet wurde, wird eine Warnmeldung generiert, der Server wird jedoch fortgesetzt. Dies sollte sich nicht auf JMeter-Tests auswirken. Wenn Sie die RMI-Registrierung jedoch auch für andere Anwendungen verwenden, kann es zu Problemen kommen. Wenn beispielsweise der JMeter-Server heruntergefahren wird, stoppt er die RMI-Registrierung. Auch benutzerdefinierte Befehlsdateien müssen möglicherweise angepasst werden (die mit JMeter gelieferten wurden aktualisiert). Um zum früheren Verhalten zurückzukehren, definieren Sie die JMeter-Eigenschaft: server.rmi.create=false .
  • Der Proxy-Server entfernt If-Modified-Since- und If-None-Match-Header aus generierten Header-Managern. Um zum vorherigen Verhalten zurückzukehren, definieren Sie die Eigenschaft proxy.headers.remove ohne Wert

Fehlerbehebung

  • Fehler 43430 – Die Anzahl der aktiven Threads ist für Remote-Beispiele falsch
  • Der Durchsatzcontroller funktionierte nicht für "alle Threads".
  • Wenn ein POST-Body nur aus Parameterwerten aufgebaut wird, werden diese jetzt codiert, wenn das Kontrollkästchen aktiviert ist.
  • Fehler 43584 – Assertionsfehlermeldung enthält ein Komma, das auch als Trennzeichen für CSV-Dateien verwendet wird
  • Der HTTP-Mirror-Server gibt jetzt immer genau denselben Inhalt zurück, früher gab er falsche Daten zurück, wenn beispielsweise die UTF-8-Codierung für den HTTP-POST-Body verwendet wurde
  • Fehler 43612 – HTTP PUT berücksichtigt keine Anforderungsparameter
  • Fehler 43694 – ForEach-Controller (Fehler bei der Verarbeitung einer leeren Sammlung)
  • Fehler 42012 – Variable Listener-Dateinamen werden in Remote-Tests nicht verarbeitet. Dateinamen können jetzt Funktionsreferenzen enthalten; Variablenreferenzen funktionieren nicht.
  • Stellen Sie sicher, dass Listener-Knoten beim Kopieren und Einfügen eine eigene Sicherungskonfiguration erhalten
  • Korrekter Proxy-Server schließt übereinstimmende Beschreibung ein und aus – Port und Abfrage sind enthalten, im Gegensatz zu zuvor dokumentierten.
  • Die Spaltenüberschrift des aggregierten Diagramms und des aggregierten Berichts ist KB/Sek.; Die Werte wurden auf KB und nicht auf Bytes festgelegt
  • Korrigieren Sie SamplingStatCalculator, sodass endTime keine verstrichene Zeit mehr hinzufügt, da dies von SampleResult gehandhabt wird. Dadurch werden Diskrepanzen zwischen der Durchsatzberechnung des Zusammenfassungsberichts und des Gesamtberichts korrigiert.
  • HTTPSampleResult standardmäßig auf ISO-8859-1-Codierung
  • Korrigieren Sie die Standardcodierung für die leere Codierung
  • HTTPS-Spoofing (Port-Problem) behoben, das in 2.3 defekt war
  • Korrigieren Sie den HTTP (Java)-Sampler, sodass http.java.sampler.retries Wiederholungen bedeutet, dh keinen anfänglichen Versuch enthält
  • Korrigieren Sie die Überprüfung des SampleResult-Datentyps, um TEXT-Dokumente besser zu erkennen

Verbesserungen

  • Fügen Sie das Ant-Ziel run_gui zum Paket hinzu und starten Sie dann die JMeter-GUI von Ant aus
  • Datei hinzufügen→Zurücksetzen, um die aktuellen Änderungen einfach zu verwerfen und die aktuell geladene Projektdatei neu zu laden
  • Fehler 31366 – Kürzlich geöffnete Datei(en) merken
  • Fehler 43351 – Unterstützung für Parameter und Skriptdatei zu allen BeanShell- Testelementen hinzugefügt
  • SaveService muss keine Klassen mehr instanziieren
  • Neue Funktionen: __eval() und __evalVar()
  • Menüpunkte erscheinen jetzt in Ausführungsreihenfolge
  • Testplanelemente können jetzt nur dort abgelegt/eingefügt/zusammengeführt werden, wo dies zulässig ist
  • Eigenschaftsanzeige, um den Wert von System- und JMeter-Eigenschaften anzuzeigen und deren Änderung zu ermöglichen
  • Fehler 43451 – Ermöglicht dem Regex-Extraktor, auf Antwortcode/ -nachricht zu reagieren
  • JDBC Sampler erlaubt jetzt INOUT- und OUT-Parameter für aufgerufene Prozeduren
  • JDBC Sampler erlaubt jetzt Per-Thread-Verbindungen
  • Der Cookie-Manager löscht keine in der GUI definierten Cookies mehr
  • HTTP-Parameter ohne Namen werden ignoriert (außer bei POST-Anforderungen ohne Datei)
  • „Auswahl speichern unter“ zum Hauptmenü hinzugefügt; überprüft jetzt, ob nur das Element ausgewählt ist
  • Testplan hat jetzt den Menüeintrag Einfügen (Einfügen wurde bereits über ^V unterstützt)
  • Wenn das Standardtrennzeichen beim Laden einer CSV-Datei nicht funktioniert, erraten Sie das Trennzeichen, indem Sie die Kopfzeile analysieren.
  • Optionales „Loopback“-Protokoll für HttpClient-Sampler hinzufügen
  • Der HTTP-Spiegelserver unterstützt jetzt das Blockieren des Wartens auf das Erscheinen weiterer Daten, wenn ein Header mit Inhaltslänge in der Anfrage vorhanden ist
  • Die HTTP Mirror Server-GUI hat jetzt die Start- und Stop-Schaltflächen an einer besser sichtbaren Stelle
  • Der Servermodus erstellt jetzt die RMI-Registrierung; zum Deaktivieren setzen Sie die JMeter-Eigenschaft server.rmi.create=false
  • HTTP Sampler unterstützt jetzt die Verwendung des Felds MIME-Typ, um den Anforderungsheader des Inhaltstyps anzugeben, wenn der Text aus Parameterwerten erstellt wird
  • Beenden nach einem einzelnen Servertest aktivieren – definieren Sie die JMeter-Eigenschaft server.exitaftertest=true
  • Option -G hinzugefügt, um Eigenschaften in Remote-Servern festzulegen
  • Option -X hinzugefügt, um Remote-Server nach Ausführung ohne GUI zu stoppen
  • Fehler 43485 – Fähigkeit, Keep-alive auf SOAP/XML-RPC-Anfrage anzugeben
  • Fehler 43678 – Umgang mit dem META-Tag http-equiv charset
  • Fehler 42555 - [I18N] Vorgeschlagene Korrekturen für die französische Übersetzung
  • Fehler 43727 – Testaktion unterstützt keine Variablen oder Funktionen
  • Der Proxy-Server entfernt standardmäßig die Header If-Modified-Since und If-None-Match aus generierten Header-Managern. Um die Liste der entfernten Header zu ändern, definieren Sie die Eigenschaft proxy.headers.remove als eine durch Kommas getrennte Liste der zu entfernenden Header
  • Die JavaScript-Funktion hat jetzt Zugriff auf JMeter-Variablen und Kontext usw. Siehe JavaScript-Funktion
  • Verwenden Sie die Dropdown-Liste für das BSF-Sampler-Sprachfeld
  • Hinzufügen von Hostnamen zu Elementen, die in CSV- und XML-Ausgabedateien gespeichert werden können.
  • Das Flag „Nur Fehler“ wird jetzt beim Laden von XML- und CSV-Dateien unterstützt
  • Stellen Sie sicher, dass ResultCollector die SaveService-Codierung verwendet
  • Der Proxy lehnt jetzt Versuche ab, ihn mit https zu verwenden
  • Proxy-Spoofing kann jetzt RE-Matching verwenden, um zu bestimmen, welche URLs gespooft werden sollen (nützlich, wenn Bilder nicht https sind)
  • Proxy-Spoofing löscht jetzt den Standard-HTTPS-Port (443), wenn https:-Links in http: konvertiert werden:
  • Nur Protokollierung und Anzeige von Erfolgen hinzufügen
  • Der Name der JMeter-Protokolldatei wird als SimpleDateFormat (auf das aktuelle Datum angewendet) formatiert, wenn er gepaarte einfache Anführungszeichen enthält, z. B. "jmeter_'yyyyMMddHHmmss'.log".
  • Optionen im Menü „Alle reduzieren“ und „Alle erweitern“ hinzugefügt
  • Optionale Definition zusätzlicher Inhaltstypen zulassen, die als Text angezeigt werden können

Nicht funktionale Verbesserungen

  • Funktorcode verschärft; Functor kann jetzt mit Schnittstellen sowie vordefinierten Zielen und Parametern verwendet werden.
  • Die Funktion zum Speichern von Grafiken fordert jetzt auf, bevor eine vorhandene Datei überschrieben wird
  • Debug Sampler und Debug PostProcessor hinzugefügt.
  • Methodennamen in Calculator und SamplingStatCalculator korrigiert
  • Aufgeräumte Listener-Dokumentation.

Version 2.3

Korrekturen seit 2.3RC4

Fehlerbehebung

  • NPE in SampleResultConverter behoben – XStream PrettyPrintWriter kann keine Nullen verarbeiten
  • Wenn der Java-HTTP-Sampler eine null ResponseMessage sieht, durch HTTP-Header ersetzen
  • Fehler 43332 - 2.3RC4 löscht Guis basierend auf TestBean nicht
  • Fehler 42948 - Probleme mit Proxy-GUI-Tabellenfeldern in Java 1.6
  • Korrigieren Sie das defekte jmeter-server-Skript
  • Fehler 43364 – Option zum Zurücksetzen des If-Controllers auf das Verhalten vor 2.3RC3
  • Fehler 43449 – Der statistische Remote-Modus verarbeitet keine Latenz
  • Fehler 43450 (teilweise behoben) – Ermöglicht das Speichern/Wiederherstellen von SampleCount und ErrorCount in Dateien

Verbesserungen

  • NameSpace-Option zum XPath-Extraktor hinzugefügt
  • NULL-Parameteroption zum JDBC-Sampler hinzugefügt
  • Hinzufügen von Dokumentationslinks für Rhino und BeanShell zu Funktionen; Variablen und Eigenschaften klären
  • Stellen Sie sicher, dass nicht abgefangene Ausnahmen protokolliert werden
  • Suchen Sie im bin-Verzeichnis von JMeter nach user.properties und system.properties, falls diese nicht lokal gefunden werden

Korrekturen seit 2.3RC3

  • NPE in Summariser behoben (in 2.3RC3 eingeführter Fehler)
  • Einrichtung des Proxy-Ports korrigiert (in 2.3RC3 eingeführter Fehler)
  • Fehler beim Ausführen von Nicht-GUI auf einem Headless-Host behoben (in 2.3RC3 eingeführter Fehler)
  • Fehler 43054 – SSLManager führt dazu, dass Belastungstests überlastet werden und abstürzen (in 2.3RC3 eingeführter Fehler)
  • Verdeutlichte Verwendung des Port-Felds in den Standardeinstellungen für HTTP-Anforderungen
  • Fehler 43006 – NPE, wenn die Datei „icon.properties“ nicht gefunden wird
  • Fehler 42918 – Die Größenzusicherung behandelt eine leere Antwort jetzt so, als hätte sie keine Länge
  • Fehler 43007 – Test endet, bevor alle Threadgruppen gestartet wurden
  • Mögliche NPE in HTTPSampler2 behoben, wenn 302 keinen Location-Header hat.
  • Fehler 42919 – Fehlernachricht leer in CSV-Ausgabe [zeichnet jetzt die erste nicht leere Nachricht auf]
  • Link zum Erweitern von JMeter PDF hinzufügen
  • Zeichensatz in Anführungszeichen beim Content-Type-Parsing zulassen
  • Fehler 39792 – ClientJMeter-Synchronisation erforderlich
  • Fehler 43122 – GUI-Änderungen werden nicht immer erkannt, wenn Tastenkombinationen verwendet werden (Fehler eingeführt in 2.3RC3)
  • Fehler 42947 – TestBeanGUI-Änderungen werden nicht erfasst, wenn Tastenkombinationen verwendet werden
  • serializer.jar hinzugefügt (benötigt für Update auf xalan 2.7.0)
  • Fehler 38687 – Modul-Controller funktioniert nicht im Nicht-GUI-Modus

Verbesserungen seit 2.3RC3

  • Option zum Beenden des Threads zum CSV-Datensatz hinzugefügt
  • commons-httpclient auf 3.1 aktualisiert
  • Fehler 28715 – Variable Cookie-Werte zulassen (CookieManager.allow_variable_cookies=false zum Deaktivieren setzen)
  • Fehler 40873 – JMS-Punkt-zu-Punkt-Zustellungsoption hinzugefügt
  • Fehler 43283 – Aktion „Speichern“ fügt .jmx hinzu, falls nicht vorhanden; sucht nach vorhandener Datei unter Speichern unter
  • Strg  +  A -Taste funktioniert nicht für Alle speichern unter; geändert zu Strg  +  Umschalt  +  S
  • Fehler 40991 – Erlauben Sie Assertionen, Header zu prüfen

Version 2.3RC3

Bekannte Probleme/Einschränkungen:

Der JMeter-Remote-Server unterstützt nicht mehrere gleichzeitige Tests – jeder Remote-Test sollte auf einem separaten Server ausgeführt werden. Andernfalls können Tests mit zufälligen Ausnahmen fehlschlagen, zB ConcurrentModification Exception in StandardJMeterEngine. Siehe Fehler 43168 .

Der Standard-HTTP-Request-Sampler (nicht HTTPClient) funktioniert möglicherweise nicht für HTTPS-Verbindungen über einen Proxy. Dies scheint auf einen Java-Bug zurückzuführen zu sein, siehe Bug 39337 . Um das Problem zu vermeiden, versuchen Sie es mit einer neueren Java-Version oder wechseln Sie zur HTTPClient-Version des HTTP-Request-Samplers.

Der übergeordnete Modus des Transaktionscontrollers unterstützt keine verschachtelten Transaktionscontroller. Dies kann zu einer Null-Zeiger-Ausnahme in TestCompiler führen.

Die Anzahl aktiver Threads ist in CSV- und XML-Dateien immer null, wenn Remotetests ausgeführt werden.

Die Eigenschaft file_format.testlog=2.1 wird genauso behandelt wie 2.2. JMeter erkennt jedoch die 3 Testplanversionen an.

Fehler 22510 – JMeter verwendet immer den ersten Eintrag im Schlüsselspeicher.

Der Remote-Modus funktioniert nicht, wenn JMeter in einem Verzeichnis installiert ist, in dem der Pfadname Leerzeichen enthält.

BeanShell-Testelemente verlieren Speicher. Dies kann reduziert werden, indem eine Datei verwendet wird, anstatt das Skript in das Testelement aufzunehmen.

Variablen und Funktionen funktionieren in Listenern im Client-Server-Modus (Remote) nicht, sodass sie nicht zum Benennen von Protokolldateien im Client-Server-Modus verwendet werden können.

CSV-Dataset-Variablen werden nach Abschluss der Konfigurationsverarbeitung definiert, sodass sie nicht für andere Konfigurationselemente wie JDBC Config verwendet werden können. (siehe Fehler 40394 )

Zusammenfassung der Änderungen (weitere Details siehe unten)

Einige der wichtigsten Verbesserungen sind:

  • Htmlparser 2.0 wird jetzt zum Parsen verwendet
  • Die HTTP-Autorisierung unterstützt jetzt Domäne und Bereich
  • HttpClient-Optionen können über die Datei httpclient.parameters angegeben werden
  • HttpClient verhält sich jetzt genauso wie Java Http für SSL-Zertifikate
  • HTTP Mirror Server zum lokalen Testen von HTTP-Samplern
  • HTTP-Proxy unterstützt XML-RPC-Aufzeichnung und andere Proxy-Verbesserungen
  • Die Funktion __V() ermöglicht die Unterstützung von verschachtelten Variablenreferenzen
  • Der LDAP-Ext-Sampler parst optional Ergebnismengen und unterstützt den sicheren Modus
  • FTP Sampler unterstützt ASCII/Binär-Modus und Upload
  • Der Transaktionscontroller generiert jetzt optional ein Beispiel mit Teilergebnissen
  • HTTPS-Sitzungskontexte werden jetzt pro Thread und nicht mehr gemeinsam genutzt. Dies ermöglicht eine bessere Emulation mehrerer Benutzer
  • BeanShell-Elemente unterstützen jetzt ThreadListener- und TestListener-Schnittstellen
  • Farbige Symbole im Tree View Listener und anderswo, um fehlerhafte Samples besser unterscheiden zu können.

Die wichtigsten Fehlerbehebungen sind:

  • Die Handhabung von HTTPS (SSL) wurde jetzt stark verbessert
  • Verschiedene Fehler im Remote-Modus behoben
  • Strg  +  C und Strg  +  V funktionieren jetzt im Testbaum
  • Latenz und Codierung jetzt in der CSV-Protokollausgabe verfügbar
  • Testelemente greifen nicht mehr standardmäßig auf vorherige Inhalte zurück; Testelemente werden beim Sprachwechsel nicht mehr gelöscht.

Inkompatible Änderungen (Verwendung):

Hinweis: Die javax.net.ssl-Eigenschaften wurden von jmeter.properties nach system.properties verschoben und funktionieren nicht mehr, wenn sie in jmeter.properties definiert sind.
Die neue Anordnung ist flexibler, da sie erlaubt, beliebige Systemeigenschaften zu definieren.

SSL-Sitzungskontexte werden jetzt pro Thread erstellt, anstatt gemeinsam genutzt zu werden. Dies erzeugt eine realistischere Last für HTTPS-Tests. Die Änderung dürfte Tests mit vielen SSL-Threads verlangsamen. Das ursprüngliche Verhalten kann durch Festlegen der JMeter-Eigenschaft aktiviert werden:

https.sessioncontext.shared=true

Der LDAP Extended Sampler verwendet jetzt dasselbe Panel für Thread-Bind- und Single-Bind-Tests. Dies bedeutet, dass alle Tests, die den Single-Bind-Test verwenden, aktualisiert werden müssen, um den Benutzernamen und das Kennwort festzulegen.

Fehler 41140 : Das Verhalten von JMeterThread wurde geändert, sodass PostProcessors in Vorwärtsreihenfolge (wie sie im Testplan angezeigt werden) und nicht wie zuvor in umgekehrter Reihenfolge ausgeführt werden. Das ursprüngliche Verhalten kann durch Setzen der folgenden JMeter-Eigenschaft wiederhergestellt werden:
jmeterthread.reversePostProcessors=true

Der HTTP-Autorisierungs-Manager verfügt jetzt über zusätzliche Spalten für Domäne und Bereich, sodass die vorübergehende Problemumgehung zur Verwendung von „\“ und „@“ im Benutzernamen zum Trennen von Domäne und Bereich entfernt wurde.

Strg  +  Z wird nicht mehr für Remote Start All verwendet – hier wird jetzt Strg  +  Umschalt  +  R verwendet

HttpClient verwendet jetzt die präventive Authentifizierung. Dies kann geändert werden, indem Sie Folgendes einstellen:

jmeter.properties:
httpclient.parameters.file=httpclient.parameters

httpclient.parameter:
http.authentication.preemptive$Boolean=false

Das Port-Feld in den HTTP-Anfrage-Standardwerten wird für https-Sampler nicht mehr ignoriert, wenn es auf 80 gesetzt ist.

Inkompatible Änderungen (Entwicklung):

Hinweis: Die Methode clear() wurde in den folgenden Schnittstellen definiert: Clearable , JMeterGUIComponent und TestElement. Die Methoden dienen unterschiedlichen Zwecken, daher wurden zwei von ihnen umbenannt: Die Clearable-Methode ist jetzt clearData() und die JMeterGUIComponent-Methode ist jetzt clearGui(). Add - Ons von Drittanbietern müssen möglicherweise neu erstellt werden.

Die Klassen Calculator und SamplingStatCalculator stellen keine Formatierung ihrer Daten mehr bereit. Die Formatierung sollte jetzt mit den Renderer-Klassen von jorphan.gui erfolgen.

Veraltete Methode JMeterUtils.split() entfernt – stattdessen JOrphanUtils-Version verwenden.

Methode saveUsingJPEGEncoder() aus SaveGraphicsService entfernt. Es wurde bisher nicht verwendet und verwendete die einzige Sun-spezifische Klasse in JMeter.

Neue Funktionalität/Verbesserungen:

  • Fügen Sie dem HTTP-Autorisierungs-Manager Domänen- und Realm-Unterstützung hinzu
  • HttpClient verhält sich jetzt genauso wie der JDK-HTTP-Sampler für ungültige Zertifikate usw
  • httpclient.parameters.file hinzugefügt, damit HttpClient-Parameter definiert werden können
  • Fehler 33964 – HTTP-Anforderungen können eine Datei als gesamten Beitragstext senden, wenn Name/Typ weggelassen werden
  • Fehler 41705 – Hinzufügen einer Inhaltscodierungsoption zu HTTP-Samplern für POST-Anforderungen
  • Fehler 40933 , Fehler 40945 – optionaler RE-Abgleich beim Abrufen eingebetteter Ressourcen-URLs
  • Fehler 27780 – (Patch 19936) HTTP-Anforderung mit mehreren Teilen/Formulardaten erstellen, ohne Datei hochzuladen
  • Fehler 42098 – Verwenden Sie die angegebene Codierung für Parameterwerte in HTTP GET
  • Fehler 42506 – JMeter-Threads verwenden jetzt unabhängige SSL-Sitzungen
  • Fehler 41707 – HTTP-Proxy-XML-RPC-Unterstützung
  • Fehler 41880 – Inhaltstypfilterung zum HTTP- Proxyserver hinzugefügt
  • Fehler 41876 – Fügen Sie weitere Optionen hinzu, um zu steuern, was der HTTP-Proxy generiert
  • Fehler 42158 – Verbesserte Unterstützung für mehrteilige/Formulardatenanforderungen im HTTP-Proxy-Server
  • Fehler 42173 – Lassen Sie den HTTP-Proxy die Codierung der Anfrage verarbeiten und entschlüsseln Sie Parameterwerte
  • Fehler 42674 – standardmäßig präventive HTTP-Autorisierung, wenn nicht angegeben
  • Unterstützt das "Datei"-Protokoll in HTTP-Samplern
  • HTTP-Autoredirects sind jetzt standardmäßig aktiviert, wenn neue Sampler erstellt werden
  • Fehler 40103 - verschiedene LDAP-Verbesserungen
  • Fehler 40369 – LDAP: Stabile Suchergebnisse im Sampler
  • Fehler 40381 – LDAP: aussagekräftigere Zeichenfolgen
  • BeanShell Post-Processor ignoriert Proben mit Null-Längen-Ergebnisdaten nicht mehr
  • Eigenschaft beanshell.init.file hinzugefügt, um ein BeanShell-Skript beim Start auszuführen
  • Fehler 39864 – BeanShell-Init-Dateien werden jetzt im aktuellen oder bin-Verzeichnis gefunden
  • BeanShell-Elemente unterstützen jetzt ThreadListener- und TestListener-Schnittstellen
  • BSF Sampler übergibt zusätzliche Variablen an das Skript
  • Timeout für WebService (SOAP) Sampler hinzugefügt
  • Fehler 40825 – Unterstützung für vorbereitete JDBC-Anweisungen hinzugefügt
  • JDBC-Sampler erweitern: Commit, Rollback, AutoCommit
  • Fehler 41457 – TCP-Sampler-Option hinzugefügt, um Verbindungen nicht wiederzuverwenden
  • Fehler 41522 – Verwenden Sie den Namen des JUnit-Samplers in den Beispielergebnissen
  • Fehler 42223 – FTP Sampler kann jetzt Dateien hochladen
  • Fehler 40804 – Zählerstandard auf max = Long.MAX_VALUE ändern
  • Verwenden Sie die Eigenschaft jmeter.home (falls vorhanden), um user.dir beim Starten von JMeter zu überschreiben
  • Neue Option -j zum einfachen Ändern der Jmeter-Protokolldatei
  • HTTP Mirror Server Workbench-Element
  • Fehler 41253 – Erweitern Sie XPathExtractor, um mit Nicht-NodeList-XPath-Ausdrücken zu arbeiten
  • Fehler 42088 – XPath-Assertion für boolesche Werte hinzugefügt
  • __V-Variablenfunktion hinzugefügt, um verschachtelte Variablennamen aufzulösen
  • Fehler 40369 – Antwort-Assertion ist gleich
  • Fehler 41704 – Ermöglicht die Angabe der Zeichensatzkodierung für CSV DataSet
  • Fehler 41259 – Kommentarfeld zu allen Testelementen hinzugefügt
  • Standardabweichung zum Zusammenfassungsbericht hinzufügen
  • Fehler 41873 – Fügen Sie AssertionResult einen Namen hinzu und zeigen Sie AssertionResult in ViewResultsFullVisualizer an
  • Fehler 36755 – Speichern Sie XML-Testdateien mit UTF-8-Codierung
  • Verwenden Sie das ISO-Datums-Zeit-Format für den Tree View Listener (vorher wurde das Jahr nicht angezeigt)
  • Laden von CSV-Dateien verbessern: wenn möglich Header verwenden, um Format zu bestimmen; schätzen Sie das Zeitstempelformat, wenn nicht Millisekunden
  • Fehler 41913 – TransactionController erstellt jetzt Stichproben als Unterstichproben der Transaktion
  • Fehler 42582 – JSON-Pretty-Printing im Tree View Listener
  • Fehler 40099 – Verwendung von Objektvariablen in ForEachController aktivieren
  • Fehler 39693 – Ergebnistabelle anzeigen verwendet ein Symbol anstelle eines Kontrollkästchens
  • Fehler 39717 - Verwendung von Symbolen im Ergebnisbaum
  • Fehler 42247 – HCI verbessern
  • Dem Benutzer erlauben, den Schließen-Dialog abzubrechen

Nicht funktionale Verbesserungen:

  • Funktoraufrufe können jetzt einheitengetestet werden
  • Ersetzen Sie die Klassen com.sun.net durch javax.net
  • Extrahieren Sie externe JAR-Definitionen in die Datei build.properties
  • Verwenden Sie bestimmte JAR-Namen in Build-Klassenpfaden, damit Fehler früher erkannt werden
  • Aufgeräumte ORO-Anrufe; jetzt nur ein Cache, Größe gegeben durch oro.patterncache.size, Standard 1000
  • Fehler 42326 – Reihenfolge der Elemente in .jmx-Dateien ändert sich

Externe JAR-Updates:

  • HTML-Parser 2.0-20060923
  • xstream 1.2.1/xpp3_min-1.1.3.4.O
  • Batik 1.6
  • BSF 2.4.0
  • Commons-Sammlungen 3.2
  • commons-httpclient-3.1-rc1
  • commons-jexl 1.1
  • commons-lang-2.3 (hinzugefügt)
  • JUnit 3.8.2
  • Geschwindigkeit 1,5
  • commons-io 1.3.1 (hinzugefügt)

Fehlerbehebung:

  • Fehler 39773 – NTLM benötigt jetzt den lokalen Hostnamen – anderen Aufruf behoben
  • Bug 40438 - Einstellung "httpclient.localaddress" hat keine Auswirkung
  • Fehler 40419 – Korrektur der Übersetzung chinesischer Nachrichten
  • Fehler 39861 – Tippfehler behoben
  • Fehler 40562 – Umleitungen rufen keine RE-Postprozessoren mehr auf
  • Fehler 40451 – Label setzen, wenn nicht vom Sampler gesetzt
  • Korrigieren Sie NPE in CounterConfig.java im Remote-Modus
  • Fehler 40791 – Rechner, der vom Zusammenfassungsbericht verwendet wird
  • Fehler 40772 – Fehlende Felder in CSV-Protokolldateien korrekt analysieren
  • Fehler 40773 – Zeitstempel der XML-Protokolldatei wurde nicht korrekt analysiert
  • Fehler 41029 – JMeter -t kann die JMX-Eingabedatei nicht schließen
  • Fehler 40954 – Statistischer Modus beim verteilten Testen zeigt falsche Ergebnisse
  • ClassCast-Ausnahme behoben, wenn Sampler verwendet wird, der null zurückgibt, z. B. TestAction
  • Fehler 41140 – Postprozessoren werden in umgekehrter Reihenfolge ausgeführt
  • Fehler 41277 – Hinzufügen von Latenz und Codierung zur CSV-Ausgabe
  • Fehler 41414 – Mac OS X fügt dem Klassenpfad „-jar“ möglicherweise ein zusätzliches Element hinzu
  • Behebung von NPE beim Speichern von Thread-Zählungen in Remote-Tests
  • Fehler 34261 – NPE in HtmlParser (fehlende Attribute zulassen)
  • Fehler 40100 – Überprüfen Sie den FileServer-Typ, bevor Sie close aufrufen
  • Fehler 39887 – jmeter.util.SSLManager: Keystore-Fehlermeldung konnte nicht geladen werden
  • Fehler 41543 – Ausnahme, wenn der Webserver „500 Internal Server Error“ zurückgibt und die Inhaltslänge 0 ist
  • Fehler 41416 – Verwenden Sie keine aufgeteilte Eingabe für Textfeldeingaben im SOAP-RPC-Sampler
  • Fehler 39827 – SOAP-Sampler-Inhaltslänge für Dateien
  • Klassenumwandlungsausnahme in Clear.java behoben
  • Fehler 40383 – Inhaltstyp nicht festlegen, wenn bereits festgelegt
  • Die Mailer Visualiser-Testschaltfläche funktioniert jetzt, wenn der Testplan noch nicht gespeichert wurde
  • Fehler 36959 – Die Tastenkombinationen „ctrl c“ und „ctrl v“ funktionieren bei den Baumelementen nicht
  • Fehler 40696 – Abrufen eingebetteter Ressourcen aus STYLE URL()-Attributen
  • Fehler 41568 – Problem beim Ausführen von Tests aus der Ferne bei Verwendung eines „Zählers“
  • Verschiedene Klassen behoben, die davon ausgingen, dass Zeitstempel immer Endzeitstempel waren:
    • SamplingStatCalculator
    • JTLData
    • Laufende Probe
  • Fehler 40325 – Angabe von Proxyuser und Proxypasswort für WebServiceSampler zulassen
  • Ändern Sie die HttpClient-Proxy-Definition, um NTCredentials zu verwenden; Eigenschaft http.proxyDomain dafür hinzugefügt
  • Fehler 40371 – Problem mit der Bildlaufleiste bei der Response-Assertion „zu testendes Muster“.
  • Fehler 40589 – Unescape von XML-Entitäten in eingebetteten URLs aufheben
  • Fehler 41902 – NPE in HTTPSampler, wenn responseCode = -1
  • Fehler 41903 – ViewResultsFullVisualizer: Die Statusspalte sieht beim Kopieren und Einfügen schlecht aus
  • Fehler 41837 – Beschädigung des Parameterwerts im Proxy
  • Fehler 41905 – Header-Manager-Felder können in Java 1.6 nicht ausgeschnitten/eingefügt/ausgewählt werden
  • Fehler 41928 – Lassen Sie alle vom HTTP-Anfrage-Sampler gesendeten Anfrage-Header im Beispielergebnis erscheinen
  • Fehler 41944 – Teilergebnisse werden von ResultSaver nicht rekursiv behandelt
  • Fehler 42022 – HTTPSampler erlaubt nicht mehrere Header mit demselben Namen
  • Fehler 42019 – Inhaltstyp nicht in umgeleiteter HTTP-Anfrage mit Unterergebnissen gespeichert
  • Fehler 42057 – Verbindung kann null sein, wenn Methode null ist
  • Fehler 41518 – JMeter ändert den Inhaltstyp des HTTP-Headers für die POST-Anfrage
  • Fehler 42156 – HTTPRequest HTTPClient urlencodes Parameterwert in POST falsch
  • Fehler 42184 – Anzahl der Bytes für Subsamples, die nicht zum Sample hinzugefügt werden, wenn Subsamples hinzugefügt werden
  • Fehler 42185 – Wenn ein HTTP-Sampler einer Umleitung folgt und zum Herunterladen von Bildern eingerichtet ist, werden Bilder mehrmals heruntergeladen
  • Fehler 39808 – Ungültige Umleitung verursacht falsche Abtastzeit
  • Fehler 42267 – Gleichzeitiger GUI-Aktualisierungsfehler in der Proxy-Aufzeichnung
  • Fehler 30120 – Name des einfachen Controllers wird zurückgesetzt, wenn ein neuer einfacher Controller als Kind hinzugefügt wird
  • Fehler 41078 - Ergebnisse bei Namensänderung des Testplans zusammenführen
  • Fehler 40077 – Beim Erstellen neuer Elemente werden Werte aus vorhandenen Elementen kopiert
  • Fehler 42325 – Implementieren Sie die „clear“-Methode für die LogicControllers
  • Bug 25441 - Testplan-Änderungen werden manchmal falsch erkannt (isDirty)
  • Fehler 39734 – Listener wurden nach dem Kopieren/Einfügen-Vorgang freigegeben
  • Fehler 40851 – Loop-Controller mit 0 Iterationen, stoppt die Auswertung des Iterationsfelds
  • Fehler 24684 – Remote-Startprobleme, wenn Leerzeichen im Pfad des jmeter
  • Verwenden Sie die Listener-Konfiguration beim Laden von CSV-Datendateien
  • Funktionsmethoden setParameters() müssen synchronisiert werden
  • Korrigieren Sie das lange optionale CLI-Argument so, dass "=" (wie für kurze Optionen) erforderlich ist
  • Beheben Sie SlowSocket, damit es ordnungsgemäß mit Httpclient (sowohl http als auch https) funktioniert
  • Fehler 41612 – In If Controller verschachtelte Schleife verhält sich unregelmäßig
  • Fehler 42232 – Ändern der Sprache löscht UDV-Inhalte
  • Die Jexl-Funktion ließ keine Variablen zu

Version 2.2

Inkompatible Änderungen:

Der Zeitstempel wird jetzt auf die Startzeit des Samplers gesetzt (es war das Ende). Um zum vorherigen Verhalten zurückzukehren, ändern Sie die Eigenschaft sampleresult.timestamp.start auf false (oder kommentieren Sie sie).

Das JMX-Ausgabeformat wurde vereinfacht und die Dateien sind nicht abwärtskompatibel

Die JMeter.BAT-Datei ändert das Verzeichnis nicht mehr in das JMeter-Home, sondern wird vom aktuellen Arbeitsverzeichnis ausgeführt. Die Dateien jmeter-n.bat und jmeter-t.bat wechseln in das Verzeichnis, das die Eingabedatei enthält.

Listener werden jetzt etwas später gestartet, um die Verwendung von Variablennamen zu ermöglichen. Dies kann einige Probleme verursachen; Wenn ja, definieren Sie Folgendes in jmeter.properties:
jmeterengine.startlistenerslater=false

Die GUI erweitert jetzt standardmäßig den Baum, wenn ein Testplan geladen wird. Dies kann durch Setzen der JMeter-Eigenschaft onload.expandtree=false deaktiviert werden

Bekannte Probleme:

  • Postprozessoren laufen in umgekehrter Reihenfolge (siehe Bug 41140 )
  • Module Controller funktioniert nicht im Nicht-GUI-Modus
  • Aggregate Report und einige andere Listener verwenden im Verlauf eines Tests immer mehr Speicher
  • Behandelt nicht standardmäßige Codierung nicht immer richtig
  • Leerzeichen im Installationspfad verursachen Probleme im Client-Server-Modus
  • Der Sprachwechsel wird nicht an alle Testelemente weitergegeben
  • SamplingStatCalculator führt eine Liste aller Proben für Berechnungszwecke; dies kann bei lang andauernden Tests zu Speichererschöpfung führen
  • Verarbeitet Serverzertifikate nicht ordnungsgemäß, wenn sie abgelaufen oder nicht lokal installiert sind

Neue Funktionalität:

  • Berichtsfunktion
  • XPath-Extraktor-Postprozessor. Behandelt einzelne und mehrere Übereinstimmungen.
  • Einfacheres JMX-Dateiformat (2.2)
  • BeanshellSampler-Code kann ResponseData direkt aktualisieren
  • Fehler 37490 – Erlaube UDV als Verzögerung in der Dauerzusicherung
  • Langsame Verbindungsemulation für HttpClient
  • Verbesserter JUnitSampler, sodass standardmäßig Fehler und Ausnahmen nicht an die Fehlermeldung angehängt werden. Benutzer müssen append explizit im Sampler aktivieren
  • Die Dokumentation für den Webservice-Sampler wurde erweitert, um zu erklären, wie er mit CSVDataSet funktioniert
  • Die Dokumentation für die Javascript-Funktion wurde erweitert, um das Komma zu erklären
  • Zulassen, dass Dateinamen für CSV-Datensätze absolut sind
  • Melden Sie Tree-Compiler-Fehler besser
  • Regex Extractor-Variable nicht zurücksetzen, wenn Standard leer ist
  • Eigenschaft includecontroller.prefix hinzugefügt
  • Der Regular Expression Extractor legt die Gruppenanzahl fest
  • Kann jetzt den gesamten Bildschirm als Bild speichern, nicht nur den rechten Bereich
  • Fehler 38901 – Hinzufügen eines optionalen SOAPAction-Headers zu SOAP Sampler
  • Neue BeanShell-Testelemente: Timer, PreProcessor, PostProcessor, Listener
  • Die Funktion __split() löscht jetzt die nächste Variable, sodass sie mit dem ForEach-Controller verwendet werden kann
  • Fehler 38682 – CallableStatement-Funktionalität zu JDBC Sampler hinzugefügt
  • Vereinfachen Sie das Ändern des RMI/Server-Ports
  • Fügen Sie die Eigenschaft jmeter.save.saveservice.xml_pi hinzu, um optionale XML-Verarbeitungsanweisungen in JTL-Dateien bereitzustellen
  • Hinzufügen von Bytes und URLs zu Elementen, die in Beispielprotokolldateien (XML und CSV) gespeichert werden können
  • Der Post-Processor „Save Responses to a File“ speichert nun den generierten Dateinamen mit der Probe, und der Dateiname kann in die Sample-Logdatei aufgenommen werden.
  • Ändern Sie das DOS-Skript jmeter.bat so, dass es von jedem Verzeichnis aus funktioniert
  • Neue Option -N zum Definieren von nonProxyHosts über die Befehlszeile
  • Neue Option -S zum Definieren von Systemeigenschaften aus der Eingabedatei
  • Fehler 26136 – Konfiguration der lokalen Adresse zulassen
  • Baum beim Laden eines Testplans standardmäßig erweitern – kann durch Festlegen der Eigenschaft onload.expandtree=false deaktiviert werden
  • Fehler 11843 – URL-Rewriter kann jetzt die Sitzungs-ID zwischenspeichern
  • Counter Pre-Processor unterstützt jetzt formatierte Zahlen
  • Unterstützung für die Methoden HEAD PUT OPTIONS TRACE und DELETE hinzugefügt
  • Änderung der Standard-HTTP-Implementierung zulassen
  • Speichern Sie optional die Anzahl aktiver Threads (Gruppe und alle) in Ergebnisdateien
  • Variablen/Funktionen können jetzt in Listener-Dateinamen verwendet werden
  • Neue Funktion __time(); Definieren Sie START.MS/START.YMD/START.HMS-Eigenschaften und -Variablen
  • Fügen Sie Thread-Namen zu Baum- und Tabellenansichten hinzu
  • Debug-Funktionen hinzufügen: Welche Klasse, Debuggen an, Debuggen aus
  • Nicht-Caching-Rechner – wird von Table Visualiser verwendet, um den Speicherbedarf zu reduzieren
  • Zusammenfassender Bericht – ähnlich dem aggregierten Bericht, verbraucht jedoch weniger Speicher
  • Fehler 39580 – Recycling-Option für CSV -Datensatz
  • Fehler 37652 – Unterstützung für das Ajp-Tomcat-Protokoll
  • Fehler 39626 – Laden von SOAP/XML-RPC-Anforderungen aus Datei
  • Fehler 39652 – Abschneiden von Beschriftungen auf AxisGraph zulassen
  • Verwendung von htmlparser 1.6 zulassen
  • Fehler 39656 – Verwenden Sie immer die SOAP-Aktion, wenn sie bereitgestellt wird
  • Automatisches Einschließen von Eigenschaften aus der Datei user.properties
  • Funktion __jexl() hinzufügen - wertet Commons JEXL-Ausdrücke aus
  • Laden Sie optional JMeter-Eigenschaften aus user.properties und Systemeigenschaften aus system.properties.
  • Fehler 39707 – Regex-Abgleich mit URL zulassen
  • Startzeit zu Table Visualiser hinzufügen
  • HTTP-Sampler können jetzt eingebettete Ressourcen für alle erforderlichen Medientypen extrahieren

Fehlerbehebung:

  • NPE behoben, wenn kein Modul im Modul-Controller ausgewählt ist
  • NPE in XStream behoben, wenn keine ResponseData vorhanden sind
  • Entfernen Sie das Präfix ?xml, wenn Sie mit Java 1.5 und ohne x-jars laufen
  • Fehler 37117 – Funktion setProperty() sollte „“ zurückgeben; optionale Rückkehr der ursprünglichen Einstellung hinzugefügt
  • Korrigieren Sie das CSV-Ausgabezeitformat
  • Fehler 37140 – Kodierung in RegexFunction besser handhaben
  • Laden Sie alle Cookies, nicht nur das erste; Klasse-Cast-Ausnahme behoben
  • Standard-Cookie-Pfadnamen korrigieren (Seitennamen entfernen)
  • Ergebniscode-Attributname korrigiert
  • Fehler 36898 – Codierung auf RegexExtractor anwenden
  • Fügen Sie Eigenschaften zum Speichern von Teilergebnissen, Assertions, Latenz, samplerData, responseHeaders, requestHeaders und Codierung hinzu
  • Fehler 37705 – Der Synchronisierungstimer funktioniert jetzt einwandfrei, nachdem der Lauf gestoppt wurde
  • Fehler 37716 – Proxy-Anfrage verarbeitet Datei-Post jetzt korrekt
  • HttpClient Sampler spart jetzt Latenz
  • Behebung von NPE bei Verwendung der JavaScript-Funktion im Testplan
  • Korrigieren Sie das Parsen von Basis-Href in htmlparser
  • Fehler 38256 – Umgang mit Cookies ohne Pfad
  • Fehler 38391 – Verwenden Sie long, wenn Sie Timer-Verzögerungen akkumulieren
  • Fehler 38554 – Die Zufallsfunktion verwendet jetzt lange Zahlen
  • Fehler 35224 – doppelte Attribute für LDAP-Sampler zulassen
  • Fehler 38693 – Webservice-Sampler kann jetzt das https-Protokoll verwenden
  • Fehler 38646 – Regex Extractor löscht jetzt alte Variablen bei Übereinstimmungsfehlern
  • Fehler 38640 – WebService-Sampler-Pooling behoben
  • Fehler 38474 – HTML-Link-Parser folgt Frame-Links nicht
  • Fehler 36430 – Counter verwendet jetzt long statt int, um den Bereich zu vergrößern
  • Fehler 38302 - XPath-Funktion behoben
  • Fehler 38748 – JDBC DataSourceElement schlägt beim Remote-Testen fehl
  • Fehler 38902 - manchmal scheint -1 unnötigerweise für den Antwortcode zurückgegeben zu werden
  • Fehler 38840 – XML-Assertion Thread-sicher machen
  • Fehler 38681 – Controller einbeziehen funktioniert jetzt im Nicht-GUI-Modus
  • Write(OS,IS)-Implementierung zu TCPClientImpl hinzufügen
  • Der Beispielergebniskonverter speichert den Antwortcode als "rc". Zuvor wurde es als "rs" gespeichert, aber mit "rc" gelesen; es wird jetzt auch mit "rc" gelesen. Die XSL-Stylesheets akzeptieren jetzt auch entweder "rc" oder "rs"
  • Korrigieren Sie die Zählerfunktion, sodass jede Zählerinstanz unabhängig ist (zuvor wurden die Zähler pro Benutzer von Instanzen der Funktion gemeinsam genutzt).
  • Korrigieren Sie TestBean-Beispiele, damit sie funktionieren
  • Korrigieren Sie den JTidy-Parser, sodass er keine Body-Tags mit Hintergrundbildern überspringt
  • Korrigieren Sie den HtmlParser-Parser so, dass er alle Hintergrundbilder erfasst
  • Fehler 39252 Festlegen des SoapSampler-Beispielergebnisses aus XML-Daten
  • Fehler 38694 – WebServiceSampler stellt die Datencodierung nicht richtig ein
  • Result Collector schließt jetzt von Listenern gelesene Eingabedateien
  • Fehler 25505 – Erstes HTTP-Sampling schlägt fehl mit „HTTPS-Hostname falsch: sollte ‚localhost‘ sein“
  • Fehler 25236 – Entfernen Sie die doppelte Bildlaufleiste aus dem Assertion Result Listener
  • Fehler 38234 – Graph Listener dividiert durch Null Problem
  • Fehler 38824 – Klärung des Verhaltens von Status ignorieren
  • Fehler 38250 - jmeter.properties "Sprache" unterstützt jetzt das Ländersuffix für zh_CN und zh_TW usw
  • Die Datei jmeter.properties wird jetzt geschlossen, nachdem sie gelesen wurde
  • Fehler 39533 – StatCalculator hat falsche Elemente hinzugefügt
  • Fehler 39599 – ConcurrentModificationException
  • HTTPSampler2 handhabt jetzt Auto- und Follow-Umleitungen korrekt
  • Fehler 29481 - Behebung des erneuten Ladens von Beispielergebnissen, sodass Teilergebnisse nicht doppelt gezählt werden
  • Fehler 30267 – Behandeln Sie AutoRedirects richtig
  • Fehler 39677 – Platz in der JMETER_BIN-Variable zulassen
  • Verwenden Sie die Analyse und Verwaltung von Commons HttpClient-Cookies. Beheben Sie verschiedene Probleme bei der Handhabung von Cookies.
  • Fehler 39773 – NTCredentials benötigt einen Hostnamen

Andere Änderungen

  • Aktualisiert auf HTTPClient 3.0 (von 2.0)
  • Aktualisiert auf Commons-Sammlungen 3.1
  • Verbesserte Formatierung von Anforderungsdaten in der Baumansicht
  • Erweiterte Benutzerdokumentation
  • Manifest, Hinweis und Lizenz zu allen Gläsern hinzugefügt
  • Extrahieren Sie die htmlparser-Schnittstelle in eine separate JAR-Datei, um den Parser ersetzen zu können
  • SQL Config GUI entfernt, da nicht mehr benötigt (oder funktioniert!)
  • HTTPSampler protokolliert keine Warnung mehr für Seite nicht gefunden (404)
  • StringFromFile jetzt aufrufbar als __StringFromFile (sowie _StringFromFile)
  • Aktualisiert auf Commons Logging 1.1

Version 2.1.1

Neue Funktionalität:

  • Der neue Include-Controller ermöglicht es einem Testplan, auf eine externe JMX-Datei zu verweisen
  • Neuer JUnitSampler für die Verwendung von JUnit-Testklassen hinzugefügt
  • Der neue Aggregate Graph-Listener kann aggregierte Statistiken grafisch darstellen
  • Kann zusätzliche Klassenpfadeinträge mithilfe der Eigenschaft user.classpath und im Testplanelement bereitstellen

Fehlerbehebung:

  • AccessLog Sampler- und JDBC-Testelemente wurden korrekt aus 2.0-Testplänen ausgefüllt
  • BSF Sampler füllt jetzt den Dateinamen und die Parameter aus dem gespeicherten Testplan aus
  • Fehler 36500 – Behandeln Sie fehlende Daten eleganter in WebServiceSampler
  • Fehler 35546 – ​​Zusammenführen zum Rechtsklickmenü hinzugefügt
  • Fehler 36642 – Summariser funktioniert seit 2.1 nicht mehr
  • Fehler 36618 – Die CSV-Kopfzeile stimmte nicht mit den gespeicherten Daten überein
  • JMeter sollte jetzt unter JVM 1.3 laufen (baut aber nicht mit 1.3)

Version 2.1

Neue Funktionalität:

  • Neues Testskript-Dateiformat – kleiner, kompakter, besser lesbar
  • Neues Dateiformat für Probenergebnisse - kleiner, kompakter
  • XSchema-Assertion
  • XML-Baumanzeige
  • CSV-DataSet-Konfigurationselement
  • Neues JDBC-Verbindungspool-Konfigurationselement
  • Synchronisationstimer
  • setProperty-Funktion
  • Antwortdaten bei Fehler speichern
  • Ant JMeter XSLT zeigt jetzt optional fehlgeschlagene Antworten und hat interne Links
  • Auslassen des JavaScript-Variablennamens zulassen
  • Folgende Probennehmer wurden geändert, um die Probenbeschriftung vom Namen des Probennehmers festzulegen
  • Alle Testelemente können als Grafik in einer Datei gespeichert werden
  • Fehler 35026 – RE-Musterabgleich zu Proxy hinzugefügt
  • Fehler 34739 – Verbesserter konstanter Durchsatz-Timer
  • Fehler 25052 – Verwenden Sie die Antwortcodierung, um eine Vergleichszeichenfolge in der Antwortzusicherung zu erstellen
  • Neue optionale Symbole
  • Ermöglicht das Definieren von Symbolen über Eigenschaftsdateien
  • Neue Stylesheets für die XML-Testausgabe im 2.1-Format
  • Sampler, Konfigurationselement und Listener als PNG speichern
  • Verbesserte Unterstützung für die WSDL-Verarbeitung
  • Neuer JMS-Sampler für Themen- und Warteschlangennachrichten
  • How-to für JMS-Sampler
  • Fehler 35525 – Spanische Lokalisierung hinzugefügt
  • Fehler 30379 – server.rmi.port kann überschrieben werden
  • Der Monitor-Listener wurde erweitert, um die berechneten Statistiken zu speichern
  • Funktionen und Variablen funktionieren jetzt auf der obersten Ebene des Testplans

Fehlerbehebung:

  • Fehler 34586 – XPath blieb immer als /
  • BeanShellInterpreter hat Nullobjekte nicht richtig verarbeitet
  • Korrigieren Sie chinesische Ressourcenpaketnamen
  • Feldnamen bei Bedarf in CSV-Dateien speichern
  • Stellen Sie sicher, dass die XML-Datei geschlossen ist
  • Korrekte Symbole werden jetzt für TestBean-Komponenten angezeigt
  • Lassen Sie fehlende optionale Gläser beim Erstellen von Menüs zu
  • Sampler geändert, um das Sample-Label vom Sampler-Namen festzulegen, wie es bei HTTP der Fall war
  • Korrigieren Sie verschiedene Sampler, um NPEs zu vermeiden, wenn unvollständige Daten bereitgestellt werden
  • Korrigieren Sie den Cookie-Manager so, dass er Sekunden verwendet; Debug hinzufügen
  • Fehler 35067 – Einrichten des Dateinamens bei Verwendung der Option -t
  • Ersetzen Sie TestElement.*-Eigenschaften nicht durch UDVs in Proxy
  • Fehler 35065 – alte Erweiterungen nicht im Dateischoner speichern
  • Fehler 25413 – Aktivieren Sie die Neustart-Schaltfläche nicht unnötigerweise
  • Fehler 35059 – Runtime Controller funktioniert nicht mehr
  • Löschen Sie alle verbleibenden Verbindungen, die von LDAP Extended Sampler erstellt wurden
  • Fehler 23248 - Modul-Controller hat sich zwischen Speichern und Neuladen nicht an Dinge erinnert
  • Korrigieren Sie chinesische Gebietsschemas
  • Fehler 29920 – Ändern Sie bei Bedarf das Standardgebietsschema, um sicherzustellen, dass Standardeigenschaften übernommen werden, wenn Englisch ausgewählt ist.
  • Fehlerbehebungen für Tomcat-Monitorbeschriftungen
  • Der Webservice-Sampler wurde korrigiert, sodass er mit benutzerdefinierten Variablen funktioniert
  • Bildschirmränder für LDAP-Konfigurations-GUI-Elemente korrigiert
  • Fehler 31184 – Stellen Sie sicher, dass die Codierung im JDBC-Sampler angegeben ist
  • TCP-Sampler - nur Sockets mit gleichen Host:Port-Details teilen; Korrigieren Sie die Anleitung
  • Extrahieren Sie das src-Attribut für Embed-Tags in JTidy und HTML-Parsern

Version 2.0.3

Neue Funktionalität:

  • XPath-Assertion und XPath-Funktion
  • Controller wechseln
  • ForEach Controller kann jetzt Gruppen von Gruppen durchlaufen
  • Änderung des CSVRead-Trennzeichens zulassen (siehe jmeter.properties)
  • Fehler 33920 – zusätzliche Eigenschaftsdateien zulassen
  • Fehler 33845 – direktes Überschreiben des Home-Verzeichnisses zulassen

Fehlerbehebung:

  • Die verschachtelte Konstante des Regex-Extraktors wurde nicht an der richtigen Stelle platziert. Fehler 32395
  • Startzeit ggf. auf jetzt zurücksetzen, damit die Verzögerung OK funktioniert.
  • Bei fehlenden Start-/Endzeiten im Planer wird davon ausgegangen, dass sie jetzt sind, nicht 1970
  • Fehler 28661 – 304-Antworten erscheinen nicht in Listenern
  • DOS-Skripte können jetzt besser mit verschiedenen Datenträgern umgehen
  • Fehler 32345 – HTTP Rewriter funktioniert nicht mit HTTP-Anforderungsstandard
  • Fangen Sie Laufzeitausnahmen ab, damit ein Fehler in einem Listener keine Auswirkungen auf andere hat
  • Fehler 33467 - __threadNum() hat die Nummer falsch extrahiert
  • Fehler 29186 , 33299 – CLI-Parsing von „-“ im zweiten Argument behoben
  • CLI-Analysefehler behoben: -D arg1=arg2. Protokollieren Sie weitere Startparameter.
  • Korrigieren Sie JTidy- und HTMLParser-Parser, um form src= und link rel=stylesheet zu verarbeiten
  • JMeterThread protokolliert jetzt Fehler in jmeter.log, die auf der Konsole erschienen sind
  • Stellen Sie sicher, dass die WhileController-Bedingung dynamisch überprüft wird
  • Fehler 32790 stellt sicher, dass die Bedingung des If Controllers jedes Mal neu bewertet wird
  • Fehler 30266 – Dokumentieren Sie, wie Proxy-Aufzeichnungsantworten angezeigt werden
  • Fehler 33921 ​​- Beim Zusammenführen sollte der Dateiname nicht geändert werden
  • Datei schließen gibt jetzt die Möglichkeit, Änderungen zu speichern
  • Fehler 33559 – Korrekturen am Runtime Controller

Weitere Änderungen:

  • Um bei der Variablenauswertung zu helfen, setzt JMeterThread "sampling started" etwas früher (siehe jmeter.properties)
  • Fehler 33796 – Lösche Cookies mit null/leeren Werten
  • Bessere Überprüfung der Parameteranzahl in der JavaScript-Funktion
  • Die Thread-Gruppe ist jetzt standardmäßig auf 1 Schleife statt für immer eingestellt
  • Der gesamte Beanshell-Zugriff erfolgt jetzt über eine einzige Klasse; benötigen nur BSH-jar zur Laufzeit
  • Fehler 32464 – Dokumentieren Sie Direct Draw-Einstellungen in jmeter.bat
  • Fehler 33919 – Zählerfeldgröße erhöhen
  • Fehler 32252 – ForEach initialisierte keine Zähler

Version 2.0.2

Neue Funktionalität:

  • Während Controller
  • BeanShell-Initialisierungsskripte
  • Der Ergebnisspeicher kann optional nur fehlgeschlagene Ergebnisse speichern
  • Anzeige als HTML hat die Option, Frames und Bilder usw. nicht herunterzuladen
  • Mehrere Tree-Elemente können jetzt gleichzeitig aktiviert/deaktiviert/kopiert/eingefügt werden
  • __split() Funktion hinzugefügt
  • Bug 28699 ermöglicht es Assertion, erfolglose Antworten - zB 404 - als erfolgreich zu betrachten
  • Bug 29075 Regex Extractor kann jetzt Daten aus dem HTTP-Antwortheader sowie dem Hauptteil extrahieren
  • __log()-Funktionen können jetzt in stdout und stderr schreiben
  • Der URL-Modifikator kann jetzt optional Abfrageparameter ignorieren

Fehlerbehebung:

  • Wenn der Controller jetzt nach der ersten falschen Bedingung funktioniert, Fehler 31390
  • Die Regex-GUI verlor den Überblick über das Kontrollkästchen Header/Body Bug 29853
  • Als HTML anzeigen behandelt jetzt Frames und relative Bilder
  • Klicken Sie mit der rechten Maustaste auf „Öffnen“, ersetzt durch „Zusammenführen“.
  • Beheben Sie einige Drag-and-Drop-Probleme
  • Für jedes Demo-Beispiel korrigiert, damit es funktioniert
  • Fehler 30741 SSL-Passwortabfrage funktioniert jetzt wieder
  • StringFromFile schließt jetzt Dateien am Ende des Tests; Beginn und Ende jetzt wie vorgesehen optional
  • Fehler 31342 Text von SOAP-Sampler-Headern korrigiert
  • Der Proxy muss jetzt gestoppt werden, bevor er entfernt werden kann . Fehler 25145
  • Link Parser unterstützt jetzt BASE href Bug 25490
  • Fehler 30917 Classfinder ignoriert doppelte Namen
  • Fehler 22820 Löschen des Zählerwerts zulassen
  • Fehler 28230 Behebung von NPE im HTTP-Sampler beim Abrufen eingebetteter Ressourcen
  • Handhabung von StopTest verbessern; Fangen und protokollieren Sie weitere Fehler
  • ForEach Controller führt keine Samples mehr aus, wenn die erste Variable nicht definiert ist
  • Fehler 28663 NPE in Remote-JDBC-Ausführung
  • Fehler 30110 Deadlock in der stopTest-Verarbeitung
  • Fehler 31696 Dauer funktioniert nicht richtig, wenn Scheduler verwendet wird
  • JMeterContext verwendet jetzt ThreadLocal - sollte einige potenzielle NPE-Fehler beheben

Version 2.0.1

Bugfix-Veröffentlichung. TBA.

Version 2.0

  • HTML-Parsing verbessert; hat jetzt die Wahl zwischen 3 Parsern, und die meisten eingebetteten Elemente können jetzt erkannt und heruntergeladen werden.
  • Umleitungen können jetzt an URLConnection delegiert werden, indem die JMeter-Eigenschaft HTTPSamper.delegateRedirects=true definiert wird (Standard ist „false“)
  • Stop Thread- und Stop Test-Methoden wurden für Sampler und Assertions usw. hinzugefügt. Sampler können setStopThread(true) oder setStopTest(true) aufrufen, wenn sie einen Fehler entdecken, der den Thread des Tests stoppen muss, nachdem das Sample verarbeitet wurde
  • Thread Group Gui hat jetzt einen zusätzlichen Bereich, um festzulegen, was nach einem Sampler-Fehler passiert: Fortfahren (wie jetzt), Thread stoppen oder Test stoppen. Dies muss irgendwann auf eine niedrigere Ebene ausgedehnt werden.
  • Herunterfahren zum Ausführen-Menü hinzugefügt. Dies ist dasselbe wie Stop, außer dass es die Threads normal beenden lässt (dh nachdem das nächste Sample abgeschlossen wurde).
  • Remote-Samples können bis zum Ende eines Tests zwischengespeichert werden, indem beim Ausführen des Servers die Eigenschaft hold_samples=true definiert wird. Es ist mehr Arbeit erforderlich, um dies über die GUI steuern zu können
  • Der Proxy-Server hat die Option, Header des Aufzeichnungsbrowsers zu überspringen
  • Proxy-Neustart funktioniert besser (wartet auf Beendigung des Daemons)
  • Der Scheduler ignoriert den Start, wenn er bereits vergangen ist
  • Der Scheduler hat jetzt eine Verzögerungsfunktion
  • Tests für Summarizer-Testelemente (hauptsächlich für Nicht-GUI) hinzugefügt. Dadurch werden von Zeit zu Zeit (standardmäßig 3 Minuten) zusammenfassende Statistiken an System.out und/oder die Protokolldatei ausgegeben. Es können mehrere Summierer verwendet werden; Proben werden nach Summarizer-Namen akkumuliert.
  • Zusätzliche Proxy-Server-Optionen: Erstellen Sie alle Sampler mit deaktivierter Keep-Alive-Funktion. Fügen Sie Trennzeichen zwischen Sätzen von Samples hinzu. Fügen Sie dem ersten Sampler in jedem Satz Antwortzusicherung hinzu
  • Testplan hat ein Kommentarfeld
  • Die Hilfeseite kann jetzt in den Hintergrund verschoben werden
  • Separate Funktionshilfeseite
  • Neue / geänderte Funktionen
    • __property()- und __P()-Funktionen
    • __log() und __logn() - zum Schreiben in die Protokolldatei
    • _StringFromFile kann nun eine Folge von Dateien verarbeiten, zB dir/file01.txt, dir/file02.txt usw
    • Die Funktion _StringFromFile() kann jetzt eine Variable oder Funktion für den Dateinamen verwenden
  • Neue / geänderte Behauptungen
    • Response Assertion funktioniert jetzt für URLs und verarbeitet Nulldaten besser
    • Response Assertion kann jetzt auch mit Response Code und Response Message übereinstimmen
    • HTML-Assertion mit JTidy zur Überprüfung auf wohlgeformtes HTML
  • Wenn Controller (noch nicht voll funktionsfähig)
  • Transaction Controller (aggregiert die Zeiten seiner Kinder)
  • Neue Sampler
    • Einfacher BSF-Sampler (optional)
    • BeanShell Sampler (optional, muss von www.beanshell.org heruntergeladen werden
    • Einfacher TCP-Sampler
  • Starten Sie optional den BeanShell-Server (ermöglicht den Fernzugriff auf JMeter-Variablen und -Methoden)

Version 1.9.1

TBA

Version 1.9

  • Beispielergebnisprotokolldateien können jetzt im CSV- oder XML-Format vorliegen
  • Neues Ereignismodell zur Benachrichtigung über Iterationsereignisse während der Testplanausführung
  • Neue Javascript-Funktion zum Ausführen beliebiger Javascript-Anweisungen
  • Viele GUI-Verbesserungen
  • Neue Präprozessoren und Postprozessoren ersetzen Modifikatoren und reaktionsbasierte Modifikatoren.
  • Kompatibel mit jdk1.3
  • JMeter-Funktionen sind jetzt vollständig rekursiv und universell (können Funktionen als Parameter für Funktionen verwenden)
  • Das integrierte Hilfefenster unterstützt jetzt Hypertext-Links
  • Neue Zufallsfunktion
  • Neue XML-Assertion
  • Neuer LDAP-Sampler (Alphacode)
  • Neuer Ant-Task zum Ausführen von JMeter (im Extras-Ordner)
  • Neue Java-Sampler-Testimplementierung (zur Unterstützung von Entwicklern)
  • Effizientere Speichernutzung, schnelleres Laden von .jmx-Dateien
  • Neuer SOAP-Sampler (Alphacode)
  • Neue Berechnung des Medians im Visualizer für Diagrammergebnisse
  • Standardkonfigurationselement zum Vorteil des Entwicklers hinzugefügt
  • Diverse Performance-Verbesserungen während des Testlaufs
  • Neuer Simple File Recorder für minimalen GUI-Overhead während des Testlaufs
  • Neue Funktion: StringFromFile - holt Werte aus einer Datei
  • Neue Funktion: CSVRead - liest mehrere Werte aus einer Datei
  • Funktionen müssen jetzt nicht mehr codiert werden - spezielle Werte sollten mit "\" maskiert werden, wenn es sich um Literalwerte handelt
  • Neue Funktionen zum Ausschneiden/Kopieren/Einfügen
  • SSL-Tests sollten mit weniger Benutzeraufwand und im Nicht-GUI-Modus funktionieren
  • Das Mailer-Modell arbeitet im Nicht-GUI-Modus
  • Neuer Durchsatzcontroller
  • Neuer Modulcontroller
  • Tests können jetzt so geplant werden, dass sie von einer bestimmten Uhrzeit bis zu einer bestimmten Uhrzeit ausgeführt werden
  • Remote-JMeter-Server können von einem Nicht-GUI-Client gestartet werden. Außerdem können im GUI-Modus alle Remote-Server mit einem einzigen Klick gestartet werden
  • ThreadGroups können jetzt entweder seriell oder parallel ausgeführt werden (Standard)
  • Neue Befehlszeilenoptionen zum Überschreiben von Eigenschaften
  • Neue Größenzusage

Version 1.8.1

  • Fehlerbehebungsversion. Viele Fehler wurden behoben.
  • Redundanter „Root“-Knoten aus dem Testbaum entfernt.
  • Symbole im Testbaum wieder eingeführt.
  • Einige Reorganisation des Codes zur Verbesserung des Build-Prozesses.
  • View Results Tree hat eine Option hinzugefügt, um Ergebnisse als Webdokument anzuzeigen (zu diesem Zeitpunkt noch fehlerhaft).
  • Neue Total-Zeile im Aggregate Listener (zu diesem Zeitpunkt noch fehlerhaft).
  • Verbesserungen der Möglichkeit, die Locale-Einstellungen von JMeter zu ändern.
  • Verbesserungen am SSL-Manager.

Version 1.8

  • Verbesserung der Berechnungen des aggregierten Berichts.
  • Vereinfachte Anwendungsprotokollierung.
  • Neue Dauerzusicherung.
  • Behobener und verbesserter Mailer Visualizer.
  • Verbesserungen bei der Wiederherstellung von Ressourcen (Sockets und Dateihandles) durch HTTP Sampler.
  • Verbesserung der internen Behandlung von Teststart/-stopp in JMeter.
  • Beheben und Hinzufügen von Optionen zum Verhalten von Interleave- und Random-Controllern.
  • Neues Counter-Konfigurationselement.
  • Neues Benutzerparameter-Konfigurationselement.
  • Verbesserte Leistung des Dateiöffners.
  • Funktionen und andere Elemente können auf globale Variablen zugreifen.
  • Hilfesystem innerhalb der GUI von JMeter verfügbar.
  • Testelemente können deaktiviert werden.
  • Sprache/Gebietsschema kann (meistens) während der Ausführung von JMeter geändert werden.
  • View Results Tree kann so konfiguriert werden, dass nur Fehler aufgezeichnet werden.
  • Diverse Fehlerbehebungen.

Version 1.7.3

  • Neue Funktionen, die mehr Möglichkeiten bieten, Anforderungen während Testläufen dynamisch zu ändern.
  • Neue Sprachübersetzungen in Japanisch und Deutsch.
  • Lästige Log4J-Fehlermeldungen entfernt.
  • Verbesserte Unterstützung für das Laden von Testplandateien der Version 1.7 von JMeter (.jmx-Dateien).
  • JMeter unterstützt jetzt Proxy-Server, die eine Benutzername/Kennwort-Authentifizierung erfordern.
  • Das Dialogfeld, das anzeigt, dass der Test gestoppt wird, hängt JMeter nicht bei Problemen mit dem Stoppen des Tests.
  • Die GUI kann mehrere Remote-JMeter-Server ausführen (behebt den GUI-Fehler, der dies verhindert hat).
  • Dialogfeld zur Hilfe bei erstellten Funktionsaufrufen in der GUI.
  • Neuer Keep-Alive-Schalter in HTTP-Anforderungen, um anzuzeigen, dass JMeter Keep-Alive für Sockets verwenden soll oder nicht.
  • HTTP-Post-Anforderungen können Argumente im GET-Stil im Pfadfeld haben. Proxy zeichnet sie jetzt korrekt auf.
  • Neue benutzerdefinierte testweite statische Variablen.
  • „Ergebnisbaum anzeigen“ zeigt jetzt mehr Informationen an, einschließlich des Namens der Anfrage (der mit dem Namen im Testbaum übereinstimmt) und der vollständigen Anfrage und POST-Daten.
  • Veraltete View Results Visualizer entfernt (verwenden Sie stattdessen View Results Tree).
  • Leistungssteigerungen.
  • Verbesserungen der Speichernutzung.
  • Verbesserungen der GUI des Graph-Visualizers.
  • Updates und Korrekturen für Mailer Visualizer.

Version 1.7.2

  • JMeter benachrichtigt den Benutzer jetzt, wenn der Test beendet wurde.
  • Der HTTP-Proxy-Server zeichnet HTTP-Anforderungen mit deaktivierter Weiterleitung auf.
  • HTTP-Anforderungen können angewiesen werden, Umleitungen entweder zu folgen oder sie zu ignorieren.
  • Verschiedene GUI-Verbesserungen.
  • Neuer Zufallscontroller.
  • Neuer SOAP/XML-RPC-Sampler.

Version 1.7.1

  • Die Architektur von JMeter wurde für eine vollständigere Trennung zwischen GUI-Code und Test-Engine-Code überarbeitet.
  • Verwendung von Avalon-Code zum Speichern von Testplänen in XML als Konfigurationsobjekte
  • Alle Zuhörer können Daten in einer Datei speichern und dieselben Daten zu einem späteren Zeitpunkt laden.

Version 1.7Beta

  • Bessere XML-Unterstützung für Sonderzeichen (Tushar Bhatia)
  • Nicht-GUI-Funktion und Nicht-GUI-Testplanausführung (Tushar Bhatia)
  • Entfernung der Swing-Abhängigkeit von Basis-JMeter-Klassen
  • Internationalisierung (Takashi Okamoto)
  • AllTests-Bugfix (neth6@atozasia.com)
  • ClassFinder-Fehlerbehebung (neth6@atozasia.com)
  • Neuer Loop-Controller
  • Proxy Server zeichnet HTTP-Beispiele vom Browser auf (und im Benutzerhandbuch dokumentiert)
  • Unterstützung für mehrteilige Formulare
  • HTTP-Header-Klasse für die Header-Anpassung
  • Extrahieren von HTTP-Header-Informationen aus Antworten (Jamie Davidson)
  • Mailer Visualizer neu zu JMeter hinzugefügt
  • JMeter kodiert jetzt Parameternamen und -werte per URL
  • Zuhörer geben keine Ausnahmen mehr aus, wenn ihre GUIs nicht initialisiert wurden
  • HTTPS und Autorisierung arbeiten zusammen
  • Neues Http-Sampling, das HTML-Antworten automatisch nach herunterzuladenden Bildern analysiert und das Herunterladen dieser Bilder in der Gesamtzeit für die Anfrage umfasst (Neth neth6@atozasia.com)
  • HTTP-Antworten vom Server können auf Links und Formulare analysiert werden, und dynamische Daten können extrahiert und zur Laufzeit zu Testbeispielen hinzugefügt werden (dokumentiert).
  • Neue Ramp-up-Funktion (Jonathan O'Keefe)
  • Neue Visualizer (Neth)
  • Neue Zusicherungen für Funktionstests

Version 1.6.1

  • Speichern und Laden von Testskripten korrigiert (keine zusätzlichen Zeilen mehr)
  • Kann Sonderzeichen (wie „&“ und „<“) speichern und laden.
  • Kann Timer und Listener speichern und laden.
  • Kleinere Fehlerbehebung für Cookies (wenn Ihr Cookie-Wert ein "=" enthielt, dann brach es zusammen).
  • URLs können andere Ports als 80 abtasten und HTTPS testen, vorausgesetzt, Sie haben die erforderlichen JAR-Dateien (JSSE).

Version 1.6 Alpha

  • Neue Benutzeroberfläche
  • Trennung von GUI- und Logikcode
  • Neues Plug-in-Framework für neue Module
  • Verbesserte Performance
  • Schichtung der Testlogik für mehr Flexibilität
  • Unterstützung für das Speichern von Testelementen hinzugefügt
  • Unterstützung für verteiltes Testen mit einem einzelnen Client hinzugefügt

Version 1.5.1

  • Fehler behoben, der dazu führte, dass Cookies nicht gelesen wurden, wenn die Schreibweise des Header-Namens nicht wie erwartet war.
  • Klonen Sie Einträge, bevor Sie sie an den Sampler senden – verhindert, dass Verschiebungen Informationen über Threads hinweg durcheinanderbringen
  • Kleinere Fehlerbehebung im Convenience-Dialog zum Hinzufügen von Parametern zum Testbeispiel. Fehler verhinderte, dass Eingaben im Dialog im Testmuster erschienen.
  • xerces.jar zur Distribution hinzugefügt
  • junit.jar zur Distribution hinzugefügt und ein paar Tests erstellt.
  • Beginn der Arbeit am neuen Framework. Neue Dateien in cvs, aber wirken sich noch nicht auf das Programm aus.
  • Fehler behoben, der verhindert, dass HTTPJMeterThread entsprechend dem gewählten Timer verzögert wird.

Version 1.5

  • Das Konzept von Sampler, SamplerController und TestSample abstrahiert. Ein Sampler stellt Code dar, der ein Protokoll versteht (z. B. HTTP oder FTP, RMI, SMTP usw.). Es ist der Code, der tatsächlich die Verbindung zu dem herstellt, was getestet wird. Ein SamplerController stellt Code dar, der versteht, wie eine Gruppe von Testbeispielen organisiert und ausgeführt wird. Es verbindet einen Sampler und seine Testmuster und führt sie aus. Ein TestSample stellt Code dar, der versteht, wie Informationen vom Benutzer zu einem bestimmten Test gesammelt werden. Für eine Website würde es eine URL und alle Informationen darstellen, die mit der URL gesendet werden sollen.
  • Die Benutzeroberfläche wurde aktualisiert, um die Eingabe von Testproben bequemer zu machen.
  • Es wurden Thread-Gruppen hinzugefügt, die es einem Benutzer ermöglichen, mehrere Tests zur gleichzeitigen Ausführung einzurichten und die gemeinsame Nutzung von Testproben zwischen diesen Tests zu ermöglichen.
  • Es ist jetzt möglich, Testmuster zu speichern und zu laden.
  • … und viele weitere kleinere Änderungen/Verbesserungen …

Apache JMeter 1.4.1-dev

  • Bereinigter URLSampler-Code nach unzähligen Patches für bessere Lesbarkeit. (SM)
  • JMeter veranlasst, eine spezielle „User-Agent“-Kennung zu senden. (SM)
  • Probleme mit der Umleitung behoben, bei denen keine Cookies und Authentifizierungsinformationen gesendet wurden, und eine Warnung bei der Jikes-Kompilierung entfernt. Danke an Wesley Tanaka für die Patches (SM)
  • Es wurde ein Fehler im URLSampler behoben, der dazu führte, dass beim Testen von URL-Listen eine URL übersprungen wurde, und ein Problem mit der Cookie-Verarbeitung behoben. Danke an Graham Johnson für die Patches (SM)
  • Ein Problem mit POST-Aktionen wurde behoben. Danke an Stephen Schaub für den Patch (SM)

Apache JMeter 1.4 - 11. Juli 1999

  • Ein Problem mit POST-Aktionen wurde behoben. Danke an Brendan Burns für den Patch (SM)
  • Schließen-Schaltfläche zum Info-Feld für jene Fenstermanager hinzugefügt, die sie nicht bereitstellen. Danke an Jan-Henrik Haukeland für den Hinweis. (SM)
  • Einfacher Spline-Beispielvisualisierer (JPN) hinzugefügt

Apache JMeter 1.3 - 16. April 1999

  • Führen Sie den Garbage Collector und die Finalisierung aus, bevor Sie mit dem Sampling beginnen, um jedes Mal den gleichen Zustand sicherzustellen (SM)
  • Einige NullPointerExceptions hier und da behoben (SM)
  • HTTP-Authentifizierungsfunktionen (RL) hinzugefügt
  • Beispiel-Visualizer mit Fenster (SM) hinzugefügt
  • Blöder Fehler für Kommandozeilenargumente behoben. Danke an Jorge Bracer für den Hinweis (SM)

Apache JMeter 1.2 - 17. März 1999

  • Integrierte Cookie-Funktionen mit JMeter (SM)
  • Cookie-Manager und Netscape-Dateiparser (SD) hinzugefügt
  • Kompilierungsfehler für JDK 1.1 (SD) behoben

Apache JMeter 1.1 - 24. Februar 1999

  • Es wurde die Möglichkeit geschaffen, URL-Aliasing aus der Eigenschaftendatei zu erstellen, sowie die Möglichkeit, Aliase mit URL-Sequenzen anstelle von einzelnen URLs (SM) zu verknüpfen. Danke an Simon Chatfield für die sehr netten Vorschläge und Codebeispiele.
  • TextVisualizer entfernt und durch den viel nützlicheren FileVisualizer (SM) ersetzt
  • Bekannte Fehlerliste (SM) hinzugefügt
  • Das Java-Apache-Logo (SM) entfernt
  • Ein paar Tippfehler behoben (SM)
  • UNIX-Makefile (SD) hinzugefügt

Apache JMeter 1.0.1 - 25. Januar 1999

  • Ausstehende Probleme mit Dokumenten entfernt (SM)
  • Korrigiert das Unix-Skript (SM)
  • Möglichkeit hinzugefügt, das JAR direkt über "java -jar ApacheJMeter.jar" mit Java 2 (SM) auszuführen
  • Einige kleine Updates: Swing-Standort nach der Veröffentlichung von Java 2(tm) behoben, Lizenzaktualisierung und kleine Aufräumarbeiten (SM)

Apache JMeter 1.0 - 15. Dezember 1998

  • Erste Version. (SM)

Go to top