{"id":1094,"date":"2024-02-22T08:16:00","date_gmt":"2024-02-22T07:16:00","guid":{"rendered":"https:\/\/ittester.sk\/automatisiertes-testen\/beanshell-scripting-jmeter\/"},"modified":"2024-07-11T09:43:16","modified_gmt":"2024-07-11T07:43:16","slug":"beanshell-scripting-jmeter","status":"publish","type":"post","link":"https:\/\/ittester.sk\/de\/leistungstest\/jmeter-anleitung\/beanshell-scripting-jmeter\/","title":{"rendered":"BeanShell-Skripterstellung in JMeter"},"content":{"rendered":"\n<p>BeanShell ist eine leichtgewichtige Skriptsprache. Sie hat eine \u00e4hnliche Syntax wie Java und wird als Skriptsprache interpretiert und nicht als kompilierte Sprache.<\/p>\n\n<h2 class=\"wp-block-heading\">Skripting der BeanShell im JMeter-Beispiel<\/h2>\n\n<p>In diesem Beispiel \u00f6ffnen wir die Bing-Suchmaschine, geben einen Suchbegriff ein und erhalten die ersten 5 Links aus den Suchergebnissen.<\/p>\n\n<p><strong>Schritt.1.<\/strong>  Ich hoffe, Sie sind mit der g\u00e4ngigen JMeter-Skripterstellung vertraut. Wir gehen daher nicht weiter in die Tiefe und gehen davon aus, dass das Skript zum \u00d6ffnen von Bingo und zur Eingabe des Suchbegriffs bereits in einem Skript enthalten ist. Wie in der Abbildung unten gezeigt, haben wir einen Transaktionscontroller &#8222;Run bing&#8220; und &#8222;Get all links to results&#8220;. Diese Transaktionscontroller haben ihre eigenen HTTP-Anforderungen.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"220\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-1-1000-220.webp\" alt=\"\" class=\"wp-image-1038\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-1-1000-220.webp 1000w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-1-1000-220-300x66.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-1-1000-220-768x169.webp 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n<\/div>\n<p><strong>Schritt.2.<\/strong>  Zuerst f\u00fchren wir das Skript aus und holen uns die Textantwort im Ergebnisbaum und erstellen einen regul\u00e4ren Ausdruck, um die Referenz zu erhalten. Weitere Informationen zum Extrahieren regul\u00e4rer Ausdr\u00fccke finden Sie in unserem Beitrag \u00fcber Korrelation in JMeter.<\/p>\n\n<p><strong>Schritt.3.<\/strong>  Der n\u00e4chste Schritt besteht darin, einen Regexp-Extraktor zu erstellen, der als untergeordnetes Element der HTTP-Anforderung innerhalb des Controllers &#8222;Get all links to results&#8220; hinzugef\u00fcgt wird.<\/p>\n\n<p><strong>Schritt.4.<\/strong>  F\u00fcgen Sie das Element BeanShell Script als untergeordnetes Element hinzu und schreiben Sie den folgenden Code:<\/p>\n\n<p><strong>Stichwort = &#8222;Buddha-Zitate&#8220;;<\/strong><\/p>\n\n<p><strong>links = vars.get(&#8222;links&#8220;);<\/strong><\/p>\n\n<p><strong>f = new FileOutputStream(&#8222;result.csv&#8220;,true);<\/strong><\/p>\n\n<p><strong>p = new PrintStream(f);  <\/strong><\/p>\n\n<p><strong>this.interpreter.setOut(p);<\/strong><\/p>\n\n<p><strong>print(keyword + &#8222;,&#8220; + links);<\/strong><\/p>\n\n<p><strong>f.close();<\/strong><\/p>\n\n<p class=\"has-text-align-center\"><strong>Siehe Abbildung unten zum Vergleich:<\/strong><\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"830\" height=\"520\" src=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-4-830-520.webp\" alt=\"\" class=\"wp-image-1040\" srcset=\"https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-4-830-520.webp 830w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-4-830-520-300x188.webp 300w, https:\/\/ittester.sk\/wp-content\/uploads\/2024\/02\/skriptovanie-beanshell-v-jmeter-krok-4-830-520-768x481.webp 768w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><\/figure>\n<\/div>\n<p>Der Code ist einfach zu verstehen und erzeugt eine result.csv-Datei mit Verweisen auf das Schl\u00fcsselwort &#8222;buddha quotes&#8220;. Wir k\u00f6nnen das Schl\u00fcsselwort auch parametrisieren und das Skript generischer und dynamischer gestalten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>BeanShell ist eine leichtgewichtige Skriptsprache. Sie hat eine \u00e4hnliche Syntax wie Java und wird als Skriptsprache interpretiert und nicht als kompilierte Sprache.<\/p>\n","protected":false},"author":8,"featured_media":1694,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-1094","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\/1094","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=1094"}],"version-history":[{"count":2,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/1094\/revisions"}],"predecessor-version":[{"id":1695,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/posts\/1094\/revisions\/1695"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media\/1694"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/media?parent=1094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/categories?post=1094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/de\/wp-json\/wp\/v2\/tags?post=1094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}