jmeter processors controllers
Přehled předprocesorů a řadičů v JMeteru (část III):
=> Postupujte podle komplexní řady bezplatných výukových programů JMeter zde
Tento článek by provedl uživatele používáním předprocesorů, postprocesorů a ovladačů v JMeter. Řadiče jsou velmi užitečné, protože vytvářejí vaše testovací scénáře.
Možná budete chtít otestovat různé scénáře, ve kterých chcete nakonfigurovat vlastní sekvenci požadavku odesílaného na server za účelem sledování doby odezvy a dalších faktorů výkonu.
Co se naučíte:
- Předběžné procesory
- Uživatelské parametry
- Ukázka časového limitu
- Řadiče
- Příklad v reálném čase
- Šablona záznamu JMeter
- Závěr
- Doporučené čtení
Předběžné procesory
Jedná se o prvky, které se provedou před provedením vzorkovače. Můžete připojit předběžný procesor se vzorníkem, u kterého chcete provést nějaké změny v požadavku.
Nejjednodušším případem by mohlo být přidání preprocesoru „Sample Timeout“ s požadavkem HTTP, aby tento požadavek běžel pouze po definovanou dobu. Zajišťuje také, aby se tato úprava prováděla pouze pro nadřazený vzorkovač.
Níže jsou uvedeny některé z předprocesorů používaných v JMeter:
- Předběžný procesor Bean Shell
- Analyzátor odkazů HTML
- Přepisování HTTP URL
- Preprocesor JDBC
- Ukázkový časový limit
- Uživatelské parametry
Nejčastěji používané jsou vysvětleny níže s příklady. Ve svých projektech možná budete potřebovat vše. Zkuste identifikovat scénáře související s vaším projektem a implementujte ty, které vám pomohou pokrýt scénáře výkonu v reálném čase.
Uživatelské parametry
Uživatelské parametry se používají k definování hodnot proměnných před jejich použitím v Samplerech. Když JMeter provede tento prvek Pre-Processor, uloží hodnoty do proměnných, na které mohou odkazovat libovolné Samplery ve stejné skupině vláken.
dotazy sql pohovor otázky a odpovědi pro nováčky
Pokud máte v „Uživatelských parametrech“ více vláken, než je počet uživatelů, budou se vlákna znovu znovu iterovat hodnotami.
Například, ve své skupině vláken máte 5 uživatelů, ale pouze 3 v předprocesoru, potom vašich 4tha 5thvlákno použije param1 a param2 .
Ukázka časového limitu
Tento předprocesor se používá k definování časového limitu pro požadavky.
Například, pokud jste zadali ukázkový čas ze 400 milisekund, pak všechny žádosti, které vyžadují čas> 400, budou mít neúspěšnou odpověď. Viz níže screenshoty.
Řadiče
Řídicí jednotky jsou velmi důležité při sestavování testovacího plánu JMeter v reálném čase. Definuje pořadí, ve kterém jsou požadavky odesílány na server.
Například, Pokud chcete otestovat webovou aplikaci, ve které chcete provést jednorázové přihlášení, a hledat, požaduje výběr položek postupné procházení všech iterací. Řadiče umožňují správu toku požadavků na testovaném serveru.
Níže jsou nejčastěji používané ovladače v JMeter
- Jednoduchý ovladač
- Ovladač modulu
- Jednou pouze řadič
- Řadič prokládání
- Ovladač smyčky
- Pokud správce
- Pro každého správce
- Řadič záznamu atd.,
Jednoduchý ovladač
Jednoduchý ovladač neprovádí žádnou konkrétní funkci. Je to jen druh kontejneru, ve kterém si můžete ponechat podobné požadavky, aby byl váš testovací plán snadno srozumitelný.
Ovladač smyčky
Pokud chcete, aby nějaký konkrétní požadavek spustil více iterací, než je uvedeno ve skupině vláken, můžete je umístit pod řadič smyčky a zadat počet smyček v nastavení řadiče.
Příklad: Pokud máte skupinu vláken s 1 uživatelem a 3 iteracemi, budou všechny vaše požadavky v této skupině spuštěny třikrát. Nyní, pokud máte pod kontrolerem smyčky s počtem smyček 2 dva Samplery HTTP, oba tyto Samplery by běžely 1 * 3 * 2 = 6krát.
Přečtěte si níže uvedené snímky obrazovky, které to dále vysvětlují
Jednou pouze řadič
Tento řadič se používá, pokud chcete spustit určitý konkrétní požadavek pouze jednou, i když máte ve skupině vláken více vláken. Nejjednodušším příkladem, který lze považovat, je „Načítání domovské stránky webu“ nebo „Přihlášení do webové aplikace“. Scénář v reálném čase by chtěl, aby se to stalo pouze jednou a další požadavky, jako je hledání nebo úprava / smazání, aby se něco stalo vícekrát.
Požadavek, který má být proveden pouze jednou, lze umístit pod Once Only Controller. Odkaz na níže uvedený snímek obrazovky. Nastavení Once Only Controller obejde nastavení nadřazené skupiny vláken.
Řadič záznamu
Stejně jako Simple Controller, Recording Controller nemění žádnou sekvenci požadavků, které jsou odesílány na server. Používá se se záznamníkem skriptů HTTP (S). Všechny požadavky, které jsou zaznamenány pomocí tohoto netestovacího prvku, jsou uloženy pod řadičem záznamu.
Chcete-li uložit zaznamenané požadavky odeslané na server, musíte určit cílový řadič.
Kontroler záznamu a zapisovač skriptů HTTP (s) se objeví, když testeři nemají informace o adresách URL a parametrech požadavků. Mohou jednoduše zaznamenat a zachytit všechny požadavky narážející na jejich servery. To funguje jak pro mobilní, tak pro webové projekty.
Kontrolér propustnosti
Tento řadič se také používá k řízení toku provádění. Jak je vidět na níže uvedeném výřezu, je tento ovladač dále rozdělen na dvě části:
Procentní provedení - Tento výběr způsobí, že Jmeter provede pouze určité procento z celkových iterací pro Samplery umístěné pod tímto ovladačem. Můžete také zaškrtnout políčko „Na uživatele“, abyste to mohli ovládat na uživatelské úrovni.
Například, Skupina vláken je nakonfigurována tak, aby měla 10 uživatelů a počet smyček je 5. Proto je celkový počet iterací 50. Pokud je% spuštění nastaveno na 50%, pak všechny Samplery pod řadičem propustnosti provedou pouze 25 iterací (50% z 50).
Celkový počet provedení - To umožňuje uživatelům určit počet iterací přímo pro vzorkovače obsažené v tomto řadiči.
Řadič prokládání
Tento řadič umožňuje zvýšit rozsah testování výkonu úpravou sekvence v n mnoha způsoby, takže můžete otestovat zatížení serveru, když aplikace narážejí na požadavek s různými sekvencemi. Interleave Controller provádí alternativní výběry se vzorníky pod ním.
V případě, že pod tímto blokem zůstávají další řadiče, jako je Simple Controller, dává řadič prokládání oprávnění vybrat pro každou iteraci jeden vzorkovač každý z kontejneru. Chcete-li to dále vysvětlit, zvažte níže uvedený testovací plán.
Takže Jmeter bude iterovat alternativně mezi řadiči pro každou iteraci. Sekvence bude proto uvedena níže
Žádost1 -> Žádost3 -> Žádost 5 - Žádost2 -> Žádost4 -> Žádost6
Přečtěte si níže výsledky JMeter s počtem vláken = 2 a počtem smyček = 2.
můžete vytvořit řadu objektů v Javě
Ve výše uvedeném příkladu Jmeter prokládá další smyčku / iteraci. V řadiči Interleave jsou nastavení, díky nimž může JMeter posílat alternativní požadavky s každým novým vláknem.
Podívejte se prosím na výsledky níže. To je užitečné ve scénářích, kdy chcete, aby servery se sekvenčním nebo souběžným zatížením s různou posloupností požadavku ze stejného počítače.
Náhodný řadič
Funguje téměř jako řadič Interleave, ale nevybírá vzorkovače v pořádku. Pouze náhodně vybere podřadiče a vzorkovače uvnitř nich.
Pokud správce
Pokud Controller pracuje podobným způsobem, je s výrazem IF zacházeno v libovolném programovacím jazyce. Podmínka se nejprve ověří a poté se komponenty pod tímto kontejnerem provedou, pokud je podmínka PRAVDA, jinak se provedou prvky mimo řadič IF.
Příklad : Pokračováním v jednom z dřívějších příkladů zahrnujících řadič Interleave, nyní byl jeden ze dvou řadičů Interleave udržován pod řadičem IF a podmínkou „$ (COUNT)<10 is added as a condition. Variable COUNT is defined in config element “User Defined Variables” and is given a value equal to 11. Configuration is described below
Definování a přiřazení hodnoty proměnné COUNT.
Definování podmínky v Pokud správce nastavení. Jmeter tuto podmínku ověří a pokud má hodnotu PRAVDA, provede bloky pod tímto kontejnerem.
Jak můžete vidět z níže uvedeného testovacího plánu, v případě, že je podmínka IF vyhodnocena jako, se spustí pouze Request3, Request4 a Request5 Nepravdivé .
Zatímco kontroloři
Tento řadič provádí komponenty pod ním, dokud se podmínka nestane nepravdivou.
Například, řekněme, že máme podmínku while ($ (count)<10), it will execute the child elements until the condition is false. To test this, there should be a counter which gets increment or decrement on each iteration and then condition is evaluated. Config Element “Counter” can be used to serve this purpose.
Nakonfigurujte konfigurační prvek „Counter“ tak, aby začínal na 1 a poté se zvyšoval při každé iteraci. Níže naleznete další vysvětlení:
Zbytek ovládačů se dotkneme v našich videonávodech.
Příklad v reálném čase
Uvažujme o scénáři, ve kterém testovací tým nezná adresy URL a parametry všech požadavků zasažených na testovaném serveru. Nyní, aby načetli testovací server, potřebují zaznamenat požadavky a poté modulovat zátěž postupně nebo souběžně a vytvořit z nich scénáře pro testování výkonu.
Kroky
JMS rozhovor otázky a odpovědi pro zkušené
- Přidejte šablonu v Jmetru pro řadič záznamu
- Nastavte proxy v prohlížeči a vyberte stejný port v HTTP (s) Script Recorder
- Zaznamenejte žádosti
- Upravte plán testování a zvyšte zatížení
- Podle toho seskupte transakce
- Vyzkoušejte různé kombinace požadavků
Šablona záznamu JMeter
JMeter má také nějakou předdefinovanou šablonu. V nabídce Soubor vyberte možnost „Šablona“. Po výběru šablony vyberte v okně, které se otevře, možnost „Záznam“ a klikněte na Vytvořit.
Jakmile vyberete tuto šablonu záznamu, uvidíte některé komponenty již přidané v plánu testování.
- Záznamník skriptů HTTP (s) pod pracovní lavicí
- Výchozí nastavení požadavku HTTP a správce souborů cookie HTTP
- Řadič záznamu ve skupině vláken.
Můžete buď provést nastavení proxy ve svém prohlížeči, abyste mohli mluvit s proxy serverem JMeter, nebo použít CHROME Extension Blazemeter k zaznamenání požadavků a následnému exportu. soubor jmx do Jmeter. Existuje mnoho dalších rozšíření pro záznam skriptu a jeho export do JMeteru. Nástroj BADBOY také dobře funguje s Jmetrem pro záznam webových i mobilních zásahů.
Klikněte na. Možnost jmx exportovat zaznamenaný požadavek do Jmeteru. Nyní z Jmeteru otevřete. Soubor jmx a podívejte se na požadavky a parametry spojené s každým požadavkem.
Závěr
Nyní se předpokládá, že jste se všichni museli dobře seznámit se základní logikou JMeteru, jak simuluje zatížení, jak hrát s různými typy samplerů, jak řídit tok provádění pomocí Controller a používat proměnné a funkce pro spouštění smyček napříč iteracemi. To rozhodně není konec řady výukových programů pro JMeter.
Existuje mnoho videonávodů sledovat, které povedou testery s více rukama k různým scénářům v Jmetru a jak lze každou komponentu JMeter využít nejlepším způsobem.
=> Kompletní seznam video tutoriálů JMeter najdete zde
Sdělte nám prosím své připomínky nebo dotazy.
Doporučené čtení
- Jmeter Controllers Part 1
- Řadiče Jmeter, část 2
- Jak dosáhnout korelace JMeter s příkladem
- Práce s požadavky HTTP v JMeteru
- Práce s požadavkem FTP v JMeteru
- Používání postprocesoru v JMeteru (extraktor regulárních výrazů)
- Top 5 JMeter Plugins and How to Use them (With examples)
- JMeter Timers: Constant, BeanShell And Guassian Random Timer