Korreláció a LoadRunnerben a Web_Reg_Save_Param példával

Mi az a korreláció?

A korreláció, ahogy a neve is sugallja, két változó vagy entitás közötti kapcsolat meghatározásának mechanizmusa. A szótár úgy definiálja, mint „statisztikai kapcsolat két vagy több változó között úgy, hogy a másik szisztematikus változása az egyik változó értékének szisztematikus változásait kíséri”.

Miért van szükségünk a korrelációra?

Értsük meg az összefüggést a következő forgatókönyvvel.

Fontolja meg, hogy egy szkriptet rögzít a LoadRunner segítségével.

Ügyfél-szerver kommunikáció

  1. A rögzítés során a kliens kérést küld a szervernek egy munkamenet indítására
  2. A kiszolgáló fogadja a kérést, és kioszt egy új ABC munkamenet-azonosítót
  3. Az ügyfél az ABC munkamenet-azonosítót tárolja a szkriptben.
  4. Az ügyfél elindítja a munkamenetet az ABC azonosítóval, és kérést küld a szervernek, hogy engedélyezze a rögzítést
  5. A szerver felismeri az ABC azonosítót, és lehetővé teszi a kliens számára a szkript rögzítését

Korreláció felvétel közben

  1. Most tanulmányozzuk a kliens-szerver kommunikációt a visszajátszás során
  2. A visszajátszás során a kliens kérést küld a szervernek, hogy indítsa el a munkamenetet
  3. A kiszolgáló fogadja a kérést, és új XYZ munkamenet-azonosítót oszt ki
  4. Az ügyfél elindítja a munkamenetet a korábban rögzített ABC munkamenet-azonosítóval, és kérést küld a szervernek, hogy lehetővé tegye a rögzítést
  5. A kiszolgáló nem tudja azonosítani az ABC azonosítót, mivel az általa lefoglalt XYZ azonosítót várta, és a munkamenet meghiúsul.

Korreláció visszajátszás közben

Olyan megoldásra van szükségünk, amely rögzíti a futás közben elküldött dinamikus értéket, és ezt az értéket visszaadja a szervernek. Így fog kinézni a kliens-szerver kommunikáció ezzel a megoldással

  1. A visszajátszás során a kliens kérést küld a szervernek, hogy indítsa el a munkamenetet
  2. Egy kiszolgáló fogadja a kérést, és hozzárendel egy új ZZZ munkamenet-azonosítót
  3. Az ügyfél elemzi a kérésből ezt az új munkamenet-azonosítót, a ZZZ.
  4. Az ügyfél kérést küld a munkamenet indítására a ZZZ azonosítóval
  5. A szerver felismeri a ZZZ azonosítót, és lehetővé teszi a kliensnek, hogy újra lejátssza a szkriptet

Korrelációra van szükségünk

Ez nem más, mint korreláció.

Kattints itt ha a videó nem érhető el

A VUGen esetében a korreláció egy kötelező kapcsolat egy válasz és bármely korábbi kérés között.

Különböző helyzetek vannak, amikor egy kérés a kiszolgálótól korábban kapott válaszon alapul, például egy munkamenet-azonosítón, a szerver dátumán/időpontján, amelyet a kiszolgálótól kér le. Ezek az értékek minden alkalommal eltérőek, amikor egy alkalmazást futtat vagy egy parancsfájlt rögzít. Nyilvánvaló, hogy ha a szkript végrehajtása a szerver által visszaadott értéktől függ, akkor ez azt jelenti, hogy meg kell találni egy olyan mechanizmust, amellyel „elkaphatja” a szerver választ, és csatolhatja azokat a kéréseket, amelyeket a szerver vár. Ezt általában korrelációnak hívják a LoadRunnerben.

Egyszerű szavakkal, a megoldás a Correlation használatával a következő:

  1. Kimeneti érték rögzítése egy lépésből
  2. Használja a fent rögzített értéket az összes további lépés bemeneti beviteléhez

A korreláció 2 kategóriába sorolható a VUGen/LoadRunnerben:

  • Automatikus korreláció
  • Kézi korreláció

Automatikus korreláció

A LoadRunner olyan mechanizmust biztosít, amellyel könnyen, automatikus módon végezhető el a korreláció.

A VUGennek legalább kétszer le kell futtatnia egy rögzített szkriptet, hogy belsőleg összehasonlíthassa a szerver válaszában szereplő változó értékeket.

Az automatikus korreláció 3 kategóriába sorolható:

  • Auto-Detect Correlation
  • Szabály alapú korreláció
  • Összes állítás korrelációja
Szabály címe Mikor kell használni?
Korreláció automatikus észlelése A HP LoadRunner által támogatott alkalmazásszerverek dinamikus adatainak észlelése és korrelációja
Szabályalapú Akkor használatos, ha olyan nem támogatott alkalmazáskiszolgálóval dolgozik, amelynek környezete ismert.
Összes korreláció Segít az összes dinamikus adat vak korrelációjában.

Bár az automatikus korreláció egyszerűbbnek tűnik, hibás lehet, és az esetek legfeljebb 5%-ában működik. Mindig célszerű manuális korrelációt használni.

A rögzítéskori automatikus korreláció beállításához hajtsa végre az alábbi konfigurálást a Record Time Settingben a szkript rögzítése után.

Kattintson a Rögzítés => Felvételi beállítások elemre (vagy kattintson a Ctrl + F7 billentyűkre),

Automatikus korreláció

Az alábbi ablak nyílik meg:

Automatikus korreláció

Kattintson a Correlation =>Configuration (Korreláció =>Konfiguráció) elemre – megnyílik az alábbi ablak.

Automatikus korreláció

Itt meg kell jelölnie ellenőrzöttként az összes olyan alkalmazást (ASPNET) stb., amelyet a tárgykérelmében használ. A jobb oldalon láthatja azokat a szabályokat, amelyek észlelik a lehetséges korrelációs jelölteket, pl. _VIEWSTATE. További alkalmazásokat vagy egyéni szabályokat is hozzáadhat az Új szabály gombra kattintva.

A SZABÁLYOK elemre is kattinthat, az alábbiak szerint fog látni:

Automatikus korreláció

Az automatikus korreláció működéséhez gondoskodnia kell arról, hogy a Szabályvizsgálat bejelölve legyen. Ha rákattint a talált értékek automatikus korrelációjára, a VUGen nem kéri a választást, ha talált egy korrelációs jelöltet, hanem csak korrelálja azokat.

Később megértjük a korrelációhoz használt API-t. A szövegösszehasonlítás helyett azonban ajánlatos a HTML-összehasonlítást használni.

Miután kiválasztotta a szabályokat, kattintson az OK gombra az ablakok bezárásához.

Kattints a Automatikus korrelációmenüből, és a VUGen újragenerálja a szkriptet (nem kell rögzíteni) új konfigurációkkal. A VUGen automatikusan hozzáad egy szükséges kódrészletet a korreláció kezeléséhez. A mintát részletesebben a Kézi korreláció című részben fogjuk megvizsgálni.

Kérjük, vegye figyelembe, hogy ha manuálisan hajtja végre a korrelációt, vagy automatikus korrelációt használ, akkor a kódrészlet pontosan ugyanazt a szintaxist és funkciót fogja tartalmazni.

A szkript automatikus korrelációjának lépései:

  1. Rögzítsen egy forgatókönyvet
  2. Szkript újrajátszása
  3. Határozza meg a korrelálandó értékeket
  4. Válassza ki az értékeket, és kattintson az automatikus korreláció gombra
  5. Ellenőrizze a szkriptet az újbóli futtatással. A sikeres futás sikeres korrelációt jelent.

Tipp:

  • A korreláció segít a szkript futtatásában különböző értékekkel
  • A korreláció csökkenti a szkript méretét is

Kézi korreláció

A kézi korreláció azt jelenti, hogy kódot ír közvetlenül a szkriptbe, hogy megfeleljen a folyamatosan változó értékeknek. Az alábbi lépésekre oszthatjuk:

  1. Határozza meg a rögzíteni kívánt értéket
  2. Keresse meg a rögzíteni kívánt érték jobb és bal oldali szöveghatárát (WEB)
  3. Keresse meg, hogy a szöveghatárok melyik előfordulását kell használni
  4. Adjon hozzá egy web_reg_save_param függvényt a szkripthez, azon kódrész fölé, amely a rögzítendő értékű oldalt kéri
  5. Adjon hozzá egy paraméternevet, a bal oldali határt, a jobb oldali határt és az előfordulást a függvényhez
  6. Paraméterezze a dinamikus értéket a szkriptben minden alkalommal, amikor az előfordul
  7. Ellenőrizze a helyes végrehajtást
web_reg_save_param (" OracleAppJSESSIONID3",
	"LB/IC=JSESSIONID=",
	"RB/IC=;",
	"Ord=l",
	"Search=headers",
	"RelFrameId=l",
	LAST);

web_reg_save_param("Siebel_Analytic_ViewState2",
	"LB/IC=ViewState\" value=\"",
	"RB/IC=\"",
	"Ord=1",
	"Search=Body",
	"RelFrameId=l",
	LAST);

A kézi korreláció a VUser Comparison segítségével végezhető el. A VUser összehasonlító korrelációs módszerének lépései az alábbiak szerint oszthatók fel:

  1. Azonosítsa azokat a dinamikus értékeket, amelyeket korrelálni kell
  2. Keresse meg a Dinamikus értéket tartalmazó szerverválaszt
  3. Rögzítse a dinamikus értéket egy paraméterben
  4. Cserélje le a Dinamikus érték minden előfordulását a paraméterrel
  5. Módosítások ellenőrzése

A Web_reg_save_param függvény értelmezése

A VUGen több funkciót vagy API-t biztosít a jelöltek korrelálásához, beleértve:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

Amíg itt egy rövid bevezetőt adunk, a funkciók és paramétereik részletes megértéséhez nyissa meg a VUGen-t, írjon funkciót (vagy használja a Steps Toolbox-ot), vigye a kurzort a funkcióra, és kattintson az F1-re – ismerkedjen meg a VUGen súgójával, és készítsen egy szokás. Sokat kell vele foglalkozni, ha az iparban dolgozik.

Következzen a funkció részletei:

web_reg_save_param(Paraméter neve , bal oldali határ , jobb oldali határ )

Attribútumok listája

Alakítani: A lehetséges értékek a következők:

HTML_TO_URL: HTML-kódolású adatok konvertálása URL-kódolt adatformátummá

HTML_TO_TEXT: HTML-kódolású adatok átalakítása egyszerű szöveges formátumba; ez az attribútum nem kötelező.

Az átirányítások figyelmen kívül hagyása: Ha „Ignore Redirections=Yes” van megadva, és a kiszolgáló válasza átirányítási információ (HTTP állapotkód 300-303, 307), a válasz nem kerül keresésre. Ehelyett, miután megkapta az átirányítási választ, a GET kérést elküldi az átirányított helyre, és a keresés az adott helyről érkező válaszon történik.

Ez az attribútum nem kötelező. Az alapértelmezett az „Átirányítások figyelmen kívül hagyása=Nem”.

LB: A paraméter vagy a dinamikus adat bal oldali határa. Ha nem ad meg LB értéket, akkor az adatok elejétől kezdve az összes karaktert határként használja. A határparaméterek megkülönböztetik a kis- és nagybetűket. A keresési szöveg további testreszabásához használjon egy vagy több szövegjelzőt. Ez az attribútum kötelező. Lásd a Határérvek részt.

NEM TALÁLHATÓ: A kezelési opció, ha nem található határ, és üres karakterlánc jön létre.

A „Not found=error”, az alapértelmezett érték, hibát jelez, ha nem található határ.

„Nem található=figyelmeztetés” (a korábbi verziókban „Nem található=üres”), nem ad ki hibát. Ha a határ nem található, akkor a paraméterek számát 0-ra állítja, és folytatja a parancsfájl végrehajtását. A „figyelmeztetés” opció ideális, ha látni szeretné, hogy a karakterlánc megtalálható-e, de nem akarja, hogy a szkript sikertelen legyen.

Megjegyzések: Ha a Continue on Error engedélyezve van a szkriptben, akkor még akkor is, ha a NOTFOUND beállítása „hiba”, a szkript akkor is folytatódik, ha a határ nem található, de hibaüzenet kerül a kiterjesztett naplófájlba.

Ez az attribútum szintén nem kötelező.

KÉT OLDALSÁV: Az egyezés sorrendi helyét vagy előfordulását jelzi. Az alapértelmezett példány 1. Ha az „Összes” értéket adja meg, akkor a paraméterértékeket egy tömbbe menti. Ez az attribútum nem kötelező.

Megjegyzés: A Példány használata az ORD helyett támogatott a visszafelé kompatibilitás miatt, de elavult.

RB: A paraméter vagy a dinamikus adat jobb oldali határa. Ha nem ad meg RB értéket, akkor az összes karaktert az adat végéig használja határként. A határparaméterek megkülönböztetik a kis- és nagybetűket. A keresési szöveg további testreszabásához használjon egy vagy több szövegjelzőt. Ez az attribútum kötelező. Lásd a Határérvek részt.

RelFrameID: A HTML-oldal hierarchiaszintje a kért URL-hez viszonyítva. A lehetséges értékek ALL vagy egy szám. Kattintson a RelFrameID attribútumra a részletes leírásért. Ez az attribútum nem kötelező.

Jegyzet: A RelFrameID nem támogatott GUI szintű szkriptekben.

SaveLen: A talált érték részkarakterláncának hossza a megadott eltolástól számítva, amelyet a paraméterbe kell menteni. Ez az attribútum nem kötelező. Az alapértelmezett érték -1, ami azt jelzi, hogy a karakterlánc végére kell menteni.

SaveOffset: A talált érték részkarakterláncának eltolása a paraméterbe mentéshez. Az eltolási érték nem lehet negatív. Az alapértelmezett érték 0. Ez az attribútum nem kötelező.

Keresés: A keresés hatóköre – hol kell keresni a körülhatárolt adatokat. A lehetséges értékek a következők: Headers (Csak a fejlécekben keressen), Body (csak törzsadatok keresése, fejlécek nem), Nincs erőforrás (csak a HTML törzsében keressen, az összes fejléc és erőforrás kivételével), vagy MINDEN (keresés törzse, fejlécek és források). Az alapértelmezett érték ALL. Ez az attribútum nem kötelező, de általában előnyös.