Korrelaatio LoadRunnerissa Web_Reg_Save_Param-esimerkin kanssa

Mikä on korrelaatio?

Korrelaatio, kuten nimestä voi päätellä, on mekanismi, jolla määritellään kahden muuttujan tai entiteetin välinen suhde. Sanakirja määrittelee sen "tilastollisena suhteena kahden tai useamman muuttujan välillä siten, että systemaattiset muutokset toisessa muuttuvat yhden muuttujan arvon systemaattisten muutosten mukana".

Miksi tarvitsemme korrelaatiota?

Ymmärretäänkö yhteys seuraavan skenaarion kanssa.

Harkitse, että tallennat skriptiä LoadRunnerilla.

Asiakas-palvelin-kommunikaatio

  1. Tallennuksen aikana asiakas lähettää palvelimelle pyynnön aloittaa istunto
  2. Palvelin vastaanottaa pyynnön ja varaa uuden istuntotunnuksen ABC
  3. Asiakas tallentaa skriptiin istunnon tunnuksen ABC.
  4. Asiakas aloittaa istunnon ID:llä ABC ja lähettää palvelimelle pyynnön tallentaa
  5. Palvelin tunnistaa tunnuksen ABC ja sallii asiakkaan tallentaa komentosarjan

Korrelaatio tallennuksen aikana

  1. Nyt tutkitaan asiakas-palvelin-kommunikaatiota toiston aikana
  2. Toiston aikana asiakas lähettää palvelimelle pyynnön aloittaa istunto
  3. Palvelin vastaanottaa pyynnön ja varaa uuden istuntotunnuksen XYZ
  4. Asiakas aloittaa istunnon aiemmin tallennetulla istuntotunnuksella ABC ja lähettää pyynnön palvelimelle, jotta se voi tallentaa
  5. Palvelin ei pysty tunnistamaan ID:tä ABC, koska se odotti osoittamaansa ID:tä XYZ ja istunto epäonnistuu.

Korrelaatio toiston aikana

Tarvitsemme ratkaisun, joka jäsentää ajon aikana lähetetyn dynaamisen arvon ja palauttaa tämän arvon takaisin palvelimelle. Tältä asiakas-palvelin-kommunikaatio näyttää tällä ratkaisulla

  1. Toiston aikana asiakas lähettää palvelimelle pyynnön aloittaa istunto
  2. Palvelin vastaanottaa pyynnön ja varaa uuden istuntotunnuksen ZZZ
  3. Asiakas jäsentää tämän uuden istunnon tunnuksen ZZZ pyynnöstä.
  4. Asiakas lähettää istunnon aloittamispyynnön tunnuksella ZZZ
  5. Palvelin tunnistaa tunnuksen ZZZ ja sallii asiakkaan toistaa skriptin

Tarvitsemme korrelaatiota

Tämä ei ole muuta kuin korrelaatio.

Napauta täältä jos video ei ole saatavilla

VUGenin tapauksessa korrelaatio on sitova suhde vastauksen ja minkä tahansa edeltävän pyynnön välillä.

On olemassa erilaisia ​​tilanteita, joissa pyyntö perustuu palvelimelta aiemmin vastaanotettuun vastaukseen, kuten istuntotunnukseen, palvelimen päivämäärä/aika, joka noudetaan palvelimelta. Nämä arvot ovat erilaisia ​​aina, kun suoritat sovelluksen tai tallennat komentosarjan. On selvää, että jos komentosarjan suoritus riippuu palvelimen palauttamasta arvosta, se tarkoittaa, että sinun on löydettävä mekanismi, jolla voit "saapua" palvelimen vastauksen ja liittää palvelimen odottamiin pyyntöihin. Tätä kutsutaan tyypillisesti korrelaatioksi LoadRunnerissa.

Yksinkertaisesti sanottuna ratkaisu käyttämällä korrelaatiota on:

  1. Kaappaa lähtöarvo vaiheesta
  2. Käytä yllä olevaa kaapattua arvoa syötteenä kaikissa myöhemmissä vaiheissa

Korrelaatio on luokiteltu 2 luokkaan VUGen/LoadRunnerissa:

  • Automaattinen korrelaatio
  • Manuaalinen korrelaatio

Automaattinen korrelaatio

LoadRunner tarjoaa mekanismin, jolla voidaan helposti suorittaa korrelaatio automaattisesti.

VUGen vaatii sinua suorittamaan tallennettua komentosarjaa vähintään kaksi kertaa, jotta se voi sisäisesti verrata palvelimen vastauksen vaihtelevia arvoja.

Automaattinen korrelaatio voidaan luokitella kolmeen luokkaan:

  • Auto-Detect korrelaatio
  • Sääntöpohjainen korrelaatio
  • Korreloi kaikki lausunnot
Säännön nimi Milloin käyttää
Tunnista korrelaatio automaattisesti Tunnista ja korreloi HP LoadRunnerin tukemien sovelluspalvelimien dynaamisia tietoja
Sääntöön perustuva Käytetään työskennellessäsi ei-tuetun sovelluspalvelimen kanssa, jonka konteksti on tiedossa.
Korreloi kaikki Auttaa korreloimaan kaikkia dynaamisia tietoja sokeasti.

Vaikka automaattinen korrelaatio näyttää yksinkertaisemmalta, se voi olla virhealtista ja toimii enintään 5 prosentissa tapauksista. On aina suositeltavaa käyttää manuaalista korrelaatiota.

Jos haluat määrittää automaattisen korrelaation tallennushetkellä, suorita alla olevat konfiguraatiot Record Time Setting -kohdassa, kun komentosarja on tallennettu.

Napsauta Record => Recording Options (tai napsauta Ctrl + F7),

Automaattinen korrelaatio

Alla oleva ikkuna avautuu:

Automaattinen korrelaatio

Napsauta Correlation => Configuration - alla oleva ikkuna avautuu.

Automaattinen korrelaatio

Tässä sinun on merkittävä kaikkiin sovelluksiin (ASPNET) jne., joita käytetään aihehakemuksessasi. Oikealla puolella näet säännöt, jotka havaitsevat mahdolliset korrelaatioehdokkaat, esim. _VIEWSTATE. Voit myös lisätä lisää sovelluksia tai mukautettuja sääntöjä napsauttamalla Uusi sääntö -painiketta.

Voit myös napsauttaa SÄÄNNÖT, näet alla olevan kuvan:

Automaattinen korrelaatio

Jotta automaattinen korrelaatio toimisi, sinun on varmistettava, että sääntöjen tarkistus on merkitty valituksi. Jos napsautat automaattisesti korreloi löydetyt arvot, VUGen ei kehota sinua tekemään valintaa, kun korrelaatioehdokas löytyy, vaan se vain korreloi ne.

Ymmärrämme korrelaatioon käytettävän API:n myöhemmin. On kuitenkin suositeltavaa käyttää HTML-vertailua tekstin vertailun sijaan.

Kun olet valinnut säännöt, sulje ikkunat napsauttamalla OK-painiketta.

Valitse Automaattinen korrelaatiovalikosta ja VUGen luo skriptin uudelleen (ilman että tarvitsee tallentaa) uusilla asetuksilla. VUGen lisää automaattisesti tarvittavan koodin käsittelemään korrelaatiota. Tarkastelemme näytettä tarkemmin kohdassa Manuaalinen korrelaatio.

Huomaa, että jos suoritat korreloinnin manuaalisesti tai käytät automaattista korrelaatiota, koodinpätkä sisältää täsmälleen saman syntaksin ja toiminnon.

Skriptin automaattisen korreloinnin vaiheet:

  1. Nauhoita käsikirjoitus
  2. Toista käsikirjoitus
  3. Tunnista korreloitavat arvot
  4. Valitse arvot ja napsauta automaattisen korreloinnin painiketta
  5. Tarkista komentosarja suorittamalla uudelleen. Onnistunut juoksu tarkoittaa onnistunutta korrelaatiota.

Vinkki:

  • Korrelaatio auttaa ajamaan skriptiä eri arvoilla
  • Korrelaatio pienentää myös käsikirjoituksen kokoa

Manuaalinen korrelaatio

Manuaalinen korrelaatio tarkoittaa koodin kirjoittamista suoraan skriptiin jatkuvasti muuttuvien arvojen huomioon ottamiseksi. Voimme jakaa sen alla oleviin vaiheisiin:

  1. Määritä siepattava arvo
  2. Etsi kaapattavan arvon oikea ja vasen tekstiraja (WEB)
  3. Selvitä, mitä tekstin rajojen esiintymistä tulisi käyttää
  4. Lisää skriptiin web_reg_save_param-funktio sen koodinpätkän yläpuolelle, joka pyytää kaapattavan arvon sisältävää sivua
  5. Lisää funktioon parametrin nimi, vasen raja, oikea raja ja esiintyminen
  6. Parametroi komentosarjan dynaaminen arvo aina, kun se esiintyy
  7. Tarkista oikea toteutus
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);

Manuaalinen korrelaatio voidaan tehdä VUser Comparison -toiminnolla. VUser Comparison -korrelaatiomenetelmän vaiheet voidaan jakaa seuraavasti:

  1. Tunnista dynaamiset arvot, jotka on korreloitava
  2. Etsi palvelinvastaus, joka sisältää dynaamisen arvon
  3. Tallenna dynaaminen arvo parametriin
  4. Korvaa kaikki dynaamisen arvon esiintymät parametrilla
  5. Vahvista muutokset

Web_reg_save_param-funktion ymmärtäminen

VUGen tarjoaa useita toimintoja tai API:ita ehdokkaiden korreloimiseksi, mukaan lukien:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

Samalla kun tässä esitetään lyhyt esittely, saadaksesi yksityiskohtaisen käsityksen funktioista ja niiden parametreista avaa VUGen, kirjoita toiminto (tai käytä Steps Toolboxia), siirrä kohdistin toiminnon päälle ja napsauta F1 – tutustu VUGen-ohjeisiin ja tee tapa. Joudut käsittelemään sitä paljon, kun työskentelet alalla.

Tässä mennään toimintotietojen kanssa:

web_reg_save_param(parametrin nimi , vasen raja , oikea raja )

Ominaisuuksien luettelo

Muuntaa: Mahdolliset arvot ovat:

HTML_TO_URL: muuntaa HTML-koodattuja tietoja URL-koodattuihin tietomuotoihin

HTML_TO_TEXT: muuntaa HTML-koodatut tiedot tekstimuotoon; tämä määrite on valinnainen.

Ohita uudelleenohjaukset: Jos "Ignore Redirections=Yes" on määritetty ja palvelimen vastaus on uudelleenohjaustiedot (HTTP-tilakoodi 300-303, 307), vastausta ei haeta. Sen sijaan uudelleenohjausvastauksen vastaanottamisen jälkeen GET-pyyntö lähetetään uudelleenohjattavaan sijaintiin ja haku suoritetaan vastaukselle kyseisestä sijainnista.

Tämä määrite on valinnainen. Oletus on "Ignore Redirections=No".

PAUNAA: Parametrin tai dynaamisen tiedon vasen raja. Jos et määritä LB-arvoa, se käyttää kaikkia merkkejä datan alusta rajana. Rajaparametreissa kirjainkoolla on merkitystä. Voit mukauttaa hakutekstiä edelleen käyttämällä yhtä tai useampaa tekstilippua. Tämä määrite on pakollinen. Katso Raja-argumentit -osio.

EI LÖYDETTY: Käsittelyvaihtoehto, kun rajaa ei löydy ja tyhjä merkkijono luodaan.

"Ei löytynyt = virhe", oletusarvo, aiheuttaa virheen, kun rajaa ei löydy.

"Ei löytynyt = varoitus" ("Ei löytynyt = tyhjä" aiemmissa versioissa), ei anna virhettä. Jos rajaa ei löydy, se asettaa parametrimääräksi 0 ja jatkaa komentosarjan suorittamista. Varoitusvaihtoehto on ihanteellinen, jos haluat nähdä, löytyikö merkkijono, mutta et halua komentosarjan epäonnistuvan.

Huomautuksia: Jos Continue on Error on käytössä komentosarjassa, vaikka NOTFOUND-asetuksena on "virhe", komentosarja jatkuu, kun rajaa ei löydy, mutta laajennettuun lokitiedostoon kirjoitetaan virhesanoma.

Tämä määrite on myös valinnainen.

ORD: Osoittaa ottelun järjestyspaikan tai esiintymän. Oletusinstanssi on 1. Jos määrität "Kaikki", se tallentaa parametriarvot taulukkoon. Tämä määrite on valinnainen.

Huomautus: Instancen käyttöä ORD:n sijaan tuetaan taaksepäin yhteensopivuuden vuoksi, mutta se on vanhentunut.

RB: Parametrin tai dynaamisen tiedon oikea raja. Jos et määritä RB-arvoa, se käyttää rajana kaikkia merkkejä datan loppuun asti. Rajaparametreissa kirjainkoolla on merkitystä. Voit mukauttaa hakutekstiä edelleen käyttämällä yhtä tai useampaa tekstilippua. Tämä määrite on pakollinen. Katso Raja-argumentit -osio.

RelFrameID: HTML-sivun hierarkiataso suhteessa pyydettyyn URL-osoitteeseen. Mahdolliset arvot ovat KAIKKI tai numero. Napsauta RelFrameID-attribuuttia saadaksesi yksityiskohtaisen kuvauksen. Tämä määrite on valinnainen.

Huomautus: RelFrameID:tä ei tueta GUI-tason komentosarjoissa.

SaveLen: Parametriin tallennettavan löydetyn arvon alimerkkijonon pituus määritetystä siirtymästä. Tämä määrite on valinnainen. Oletusarvo on -1, mikä tarkoittaa tallentamista merkkijonon loppuun.

SaveOffset: Parametriin tallennettavan löydetyn arvon alimerkkijonon siirtymä. Offset-arvon ei saa olla negatiivinen. Oletusarvo on 0. Tämä määrite on valinnainen.

Hae: Haun laajuus – mistä rajattuja tietoja etsitään. Mahdolliset arvot ovat Headers (Hae vain otsikoista), Body (hae vain runkotietoja, ei otsikoita), Ei resursseja (hae vain HTML-tekstitekstistä, pois lukien kaikki otsikot ja resurssit) tai KAIKKI (haun tekstiosa, otsikot ja resurssit). Oletusarvo on KAIKKI. Tämä määrite on valinnainen, mutta yleensä suositeltava.

Tiivistä tämä viesti seuraavasti: