Co je korelace?
Korelace, jak název napovídá, je mechanismus definování vztahu mezi dvěma proměnnými nebo entitami. Slovník to definuje jako „statistický vztah mezi dvěma nebo více proměnnými tak, že systematické změny v druhé provázejí systematické změny v hodnotě jedné proměnné“.
V tomto tutoriálu se dozvíme něco o
- Proč potřebujeme korelaci?
- Automatická korelace
- Ruční korelace
- Porozumění funkci Web_reg_save_param
Proč potřebujeme korelaci?
Pojďme pochopit vzájemný vztah s následujícím scénářem.
Zvažte, že nahráváte skript pomocí nástroje LoadRunner.
Komunikace klient-server
- Během záznamu klient odešle požadavek na server, aby zahájil relaci
- Server obdrží požadavek a přidělí nové ID relace ABC
- Klient ve skriptu uloží ID relace ABC.
- Klient zahájí relaci s ID ABC a odešle požadavek na server, aby mu umožnil záznam
- Server rozpozná ID ABC a umožní klientovi zaznamenat skript
- Nyní si přehrajme komunikaci klient-server během přehrávání
- Během přehrávání klient odešle požadavek na server, aby zahájil relaci
- Server obdrží požadavek a přidělí nové ID relace XYZ
- Klient zahájí relaci s dříve zaznamenaným ID relace ABC a odešle požadavek na server, aby mu umožnil záznam
- Server není schopen identifikovat ID ABC, protože očekával ID XYZ, které přidělil, a relace selže.
Potřebujeme řešení, které zachytí analýzu dynamické hodnoty odeslané za běhu a vrátí tuto hodnotu zpět na server. Takto bude vypadat komunikace klient-server s tímto řešením
- Během přehrávání klient odešle požadavek na server, aby zahájil relaci
- Server obdrží požadavek a přidělí nové ID relace ZZZ
- Klient z požadavku analyzuje toto nové ID relace ZZZ.
- Klient odešle požadavek na zahájení relace s ID ZZZ
- Server rozpozná ID ZZZ a umožní klientovi přehrát skript
To není nic jiného než korelace .
Pokud video není přístupné, klikněte sem
V případě VUGen je korelace vazebný vztah mezi odpovědí a jakýmkoli předchozím požadavkem.
Existují různé situace, kdy je požadavek založen na dříve přijaté odpovědi ze serveru, například ID relace, datum a čas serveru, které jsou načteny ze serveru. Tyto hodnoty se liší při každém spuštění aplikace nebo záznamu skriptu. Je zřejmé, že pokud provedení skriptu závisí na hodnotě vrácené serverem, znamená to, že musíte najít mechanismus, kde můžete „zachytit“ odpověď serveru a připojit se k těm požadavkům, které server očekává. Tomu se v LoadRunneru obvykle říká Korelace.
Jednoduše řečeno, řešení pomocí korelace je:
- Zachyťte výstupní hodnotu z kroku
- Použijte výše zachycenou hodnotu a slouží jako vstup do všech následujících kroků
Korelace je ve VUGen / LoadRunner rozdělena do 2 kategorií:
- Automatická korelace
- Ruční korelace
Automatická korelace
LoadRunner poskytuje mechanismus pro snadné provádění korelace automatickým způsobem.
VUGen bude vyžadovat, abyste spustili zaznamenaný skript alespoň dvakrát, aby mohl interně porovnávat různé hodnoty v odpovědi serveru.
Automatickou korelaci lze rozdělit do 3 kategorií:
- Automatická detekce korelace
- Korelace založená na pravidlech
- Korelační všechna prohlášení
Název pravidla | Kdy použít |
Automatická detekce korelace | Zjistit a korelovat dynamická data pro aplikační servery podporované nástrojem HP LoadRunner |
Na základě pravidel | Používá se při práci s nepodporovaným aplikačním serverem, pro který je známý kontext. |
Korelovat vše | Pomáhá slepě korelovat všechna dynamická data. |
Ačkoli se zdá, že automatická korelace je jednodušší, může být náchylná k chybám a funguje v ne více než 5% případů. Vždy je vhodné použít manuální korelaci.
Chcete-li nakonfigurovat automatickou korelaci v době nahrávání, proveďte níže uvedenou konfiguraci v části Nastavení času záznamu po zaznamenání skriptu.
Klikněte na Záznam => Možnosti nahrávání (nebo klikněte na Ctrl + F7),
>
Otevře se níže uvedené okno:
Klikněte na Korelace => Konfigurace - otevře se níže uvedené okno.
Zde musíte označit jako zaškrtnuté u všech aplikací (ASPNET) atd., Které se používají ve vaší předmětové aplikaci. Na pravé straně vidíte pravidla, která detekují možné kandidáty na korelaci, např. _VIEWSTATE. Kliknutím na tlačítko Nové pravidlo můžete také přidat další aplikace nebo vlastní pravidla.
Můžete také kliknout na PRAVIDLA, uvidíte níže:
Aby automatická korelace fungovala, musíte zajistit, aby byla kontrola pravidel označena jako zaškrtnutá. Pokud kliknete na automaticky nalezené hodnoty korelace, VUGen vás po výběru kandidáta na korelaci nevyzve k výběru, místo toho je bude pouze korelovat.
Rozumíme API použitému ke korelaci později. Je však vhodné použít místo textového srovnání srovnání HTML.
Jakmile vyberete některá pravidla, zavřete okna kliknutím na tlačítko OK.
Klikněte na z nabídky a VUGen znovu vygeneruje skript (bez nutnosti záznamu) s novými konfiguracemi. VUGen automaticky přidá požadovaný kus kódu pro zpracování korelace. Na ukázku se podíváme podrobněji v Ruční korelaci.
Pokud provádíte korelaci ručně nebo používáte automatickou korelaci, bude část kódu obsahovat přesně stejnou syntaxi a funkci.
Kroky k automatické korelaci skriptu:
- Nahrajte skript
- Přehrát skript
- Určete hodnoty, které mají být korelovány
- Vyberte hodnoty a klikněte na tlačítko automatické korelace
- Skript ověřte opětovným spuštěním. Úspěšný běh znamená úspěšnou korelaci.
Spropitné:
- Korelace pomáhá spouštět skript s různými hodnotami
- Korelace také zmenší velikost vašeho skriptu
Ruční korelace
Ruční korelace je o psaní kódu přímo do vašeho skriptu, který zajišťuje stále se měnící hodnoty. Můžeme to rozdělit do následujících kroků:
- Určete hodnotu, kterou chcete zachytit
- Najděte pravé a levé textové hranice hodnoty k zachycení (WEB)
- Zjistěte, který výskyt hranic textu by měl být použit
- Přidejte do skriptu funkci web_reg_save_param nad část kódu, která požaduje stránku s hodnotou k zachycení
- Přidejte do funkce název parametru, levou hranici, pravou hranici a výskyt
- Parametrizujte dynamickou hodnotu ve skriptu pokaždé, když k ní dojde
- Ověřte správné provedení
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Search = headers","RelFrameId = l",POSLEDNÍ);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Ord = 1","Search = Body","RelFrameId = l",POSLEDNÍ);
Ruční korelaci lze provést pomocí VUser Comparison. Kroky metody porovnávání VUser lze rozdělit následujícím způsobem:
- Určete dynamické hodnoty, které je třeba korelovat
- Najděte odpověď serverů obsahující dynamickou hodnotu
- Zachyťte dynamickou hodnotu v parametru
- Nahraďte každý výskyt dynamické hodnoty parametrem
- Ověřte změny
Porozumění funkci Web_reg_save_param
VUGen poskytuje více funkcí nebo API ke korelaci kandidátů, včetně:
- web_reg_save_param
- web_reg_save_param_ex
- web_reg_save_param_regexp
- web_reg_save_param_xpath
Zatímco zde uvádíme krátký úvod, pro podrobné pochopení funkcí a jejich parametrů otevřete VUGen, zapište funkci (nebo použijte Steps Toolbox), přesuňte kurzor na funkci a klikněte na F1 - seznamte se s nápovědou VUGen a vytvořte zvyk. Při práci v průmyslu se s tím budete muset hodně vypořádat.
Tady jdeme s podrobnostmi o funkci:
web_reg_save_param (Název parametru, levá hranice, pravá hranice)
Seznam atributů
Převést: Možné hodnoty jsou:
HTML_TO_URL : převést data kódovaná HTML do datového formátu kódovaného URL
HTML_TO_TEXT : převést data kódovaná HTML do formátu prostého textu; tento atribut je volitelný.
Ignorovat přesměrování : Pokud je zadáno „Ignorovat přesměrování = Ano“ a odpověď serveru je informace o přesměrování (stavový kód HTTP 300-303, 307), odpověď se neprohledá. Místo toho po obdržení odpovědi na přesměrování je požadavek GET odeslán do přesměrovaného umístění a hledání je provedeno na odpovědi z tohoto umístění.
Tento atribut je volitelný. Výchozí hodnota je „Ignorovat přesměrování = Ne“.
LB: Levá hranice parametru nebo dynamických dat. Pokud nezadáte hodnotu LB, použije jako hranici všechny znaky od začátku dat. Hraniční parametry rozlišují velká a malá písmena. Chcete-li dále přizpůsobit hledaný text, použijte jeden nebo více příznaků textu. Tento atribut je povinný. Viz část Mezní argumenty.
NOTFOUND : Možnost zpracování, když hranice není nalezena a je vygenerován prázdný řetězec.
„Not found = error“, výchozí hodnota, způsobí vyvolání chyby, když není nalezena hranice.
„Not found = warning“ („Not found = empty“ v dřívějších verzích), nevytváří chybu. Pokud hranice není nalezena, nastaví počet parametrů na 0 a pokračuje ve spouštění skriptu. Možnost „varování“ je ideální, pokud chcete zjistit, zda byl řetězec nalezen, ale nechcete, aby skript selhal.
Poznámka : Pokud je ve skriptu povoleno Pokračovat v chybě, pak i když je položka NOTFOUND nastavena na hodnotu „chyba“, skript bude pokračovat, i když hranice nebude nalezena, ale do rozšířeného souboru protokolu bude zapsána chybová zpráva.
Tento atribut je také volitelný.
ORD : Označuje pořadovou pozici nebo instanci shody. Výchozí instance je 1. Pokud zadáte „Vše“, uloží se hodnoty parametrů do pole. Tento atribut je volitelný.
Poznámka: Použití instance namísto ORD je podporováno z důvodu zpětné kompatibility, ale je zastaralé.
RB: Pravá hranice parametru nebo dynamických dat. Pokud nezadáte hodnotu RB, použije všechny znaky až do konce dat jako hranici. Hraniční parametry rozlišují velká a malá písmena. Chcete-li dále přizpůsobit hledaný text, použijte jeden nebo více příznaků textu. Tento atribut je povinný. Viz část Mezní argumenty.
RelFrameID : Úroveň hierarchie stránky HTML vzhledem k požadované adrese URL. Možné hodnoty jsou VŠE nebo číslo. Kliknutím na atribut RelFrameID získáte podrobný popis. Tento atribut je volitelný.
Poznámka: RelFrameID není ve skriptech na úrovni grafického uživatelského rozhraní podporován.
SaveLen : Délka podřetězce nalezené hodnoty od zadaného offsetu k uložení do parametru. Tento atribut je volitelný. Výchozí hodnota je -1, což znamená, že se má uložit na konec řetězce.
SaveOffset : Posun podřetězce nalezené hodnoty pro uložení do parametru. Hodnota posunu musí být nezáporná. Výchozí hodnota je 0. Tento atribut je volitelný.
Hledat: Rozsah hledání, kde se mají hledat data s oddělovači. Možné hodnoty jsou Záhlaví (Hledat pouze v záhlavích), Tělo (prohledávat pouze data těla, ne záhlaví), Žádný zdroj (prohledávat pouze tělo HTML, kromě všech záhlaví a zdrojů), nebo VŠE (hledat tělo, záhlaví a zdroje) . Výchozí hodnota je ALL. Tento atribut je volitelný, ale obecně preferovaný.