BeanShell Scripting v JMeter

BeanShell je ľahký skriptovací jazyk. Má syntax podobnú jazyku Java a ako skriptovací jazyk je interpretovaný namiesto kompilovaného jazyka.
Skriptovanie BeanShell v príklade JMeter
V tomto príklade otvoríme vyhľadávač Bing, napíšeme hľadaný výraz a z výsledkov vyhľadávania získame 5 najlepších odkazov.
Krok.1. Dúfam, že poznáte bežné skriptovanie JMeter, takže nebudeme zachádzať do hĺbky a predpokladáme, že skript na otvorenie bingu a napísanie hľadaného výrazu je už naskriptovaný. Ako je znázornené na obrázku nižšie, máme kontrolér transakcií (transaction controller) „Spustiť bing“ a „Získať všetky odkazy na výsledky“. Tieto transakčné kontroléry budú mať svoje príslušné požiadavky HTTP.

Krok.2. Najprv spustíme skript a získame textovú odpoveď v strome výsledkov zobrazenia a vytvoríme regulárny výraz na získanie odkazu, viac informácií o extrakcii regulárnych výrazov nájdete v našom príspevku o Korelácii v JMeter.
Krok.3. Ďalším krokom bude vytvorenie Regexp Extractor, ktorý bude pridaný ako potomok (child) HTTP požiadavky v rámci kontroléra „Získať všetky odkazy na výsledky“.
Krok.4. Pridajte prvok BeanShell Script ako potomka a napíšte nasledujúci kód:
keyword = „buddha quotes“;
links = vars.get(„links“);
f = new FileOutputStream(„result.csv“,true);
p = new PrintStream(f);
this.interpreter.setOut(p);
print(keyword + „,“ + links);
f.close();
Pozrite si obrázok nižšie pre porovnanie:

Kód je zrozumiteľný a vytvorí súbor result.csv s odkazmi na kľúčové slovo „buddha quotes“. Takisto môžeme kľúčové slovo parametrizovať a urobiť skript všeobecnejším a dynamickejším.