Logische Steuerungen in Jmeter

Im vorherigen Tutorial haben wir Sampler und die verschiedenen Arten von Sampler-Abfragen, die in JMeter verfügbar sind, behandelt. In diesem Tutorial werden wir uns mit Logik-Controllern beschäftigen, die die Art und Weise, wie verschiedene Anfragen an den Server gesendet werden, anpassen.
- Logische Steuerungen
- Warum brauchen wir logische Steuerungen?
- Critical Section Controller
- ForEach Controller
- Wenn Controller
- Controller einbeziehen
- Interleave-Controller
- Loop Controller
- Modul-Controller
- Einmaliger Controller
- Zufälliger Controller
- Random Order Controller
- Aufnahme-Controller
- Laufzeit-Controller
- Einfacher Controller
- Switch Controller
- Durchsatzregler
- Transaktions-Controller
- Während Controller
Logische Steuerungen
Logik-Controller sind Prüfplanelemente, die dazu dienen, die Verarbeitungsreihenfolge von Samplern und anderen Elementen, die als untergeordnete Elemente hinzugefügt werden, anzupassen. Logik-Controller werden in erster Linie in Sampler-Anfragen verwendet, um verschiedene Anpassungen vorzunehmen, z. B. die Reihenfolge ihrer Verarbeitung zu ändern, sie als eine einzige Transaktion zu gruppieren oder Anfragen in einer Schleife auszuführen usw.
Schritte zum Starten einer Logiksteuerung – Rechtsklick auf Themengruppe -> zu Hinzufügen -> zu Logiksteuerungen -> zu den gewünschten Logiksteuerungen

Warum brauchen wir logische Steuerungen?
Skripte für Leistungstests werden verwendet, um die Aktionen echter Benutzer zu simulieren. Wie ein echter Benutzer wird er mehrere Aktionen auf unterschiedliche Weise ausführen, z. B. eine Reihe von Vorgängen nacheinander (z. B. von der Anmeldeseite zur Startseite navigieren), ähnliche Arten von Vorgängen in einer Schleife ausführen (z. B. mehrere ungelesene E-Mails lesen), einige zufällige Vorgänge ausführen, usw. Um diese verschiedenen Arten von Aktionen zu simulieren, bietet JMeter verschiedene Arten von Logik-Controllern, die die Verarbeitung der Elemente in ihnen anpassen.
Werfen wir nun einen Blick auf die verschiedenen Logik-Controller, die JMeter bietet:
Critical Section Controller
Dies ist ein neu hinzugefügter Controller im JMeter-System. Stellt sicher, dass jeweils nur ein Thread auf die Slave-Elemente dieses Controllers zugreift.
ForEach Controller
Diese Steuerung wird verwendet, um Anfragen in einer Schleife auf der Grundlage der Werte einer Reihe von Bezugsvariablen auszuführen.
Wenn Controller
Mit dem If-Controller können wir eine Bedingung angeben, ob das untergeordnete Element in ihm ausgelöst wird oder nicht, basierend auf der Bedingung, die als wahr oder falsch ausgewertet werden sollte.
Controller einbeziehen
Include Controller kann verwendet werden, um Modularität in JMeter zu schaffen. Mit diesem Controller können wir eine externe .jmx-Datei (Testfragment) zu unserem bestehenden Skript hinzufügen, indem wir die jmx-Datei in den Include-Controller laden.
Interleave-Controller
Der Interleave-Controller ermöglicht es uns, in jeder Iteration der Schleife ein Kindelement aus mehreren Kindern auszuwählen und auszuführen. Wenn wir beispielsweise drei Probenehmer als Slaves zum Interleave-Controller hinzugefügt haben, wird in der ersten Iteration die erste Probenehmeranforderung ausgewählt, in der nächsten Iteration die nächste und so weiter. Wenn die untergeordneten Elemente fertig sind, beginnt die Iteration wieder beim ersten Element.
Loop Controller
Ermöglicht die Ausführung von Operationen, die als untergeordnete Elemente in einer Schleife mit dem im Bedienfeld angegebenen Iterationswert angegeben sind.
Modul-Controller
Mit dem Modul-Controller können wir ein Testfragment (z. B. einen Sampler) wieder auf unser Skript anwenden, indem wir das Modul im Modul-Controller-Bedienfeld auswählen.
Einmaliger Controller
Der Once Only-Controller wird verwendet, wenn ein Vorgang nur einmal ausgeführt werden soll, auch wenn er in einer Schleife ausgeführt wird.
Zufälliger Controller
Sie ähnelt einer Zufallssteuerung und wählt in jeder Iteration ein untergeordnetes Element aus, aber im Gegensatz zur Interleave-Steuerung wählt sie das untergeordnete Element nach dem Zufallsprinzip aus.
Random Order Controller
Der Random Order Controller wird verwendet, um jedes seiner untergeordneten Elemente höchstens einmal in zufälliger Reihenfolge auszuführen.
Aufnahme-Controller
Dieser Controller dient als Ort, an dem Skripte, die mit dem HTTP-Proxy aufgezeichnet wurden, standardmäßig aufgezeichnet werden (siehe unser Tutorial für Details zur Aufzeichnung und Wiedergabe in JMeter).
Laufzeit-Controller
Der Laufzeit-Controller wird verwendet, um die Ausführungszeit seiner untergeordneten Elemente zu begrenzen. Wenn wir z. B. einen „Laufzeit“-Wert von 100 Sekunden angegeben haben, werden die Elemente innerhalb des Laufzeit-Controllers 100 Sekunden lang mit so vielen Iterationen wie möglich ausgeführt.
Einfacher Controller
Dieser Controller dient lediglich dazu, die verschiedenen Elemente des Testplans zu gruppieren und zu organisieren.
Switch Controller
Diese Steuerung wird verwendet, um ein Element aus mehreren untergeordneten Elementen zur Verarbeitung auszuwählen. Das Element wird nicht in sequentieller oder zufälliger Reihenfolge ausgewählt, sondern auf der Grundlage des im Bedienfeld definierten Schalterwerts. Der Schalterwert kann eine Variable mit einem Wert sein, der an ihrem Index(position)-Element oder Elementnamen ausgewertet wird. Wenn beispielsweise in der ersten Iteration der Schalterwert als „3“ ausgewertet wird, wird das vierte Element zur Verarbeitung ausgewählt (der Indexwert beginnt bei 0). Ähnlich verhält es sich, wenn der Wert eines Schalters als Elementname ausgewertet wird, dann wird dieses Element zur Verarbeitung ausgewählt.
Durchsatzregler
Die Durchsatzsteuerung wird verwendet, um die Verarbeitung ihrer untergeordneten Elemente in Bezug auf die Gesamtzahl der Ausführungen oder den Prozentsatz der Ausführungen zu steuern, die in ihrem Bedienfeld angegeben sind.
Transaktions-Controller
Der Transaction Controller ist einer der am häufigsten verwendeten Controller in JMeter-Skripten. Er wird verwendet, um mehrere Sampler-Anfragen zu einer einzigen zusammenzufassen. Die Antwortzeit und andere Leistungskennzahlen des Testergebnisses werden für die gesamte Transaktion bewertet. Wenn wir zum Beispiel die Leistung der Homepage einer Anwendung überprüfen, können wir feststellen, dass der Start der Homepage eine Menge Anfragen im Backend erzeugt. Daher müssen wir alle diese Anfragen in einer einzigen Transaktion zusammenfassen, wofür wir den JMeter Transaction Controller einsetzen. Nach der Ausführung des Skripts können wir die Gesamtantwortzeit der gesamten Transaktion sehen.
Während Controller
Der While-Controller wird verwendet, um untergeordnete Elemente, die in ihm enthalten sind, auszulösen, bis der in seinem Bedienfeld angegebene Wert als „false“ ausgewertet wird.