{"id":916,"date":"2024-01-12T12:35:00","date_gmt":"2024-01-12T11:35:00","guid":{"rendered":"https:\/\/ittester.sk\/automatisiertes-testen\/aufzeichnung-und-wiedergabe-von-skripten-in-jmeter\/"},"modified":"2024-06-06T12:39:49","modified_gmt":"2024-06-06T10:39:49","slug":"aufnahme-wiedergabe-skripte-jmeter","status":"publish","type":"post","link":"https:\/\/ittester.sk\/de\/leistungstest\/jmeter-anleitung\/aufnahme-wiedergabe-skripte-jmeter\/","title":{"rendered":"Aufzeichnung und Wiedergabe von Skripten in JMeter"},"content":{"rendered":"\n<p>In diesem Tutorial wird beschrieben, wie HTTP- oder HTTPS-Anfragen in JMeter mit dem HTTP(S)-Testskript-Recorder (oder HTTP-Proxy-Server in \u00e4lteren Versionen von JMeter) aufgezeichnet werden k\u00f6nnen. Beginnen wir mit dem allerersten Schritt, d. h. j. indem Sie JMeter ausf\u00fchren. Nach dem Start von JMeter sehen wir im linken Fenster zwei Steuerelemente:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"200\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-1-760-200.webp\" alt=\"\" class=\"wp-image-847\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-1-760-200.webp 760w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-1-760-200-300x79.webp 300w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><\/figure>\n<\/div>\n<ul class=\"wp-block-list\">\n<li>Testplan &#8211; Der Testplan ist der Bereich, in dem alle Skripte ausgef\u00fchrt und gespeichert werden.<\/li>\n\n\n\n<li>Workbench &#8211; Workbench ist ein Bereich, den wir f\u00fcr einen tempor\u00e4ren Zweck verwenden. Er dient im Wesentlichen dazu, Testelemente hinzuzuf\u00fcgen, die beim Laden von Skripten in JMeter helfen.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\">Aufzeichnung in JMeter<\/h2>\n\n<p>Sehen wir uns nun an, wie wir Skripte in JMeter aufzeichnen k\u00f6nnen:<\/p>\n\n<ol class=\"wp-block-list\">\n<li>F\u00fcgen Sie eine Gruppe von Threads in den Testplan ein und benennen Sie die Gruppe von Threads nach der Aktion, die sie ausf\u00fchren sollen, z. B. &#8222;LoginUsers&#8220;. Klicken Sie mit der rechten Maustaste auf Testplan -&gt; klicken Sie auf Hinzuf\u00fcgen -&gt; Threads (Benutzer) -&gt; Thread-Gruppe.  <\/li>\n\n\n\n<li>F\u00fcgen Sie einen logischen Controller (z.B. Transaction Controller) innerhalb der Thread-Gruppe hinzu. Klicken Sie mit der rechten Maustaste auf die Thread-Gruppe -&gt; Klicken Sie auf Hinzuf\u00fcgen -&gt; Logik-Controller -&gt; Transaktions-Controller (vergessen Sie nicht, das Kontrollk\u00e4stchen \u00dcbergeordnetes Beispiel generieren anzuklicken). F\u00fcgen Sie f\u00fcr jeden Schritt des Benutzerszenarios der erstellten Thread-Gruppe einen Transaktionscontroller hinzu, z. B. Transaktionspr\u00fcfung f\u00fcr &#8222;Benutzer startet Anwendung&#8220;, &#8222;Benutzer meldet sich mit g\u00fcltigen Anmeldedaten an&#8220;, &#8222;Benutzer klickt auf Links in ungelesenen E-Mails&#8220;, &#8222;Benutzer meldet sich ab und verl\u00e4sst die Anwendung&#8220;.<\/li>\n\n\n\n<li>Browser-Konfiguration f\u00fcr Proxy-Server-Einstellungen. Wir haben jetzt also ein Ger\u00fcst, in dem wir Skripte aufzeichnen und erstellen k\u00f6nnen.<br\/>Als N\u00e4chstes werden wir HTTP- oder HTTPS-Anfragen innerhalb der Transaktionscontroller protokollieren. Zu diesem Zweck m\u00fcssen wir einen Proxy-Server in unserem Browser einrichten. Obwohl wir Anrufe mit jedem Browser aufzeichnen k\u00f6nnen, ist es empfehlenswert, Mozilla Firefox zu verwenden, da das Add-on &#8222;Firebug&#8220; sehr wichtig ist, um zu \u00fcberpr\u00fcfen, ob alle Anrufe erfolgreich aufgezeichnet wurden oder nicht.<\/li>\n<\/ol>\n\n<p>Die Schritte zum Einrichten eines Proxy-Servers in Mozilla sind wie folgt:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Klicken Sie auf Extras -&gt; Optionen<\/li>\n\n\n\n<li>Klicken Sie auf Erweitert und unter Erweitert auf die Registerkarte Netzwerk.<\/li>\n\n\n\n<li>Klicken Sie auf eine Einstellung, um das Fenster mit den Verbindungseinstellungen anzuzeigen.<\/li>\n\n\n\n<li>Klicken Sie auf die Schaltfl\u00e4che Manuelle Proxy-Konfiguration<\/li>\n\n\n\n<li>Geben Sie nun 127.0.0.1 in das Textfeld HTTP-Proxy und einen beliebigen Port in das Textfeld Port ein, zum Beispiel 9001<\/li>\n<\/ul>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"610\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-2-580-610.webp\" alt=\"\" class=\"wp-image-849\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-2-580-610.webp 580w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-2-580-610-285x300.webp 285w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/figure>\n<\/div>\n<ol class=\"wp-block-list\">\n<li>Die IP-Adresse, die wir in das HTTP-Proxy-Textfeld eingegeben haben, ist die Loopback-Adresse, d. h. die Software-Loopback-Schnittstelle des Rechners, auf dem wir gerade arbeiten, und der Port, den wir eingegeben haben, ist der Port, \u00fcber den der gesamte Verkehr geleitet wird.<\/li>\n\n\n\n<li>Im Folgenden wird die JMeter-Konfiguration f\u00fcr Protokollierungsskripte beschrieben. Jetzt werden wir JMeter so konfigurieren, dass HTTP-Anfragen in Transaktionscontrollern protokolliert werden:<\/li>\n<\/ol>\n\n<ul class=\"wp-block-list\">\n<li>Klicken Sie mit der rechten Maustaste auf WorkBench.<\/li>\n\n\n\n<li>Klicken Sie auf Hinzuf\u00fcgen-&gt; Nicht-Testelemente-&gt; HTTP(S) Testskript (HTTP Proxy Server in \u00e4lteren Versionen von JMeter).<\/li>\n\n\n\n<li>Geben Sie den Port-Wert ein, den wir in das Feld Port unseres Browsers eingegeben haben.<\/li>\n\n\n\n<li>W\u00e4hlen Sie im Dropdown-Men\u00fc Ziel-Controller den Transaktions-Controller aus, in dem Sie den Eintrag vornehmen m\u00f6chten.<\/li>\n\n\n\n<li>Klicken Sie auf die Schaltfl\u00e4che Start, um die Aufzeichnung zu starten.<\/li>\n<\/ul>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"287\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-3-1070-300-1024x287.webp\" alt=\"\" class=\"wp-image-851\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-3-1070-300-1024x287.webp 1024w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-3-1070-300-300x84.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-3-1070-300-768x215.webp 768w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/01\/record-and-playback-v-jmeter-screenshot-3-1070-300.webp 1070w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<p>Jetzt wird alles, was wir in unserem Browser tun, als http-Anfrage in dem von uns ausgew\u00e4hlten Transaktionscontroller gespeichert. Nehmen wir an, dass wir &#8222;User launch application&#8220; als Ziel-Controller ausgew\u00e4hlt haben, dann klicken wir auf die Start-Schaltfl\u00e4che von JMeter, gehen zu unserem Browser und starten die Anwendung. Auch hier gehen wir zu JMeter und pr\u00fcfen, ob im Transaktionscontroller &#8222;User launch application&#8220; Anfragen protokolliert sind oder nicht. Wenn ja, klicken wir auf die Schaltfl\u00e4che &#8222;Stop&#8220;, w\u00e4hlen den n\u00e4chsten Transaktionscontroller aus dem Dropdown-Men\u00fc des Zielcontrollers aus (der Benutzer gibt g\u00fcltige Anmeldedaten ein und klickt auf die Schaltfl\u00e4che &#8222;Login&#8220;), klicken auf die Schaltfl\u00e4che &#8222;Run&#8220;, navigieren zum Browser, geben die Anmeldedaten ein und klicken auf die Schaltfl\u00e4che &#8222;Login&#8220;. Gehen Sie zu JMeter und klicken Sie auf die Schaltfl\u00e4che &#8222;Stopp&#8220;. F\u00fchren Sie diese Schritte f\u00fcr jeden Transaktionscontroller durch.<\/p>\n\n<p>Damit ist der Teil der Aufzeichnung abgeschlossen. Als N\u00e4chstes m\u00fcssen wir unserem Testplan Zuh\u00f6rer hinzuf\u00fcgen, um die Testergebnisse zu interpretieren. Klicken Sie dazu mit der rechten Maustaste auf Testplan-&gt; Hinzuf\u00fcgen-&gt; Listener. Es wird eine Liste aller verf\u00fcgbaren Listener angezeigt. Verwenden Sie in der Zwischenzeit die Listener Aggregate graph und View Result Tree.<\/p>\n\n<p>Jetzt k\u00f6nnen wir das Skript durch Dr\u00fccken von Strg+R oder durch Klicken auf das Play-Symbol ausf\u00fchren. Oben rechts erscheint ein Symbol, das anzeigt, dass der Test l\u00e4uft. Wenn Sie fertig sind, \u00fcberpr\u00fcfen Sie die Ergebnisse und Diagramme in den Zuh\u00f6rern. Einige Transaktionscontroller k\u00f6nnen fehlschlagen (\u00fcberpr\u00fcfen Sie dies in der Ergebnisstruktur der Ansicht &#8211; fehlgeschlagene Anfragen sind rot markiert), da noch viele Skripte im Testplan ausgef\u00fchrt werden m\u00fcssen.<\/p>\n\n<p>Hier ging es also um die Aufzeichnung und Wiedergabe in JMeter. In zuk\u00fcnftigen Beitr\u00e4gen werden wir uns mit &#8222;Parametrisierung und Korrelation&#8220; besch\u00e4ftigen, die das Herzst\u00fcck der Skripterstellung sind.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Protokollierung von HTTP- oder HTTPS-Anfragen in JMeter mit dem HTTP(S)-Testskript-Rekorder (oder Proxy-Server)<\/p>\n","protected":false},"author":8,"featured_media":1661,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-916","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jmeter-anleitung"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/comments?post=916"}],"version-history":[{"count":2,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/916\/revisions"}],"predecessor-version":[{"id":1662,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/916\/revisions\/1662"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media\/1661"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media?parent=916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/categories?post=916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/tags?post=916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}