Teszteset rögzítés és visszajátszás
A HTTP(S) Test Script Recorder egy Jmeter funkció [link1][link2][link3],amivel HTTP Request-eket rögzíthetünk a böngésző használatával egy proxyn keresztül. A cikk ennek a működését mutatja be egy gyakorlati példán keresztül. Csináld utánunk! 😊
JMeter Beállítások
Hozzunk létre egy új Test Plan-t, majd jobb klikkel rákattintva adjunk hozzá egy Thread Group-ot és egy HTTP(S) Test Script Recorder-t, az utóbbi az Add-on belül a Non-Test Elements-en belül található. Szükségünk lesz egy Recording Controllerre is, ezt a Thread Groupe-hoz kell hozzá adni.

Ha rá nyomunk a HTTP(S) Test Script Recorder-en belül lehetőségünk van több beállításra, de a legfontosabb számunkra most a Global Settings és azon belül a Port ami jelen esetben a 8888 ezen a porton keresztül fogjuk használni.
A terv az, hogy a Jmeter létrehoz egy proxy-t (a 8888-as porton). Ezen a proxyn keresztül használjuk majd a böngészőben a tesztelendő alkalmazást. Így a Jmeter mindent „lát”, amit a böngészőn keresztül művelünk.
Indítsuk el a proxyt, bátran klikkeljünk a Start gombra. Nem egészen azt történt, amire számítottunk. A következő üzenet fogad:

A JMeter készít egy igazolást (certificate vagy tanúsítvány) arról, hogy „Ő a JMeter”. Ahhoz, hogy rajta keresztül mehessenek az adatok, ezt az igazolást meg kell mutatni a böngészőnek.
A JMeter bin mappájában létrehozott egy ApacheJMeterTemporaryRootCA nevű fájlt. Ezt a fájlt kell importálnunk a böngészőnkbe a tanúsítvány beállításoknál.
Böngészők Beállítása (tanúsítvány importálás és proxy)
Két böngészőnél mutatjuk meg a tanúsítvány importálás menetét. Az egyik a Chrome a másik pedig a Firefox lesz.
Chrome
A következő menü-útvonalon találhatod meg a tanúsítvány beállításokat a Chrome-on belül: Beállítások/Adatvédelem és Biztonság/Biztonság/Tanúsítványok Beállítása.

Itt az importálás gomb-ra kattintva importáljuk a korábban említett ApacheJMeterTemporaryRootCA fájlt.
A következő lépés a proxy beállítása. A Chrome-ban nincsen külön proxy beállítás így a Windows-ét használja. A gépházban a Hálózat és internet menüponton belül található a proxy. Itt a Kézi proxybeállítást kell átállítani localhost-ra és az JMeter-ben általunk megadott portra.

Firefox
A következő útvonalon találhatod meg a tanúsítvány beállításokat a Firefox-on belül: Beállítások/Adatvédelem és Biztonság/Biztonság/Tanúsítványok megtekintése.

Ez az ablak fogad, majd itt az importálás gomb-ra kattintva importáljuk a korábban említett ApacheJMeterTemporaryRootCA fájlt.
A következő lépés a proxy beállítása. A Firefoxban ez a következő útvonalon lehetséges: Beállítások/Általános/Hálózati beállítások/Beállítások…
Itt a Kézi proxybeállítás-t kiválasztva a HTTP-proxy-t localhost-ra állítjuk és megadjuk az általunk korábban beállított portot.

Tipp
Mivel a proxy-t JMeteres rögzítés-visszajátszás esetén gyakrabban kell állítgatni, ezért célszerű lehet valamilyen (megbízható!) böngésző-bővítmény használata, ami előre eltárolt proxy beállítások könnyű kapcsolgatását teszi lehetővé. Ilyen például a Proxy SwitchyOmega.
Rögzítés
A HTTP(S) Test Script Recorder-ben a Start gombra kattintva elindítjuk a felvételt. A program minden HTTP request-et rögzíteni fog, amit a böngészőben csinálunk, ameddig ki nem kapcsoljuk. A felvételt az indításkor felugró ablakban lévő Stop gombbal lehet leállítani. A felvett request-ek a Recording Controllerbe fognak kerülni.

Rögzítés után
Ha vége a rögzítésnek és például vissza szeretnéd játszani a rögzített kéréseket, vagy Te szeretnél netezni, akkor a proxy használatát újra ki kell kapcsolni az adott böngészőben.
A visszajátszás nem minden esetben fog kapásból működni. Ennek a legfőbb oka általában az, hogy a rögzítéskor sok információ beégetve kerül a rögzített tesztben, amik valójában dinamikusan változnak. Ilyen például a session, vagy biztonsági token, amit az oldal megtekintésekor kap a böngésző és a későbbi kéréseknél ezt kell használni. Ahhoz, hogy ezeket le tudjuk kezelni, tudnunk kell a felvételt módosítani, paraméterezni, információt kinyerni egy válaszból. Ezekről a következő Jmeter cikkekben lesz szó.
Jó JMeterezést! Hajrá! 😊