Čo je korelácia?
Korelácia, ako už názov napovedá, je mechanizmus definovania vzťahu medzi dvoma premennými alebo entitami. Slovník to definuje ako „štatistický vzťah medzi dvoma alebo viacerými premennými tak, že systematické zmeny v druhej sprevádzajú systematické zmeny v hodnote jednej premennej“.
V tomto návode sa dozvieme niečo o
- Prečo potrebujeme koreláciu?
- Automatická korelácia
- Manuálna korelácia
- Pochopenie funkcie Web_reg_save_param
Prečo potrebujeme koreláciu?
Poďme pochopiť vzťah s nasledujúcim scenárom.
Zvážte, že nahrávate skript pomocou nástroja LoadRunner.
Komunikácia klient-server
- Počas záznamu klient pošle serveru požiadavku na začatie relácie
- Server prijme požiadavku a pridelí nové ID relácie ABC
- Klient uloží v skripte ID relácie ABC.
- Klient zaháji reláciu s ID ABC a pošle požiadavku na server, aby mu umožnil záznam
- Server rozpozná ID ABC a umožní klientovi zaznamenať skript
- Poďme si teraz preštudovať komunikáciu klient-server počas prehrávania
- Počas opakovaného prehrávania klient pošle požiadavku na server na začatie relácie
- Server prijme požiadavku a pridelí nové ID relácie XYZ
- Klient začne reláciu s predtým zaznamenaným ID relácie ABC a pošle žiadosť na server, aby mu umožnil záznam
- Server nie je schopný identifikovať ID ABC, pretože očakával ID XYZ, ktoré pridelil, a relácia zlyhá.
Potrebujeme riešenie, ktoré by zachytilo analýzu dynamickej hodnoty odoslanej za behu a vrátenie tejto hodnoty späť na server. Takto bude vyzerať komunikácia klient-server s týmto riešením
- Počas opakovaného prehrávania klient pošle požiadavku na server na začatie relácie
- Server prijme požiadavku a pridelí nové ID relácie ZZZ
- Klient analyzuje toto nové ID relácie ZZZ zo žiadosti.
- Klient pošle požiadavku na začatie relácie s id ZZZ
- Server rozpozná ID ZZZ a umožní klientovi prehrať skript
To nie je nič iné ako korelácia .
Ak video nie je prístupné, kliknite sem
V prípade VUGen je korelácia záväzný vzťah medzi odpoveďou a akoukoľvek predchádzajúcou požiadavkou.
Existujú rôzne situácie, keď je požiadavka založená na predtým prijatej odpovedi zo servera, ako napríklad ID relácie, dátum a čas servera, ktoré sa načítajú zo servera. Tieto hodnoty sa líšia pri každom spustení aplikácie alebo zaznamenaní skriptu. Je zrejmé, že ak vykonávanie skriptu závisí od hodnoty vrátenej serverom, znamená to, že musíte nájsť mechanizmus, pomocou ktorého môžete „zachytiť“ odpoveď servera a priložiť ich k požiadavkám, ktoré server očakáva. Toto sa v LoadRunneri zvyčajne nazýva Korelácia.
Jednoduchými slovami, riešenie pomocou korelácie je:
- Zaznamenajte výstupnú hodnotu z kroku
- Vyššie uvedená hodnota slúži ako vstup do všetkých nasledujúcich krokov
Korelácia je vo VUGen / LoadRunner rozdelená do 2 kategórií:
- Automatická korelácia
- Manuálna korelácia
Automatická korelácia
LoadRunner poskytuje mechanizmus na ľahké vykonávanie korelácie automatickým spôsobom.
VUGen bude vyžadovať, aby ste spustili zaznamenaný skript najmenej dvakrát, aby mohol interne porovnávať rôzne hodnoty v odpovedi servera.
Automatickú koreláciu možno rozdeliť do 3 kategórií:
- Automatická detekcia korelácie
- Korelácia na základe pravidiel
- Korelačné všetky vyhlásenia
Názov pravidla | Kedy použiť |
Automaticky zistiť koreláciu | Zistite a porovnajte dynamické údaje pre aplikačné servery podporované softvérom HP LoadRunner |
Podľa pravidiel | Používa sa pri práci s nepodporovaným aplikačným serverom, pre ktorý je známy kontext. |
Súvisí všetko | Pomáha slepo korelovať všetky dynamické údaje. |
Aj keď sa automatická korelácia zdá byť jednoduchšia, môže byť náchylná na chyby a funguje nie vo viac ako 5% prípadov. Vždy je vhodné použiť manuálnu koreláciu.
Ak chcete nakonfigurovať automatickú koreláciu v čase nahrávania, vykonajte nižšie uvedenú konfiguráciu v časti Nastavenie času záznamu po zaznamenaní skriptu.
Kliknite na Záznam => Možnosti nahrávania (alebo kliknite na Ctrl + F7),
>
Otvorí sa okno nižšie:
Kliknite na Korelácia => Konfigurácia - otvorí sa nižšie zobrazené okno.
Tu musíte označiť ako zaškrtnuté všetky aplikácie (ASPNET) atď., Ktoré sa používajú v predmetnej aplikácii. Na pravej strane môžete vidieť pravidlá, ktoré odhalia možných kandidátov na koreláciu, napr. _VIEWSTATE. Môžete tiež pridať ďalšie aplikácie alebo vlastné pravidlá kliknutím na tlačidlo Nové pravidlo.
Môžete tiež kliknúť na PRAVIDLÁ, uvidíte ako je uvedené nižšie:
Aby automatická korelácia fungovala, musíte skontrolovať, či je Kontrola pravidiel označená ako začiarknutá. Ak kliknete na nájdené automaticky korelované hodnoty, VUGen vás po nájdení kandidáta na koreláciu nepožiada o výber, namiesto toho ich iba koreluje.
Rozhranie API použité na koreláciu pochopíme neskôr. Namiesto textového porovnania je však vhodné použiť porovnanie HTML.
Po výbere akýchkoľvek pravidiel zatvorte okná kliknutím na tlačidlo OK.
Kliknite na v ponuke a program VUGen vygeneruje skript (bez nutnosti nahrávania) s novými konfiguráciami. VUGen automaticky pridá požadovaný kúsok kódu na zvládnutie korelácie. Na ukážku sa pozrieme podrobnejšie v manuálnej korelácii.
Upozorňujeme, že ak koreláciu vykonávate ručne alebo používate automatickú koreláciu, bude časť kódu obsahovať úplne rovnakú syntax a funkciu.
Kroky na automatickú koreláciu skriptu:
- Nahrajte scenár
- Prehrať skript
- Určte hodnoty, ktoré sa majú korelovať
- Vyberte hodnoty a kliknite na tlačidlo automatickej korelácie
- Skript overte opätovným spustením. Úspešný beh znamená úspešnú koreláciu.
Tip:
- Korelácia pomáha spúšťať skript s rôznymi hodnotami
- Korelácia tiež zmenší veľkosť vášho skriptu
Manuálna korelácia
Ručná korelácia je o zapisovaní kódu priamo do vášho skriptu, aby sa zaistili neustále sa meniace hodnoty. Môžeme to rozdeliť do nasledujúcich krokov:
- Určte hodnotu, ktorú chcete zachytiť
- Nájdite pravé a ľavé textové hranice hodnoty na zachytenie (WEB)
- Nájdite, ktorý výskyt hraníc textu by sa mal použiť
- Pridajte do skriptu funkciu web_reg_save_param nad časť kódu, ktorá požaduje, aby stránka bola zachytená
- Pridajte k funkcii názov parametra, ľavú hranicu, pravú hranicu a výskyt
- Parametrizujte dynamickú hodnotu v skripte zakaždým, keď k nej dôjde
- Overte správne vykonanie
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Hľadať = hlavičky","RelFrameId = l",POSLEDNÉ);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Ord = 1","Search = Body","RelFrameId = l",POSLEDNÉ);
Manuálnu koreláciu je možné vykonať pomocou nástroja VUser Comparison. Kroky v metóde porovnania VUser je možné rozdeliť takto:
- Identifikujte dynamické hodnoty, ktoré je potrebné korelovať
- Nájdite odpoveď serverov obsahujúcich dynamickú hodnotu
- Zachyťte dynamickú hodnotu v parametri
- Nahraďte každý výskyt dynamickej hodnoty parametrom
- Overiť zmeny
Pochopenie funkcie Web_reg_save_param
VUGen poskytuje viac funkcií alebo API na koreláciu kandidátov, vrátane:
- web_reg_save_param
- web_reg_save_param_ex
- web_reg_save_param_regexp
- web_reg_save_param_xpath
Aj keď je tu uvedený krátky úvod, pre podrobné pochopenie funkcií a ich parametrov otvorte VUGen, napíšte funkciu (alebo použite Steps Toolbox), posuňte kurzor na funkciu a kliknite na F1 - zoznámte sa s pomocou VUGen a urobte zvyk. Pri práci v priemysle to budete musieť veľa riešiť.
Tu ideme s podrobnosťami o funkcii:
web_reg_save_param (Názov parametra, ľavá hranica, pravá hranica)
Zoznam atribútov
Konvertovať: Možné hodnoty sú:
HTML_TO_URL : prevádza údaje kódované vo formáte HTML do formátu údajov vo formáte URL
HTML_TO_TEXT : prevádza údaje kódované HTML do formátu obyčajného textu; tento atribút je voliteľný.
Ignorovať presmerovania : Ak je zadané „Ignorovať presmerovania = Áno“ a odpoveďou servera sú informácie o presmerovaní (stavový kód HTTP 300-303, 307), odpoveď sa nevyhľadá. Namiesto toho sa po prijatí odpovede na presmerovanie odošle žiadosť GET do presmerovaného umiestnenia a vyhľadávanie sa vykoná v odpovedi z tohto umiestnenia.
Tento atribút je voliteľný. Predvolená hodnota je „Ignorovať presmerovania = Nie“.
LB: Ľavá hranica parametra alebo dynamických údajov. Ak nezadáte hodnotu LB, použije ako hranicu všetky znaky od začiatku údajov. Hraničné parametre rozlišujú veľké a malé písmená. Ak chcete ďalej prispôsobiť hľadaný text, použite jeden alebo viac znakov textu. Tento atribút je povinný údaj. Pozrite si časť Hraničné argumenty.
NOTFOUND : Možnosť spracovania, keď sa hranica nenájde a vygeneruje sa prázdny reťazec.
Predvolená hodnota „Not found = error“ spôsobí zvýšenie chyby, keď sa nenájde hranica.
„Not found = warning“ („Not found = empty“ v starších verziách), nevytvára chybu. Ak sa hranica nenájde, nastaví počet parametrov na 0 a pokračuje v vykonávaní skriptu. Možnosť „upozornenie“ je ideálna, ak chcete zistiť, či sa reťazec našiel, ale nechcete, aby skript zlyhal.
Poznámka : Ak je pre skript zapnutá funkcia Pokračovať po chybe, potom aj keď je položka NOTFOUND nastavená na hodnotu „chyba“, skript bude pokračovať, aj keď nenájde hranicu, ale do rozšíreného súboru denníka sa zapíše chybové hlásenie.
Tento atribút je tiež voliteľný.
ORD : Označuje poradovú pozíciu alebo inštanciu zápasu. Predvolená inštancia je 1. Ak zadáte „Všetky“, uloží sa hodnoty parametrov do poľa. Tento atribút je voliteľný.
Poznámka: Z dôvodu spätnej kompatibility je použitie inštancie namiesto ORD podporované, je však zastarané.
RB: Pravá hranica parametra alebo dynamických údajov. Ak nezadáte hodnotu RB, použije všetky znaky až do konca údajov ako hranicu. Hraničné parametre rozlišujú veľké a malé písmená. Ak chcete ďalej prispôsobiť hľadaný text, použite jeden alebo viac znakov textu. Tento atribút je povinný údaj. Pozrite si časť Hraničné argumenty.
RelFrameID : Úroveň hierarchie stránky HTML vo vzťahu k požadovanej adrese URL. Možné hodnoty sú VŠETKY alebo číslo. Kliknutím na atribút RelFrameID získate podrobný popis. Tento atribút je voliteľný.
Poznámka: RelFrameID nie je podporovaný v skriptoch na úrovni GUI.
SaveLen : Dĺžka podreťazca nájdenej hodnoty od zadaného posunu, ktorá sa má uložiť do parametra. Tento atribút je voliteľný. Predvolená hodnota je -1, čo znamená, že sa má uložiť na koniec reťazca.
SaveOffset : Posun podreťazca nájdenej hodnoty, ktorý sa má uložiť do parametra. Hodnota posunu musí byť nezáporná. Predvolená hodnota je 0. Tento atribút je voliteľný.
Hľadať: Rozsah miesta, kde sa majú hľadať údaje s obmedzenými údajmi. Možné hodnoty sú Hlavičky (Vyhľadať iba hlavičky), Text (prehľadať iba údaje tela, nie hlavičky), Žiadny zdroj (prehľadať iba telo HTML, okrem všetkých hlavičiek a zdrojov), alebo VŠETKY (vyhľadať iba hlavičky a zdroje) . Predvolená hodnota je ALL. Tento atribút je voliteľný, ale všeobecne sa uprednostňuje.