Korrelation i LoadRunner med Web_Reg_Save_Param Exempel

Innehållsförteckning:

Anonim

Vad är korrelation?

Korrelation, som namnet antyder, är en mekanism för att definiera ett förhållande mellan två variabler eller enheter. En ordbok definierar den som ”statistisk relation mellan två eller flera variabler så att systematiska förändringar i den andra åtföljer systematiska förändringar i värdet på en variabel”.

I den här handledningen lär vi oss om

  • Varför behöver vi korrelation?
  • Automatisk korrelation
  • Manuell korrelation
  • Förstå funktionen Web_reg_save_param

Varför behöver vi korrelation?

Låt oss förstå samförhållande med följande scenario.

Tänk på att du spelar in ett skript med LoadRunner.

Kommunikation mellan klient och server

  1. Under Record skickar klienten en begäran till servern om att starta en session
  2. En server tar emot begäran och tilldelar ett nytt session-ID ABC
  3. Klienten lagrar session-id ABC i skriptet.
  4. Klienten startar sessionen med ID ABC och skickar en begäran till en server så att den kan spelas in
  5. Servern känner igen ID ABC och låter klienten spela in skriptet

  1. Låt oss nu studera klient-server-kommunikationen under omspelning
  2. Under Replay skickar en klient en begäran till servern om att starta en session
  3. En server tar emot begäran och tilldelar ett nytt session-ID XYZ
  4. En klient startar sessionen med tidigare inspelat session-ID ABC och skickar begäran till servern så att den kan spelas in
  5. En server kan inte identifiera ID ABC eftersom den förväntade sig att ID XYZ hade tilldelats och session misslyckades.

Vi behöver en lösning för att analysera det dynamiska värdet som skickas vid körning och returnera detta värde till servern. Här är hur klient-server-kommunikationen kommer att se ut med den här lösningen

  1. Under Replay skickar en klient en begäran till servern om att starta en session
  2. En server tar emot begäran och tilldelar ett nytt session-ID ZZZ
  3. En klient analyserar detta nya session-id ZZZ från begäran.
  4. En klient skickar en begäran om att starta sessionen med id ZZZ
  5. En server känner igen ID ZZZ och låter klienten spela upp skriptet igen

Detta är inget annat än korrelation .

Klicka här om videon inte är tillgänglig

I fallet med VUGen är korrelation ett bindande förhållande mellan ett svar och föregående begäran.

Det finns olika situationer när en begäran baseras på ett tidigare mottaget svar från servern, såsom ett sessions-ID, serverdatum / tid som hämtas från servern. Dessa värden är olika varje gång du kör ett program eller spelar in ett skript. Uppenbarligen, om körningen av skript beror på ett värde som returneras av servern, betyder det att du måste hitta en mekanism där du kan "fånga" serversvaret och bifoga de förfrågningar som servern förväntar sig. Detta kallas vanligtvis Correlation i LoadRunner.

Med enkla ord är lösningen med hjälp av korrelation:

  1. Fånga utdata från ett steg
  2. Använd ovan erhållna värden för att fungera som inmatning till alla efterföljande steg

Korrelationen klassificeras i två kategorier i VUGen / LoadRunner:

  • Automatisk korrelation
  • Manuell korrelation

Automatisk korrelation

LoadRunner tillhandahåller en mekanism för att enkelt utföra korrelation på automatiskt sätt.

VUGen kräver att du kör ett inspelat skript minst två gånger så att det internt kan jämföra de olika värdena i serversvaret.

Automatisk korrelation kan klassificeras i tre kategorier:

  • Auto-Detect Correlation
  • Regelbaserad korrelation
  • Korrelerar alla uttalanden
Regelnamn När ska man använda
Auto-upptäcka korrelation Upptäck och korrelera dynamisk data för applikationsservrar som stöds av HP LoadRunner
Regelbaserad Används när du arbetar med en applikationsserver som inte stöds för vilken sammanhanget är känt.
Korrelera alla Hjälper till att korrelera all dynamisk data på ett blindt sätt.

Även om automatisk korrelation verkar enklare kan den vara felbenägen och fungerar inte i mer än 5% av fallen. Det är alltid tillrådligt att använda manuell korrelation.

För att konfigurera automatisk korrelation vid inspelningstid, utför nedanstående konfiguration i Record Time Setting efter att ett skript har spelats in.

Klicka på Spela in => Inspelningsalternativ (eller klicka på Ctrl + F7),

>

Nedanför fönstret öppnas:

Klicka på Korrelation => Konfiguration - nedanför fönstret öppnas.

Här måste du markera som markerat mot alla applikationer (ASPNET) etc. som används i din ämnesapplikation. På höger sida kan du se reglerna som kommer att upptäcka möjliga kandidater för korrelation, t.ex. _VIEWSTATE. Du kan också lägga till fler applikationer eller anpassade regler genom att klicka på knappen Ny regel.

Du kan också klicka på REGLER, du ser nedan:

För att automatisk korrelation ska fungera måste du se till att Regelsökning är markerad som markerad. Om du klickar på att korrelera värden som hittats automatiskt kommer VUGen inte att fråga dig om valet när en korrelationskandidat har hittats, utan istället korrelera dem.

Vi förstår API som används för korrelation senare. Det är dock lämpligt att använda HTML-jämförelse istället för textjämförelse.

När du har valt några regler klickar du på OK-knappen för att stänga fönstren.

Klicka på från menyn och VUGen kommer att återskapa skript (utan att behöva spela in) med nya konfigurationer. VUGen lägger automatiskt till en kod som krävs för att hantera korrelation. Vi kommer att titta på provet mer detaljerat i Manual Correlation.

Observera att om du utför korrelation manuellt eller använder automatisk korrelation, kommer kodstycket att innehålla exakt samma syntax och funktion.

Steg för att automatiskt korrelera ett skript:

  1. Spela in ett manus
  2. Spela om skript
  3. Identifiera de värden som ska korreleras
  4. Välj värdena och klicka på knappen auto-korrelera
  5. Verifiera skriptet genom att köra igen. En framgångsrik körning betyder framgångsrik korrelation.

Dricks:

  • Korrelation hjälper till att köra ditt skript med olika värden
  • Korrelation minskar också storleken på ditt skript

Manuell korrelation

Manuell korrelation handlar om att skriva kod direkt i ditt skript för att tillgodose ständigt föränderliga värden. Vi kan dela upp det i nedanstående steg:

  1. Bestäm det värde som ska fångas
  2. Hitta höger och vänster textgränser för värdet att fånga (WEB)
  3. Hitta vilken förekomst av textgränserna som ska användas
  4. Lägg till en web_reg_save_param-funktion i skriptet ovanför den kodbit som begär sidan med värdet att fånga
  5. Lägg till ett parameternamn, vänster gräns, höger gräns och förekomst till funktionen
  6. Parameterisera det dynamiska värdet i skriptet varje gång det inträffar
  7. Kontrollera korrekt utförande
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Sök = rubriker","RelFrameId = l",SISTA);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Ord = 1","Sök = kropp","RelFrameId = l",SISTA);

Manuell korrelation kan göras av VUser Comparison. Steg i VUser-jämförelsemetoden för korrelation kan delas upp enligt nedan:

  1. Identifiera dynamiska värden som behöver korreleras
  2. Hitta Servers svar som innehåller det dynamiska värdet
  3. Fånga det dynamiska värdet i en parameter
  4. Ersätt varje förekomst av det dynamiska värdet med parametern
  5. Verifiera ändringar

Förstå funktionen Web_reg_save_param

VUGen tillhandahåller flera funktioner eller API: er för att korrelera kandidater, inklusive:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

Medan en kort introduktion tillhandahålls här, för en detaljerad förståelse av funktioner och deras parametrar, öppna VUGen, skrivfunktion (eller använd Steps Toolbox), flytta en markör på funktionen och klicka på F1 - bekanta dig med VUGen-hjälp och gör en vana. Du måste ta itu med det mycket när du arbetar i branschen.

Här går vi med funktionsdetaljerna:

web_reg_save_param (Parameternamn, vänster gräns, höger gräns)

Lista över attribut

Konvertera: De möjliga värdena är:

HTML_TO_URL : konvertera HTML-kodad data till ett URL-kodat dataformat

HTML_TO_TEXT : konvertera HTML-kodad data till vanligt textformat; detta attribut är valfritt.

Ignorera omdirigeringar : Om "Ignorera omdirigeringar = Ja" anges och serversvaret är omdirigeringsinformation (HTTP-statuskod 300-303, 307), söks inte svaret. Istället skickas GET-begäran till den omdirigerade platsen efter att ha fått ett omdirigeringssvar och sökningen utförs på svaret från den platsen.

Detta attribut är valfritt. Standard är "Ignorera omdirigeringar = Nej".

LB: Parameterns vänstra gräns eller dynamiska data. Om du inte anger ett LB-värde använder det alla tecken från början av data som en gräns. Gränsparametrar är skiftlägeskänsliga. Använd en eller flera textflaggor för att ytterligare anpassa söketeksten. Detta attribut krävs. Se avsnittet Gränsargument.

NOTFOUND : Hanteringsalternativet när en gräns inte hittas och en tom sträng genereras.

"Not found = error", standardvärdet, gör att ett fel höjs när en gräns inte hittas.

"Inte hittat = varning" ("Inte hittat = tomt" i tidigare versioner) ger inte något fel. Om gränsen inte hittas sätter den parameterantalet till 0 och fortsätter att köra skriptet. Alternativet "varning" är perfekt om du vill se om strängen hittades, men du inte vill att skriptet ska misslyckas.

Obs! Om Fortsätt vid fel är aktiverat för skriptet, även om NOTFOUND är inställt på "fel" fortsätter skriptet när gränsen inte hittas, men ett felmeddelande skrivs till den utökade loggfilen.

Detta attribut är också valfritt.

ORD : Indikerar den ordinarie positionen eller instansen av matchen. Standardinstansen är 1. Om du anger "Alla" sparas parametervärdena i en matris. Detta attribut är valfritt.

Obs! Användningen av Instance istället för ORD stöds för bakåtkompatibilitet, men utfasad.

RB: Parameterns högra gräns eller dynamiska data. Om du inte anger ett RB-värde använder det alla tecken fram till slutet av data som en gräns. Gränsparametrar är skiftlägeskänsliga. Använd en eller flera textflaggor för att ytterligare anpassa söketeksten. Detta attribut krävs. Se avsnittet Gränsargument.

RelFrameID : HTML-sidans hierarkinivå i förhållande till den begärda URL: n. De möjliga värdena är ALL eller ett tal. Klicka på RelFrameID-attribut för en detaljerad beskrivning. Detta attribut är valfritt.

Obs! RelFrameID stöds inte i GUI-nivåskript.

SaveLen : Längden på en understräng av det hittade värdet, från den angivna förskjutningen, för att spara till parametern. Detta attribut är valfritt. Standard är -1, vilket indikerar att spara i slutet av strängen.

SaveOffset : Offset för en understräng av det hittade värdet, för att spara till parametern. Offsetvärdet måste vara icke-negativt. Standard är 0. Detta attribut är valfritt.

Sök: Omfattningen av sökningen var du ska söka efter avgränsad data. De möjliga värdena är rubriker (Sök bara i rubrikerna), Brödtext (sök endast kroppsdata, inte rubriker), Ingen resurs (sök bara i HTML-brödtexten, exklusive alla rubriker och resurser) eller ALL (sökbricka, rubriker och resurser) . Standardvärdet är ALL. Detta attribut är valfritt men allmänt föredraget.