Korrelaatio LoadRunnerissa web_reg_save_param-esimerkin kanssa

โšก ร„lykรคs yhteenveto

LoadRunnerin korrelaatio tallentaa dynaamisen palvelinarvon, kuten istuntotunnuksen, ja syรถttรครค sen takaisin myรถhempiin pyyntรถihin, jotta tallennettu VuGen-skripti toistuu onnistuneesti sen sijaan, ettรค se epรคonnistuisi vanhentuneen datan takia.

  • ๐Ÿ”˜ Mรครคritelmรค: Korrelaatio sitoo palvelimen vastauksen jokaiseen seuraavaan siitรค riippuvaiseen pyyntรถรถn.
  • โ˜‘๏ธ Oire: Toisto epรคonnistuu, kun skripti palauttaa tallennetun istuntotunnuksen, jota palvelin ei enรครค tunnista.
  • โœ… Automaattinen: VuGen-sรครคnnรถt ja automaattinen tunnistus vertailevat kahta toistoa, mutta kattavat vain pienen osan tapauksista.
  • ๐Ÿงช Manuaalinen: web_reg_save_param tallentaa arvon, joka on vasemman ja oikean rajan vรคlissรค.
  • ๐Ÿ› ๏ธ Sijoitus: Rekisterรถintifunktioiden on sijaittava sen vaiheen ylรคpuolella, jonka vastauksessa on arvo.
  • ๐Ÿ“Š Loppuratkaisu: Korreloidut skriptit toistuvat tuoreella datalla ja pysyvรคt huomattavasti pienempinรค.

Korrelaatio LoadRunnerissa web_reg_save_param-parametrin kanssa

Mikรค on korrelaatio?

Korrelaatio, kuten nimestรค voi pรครคtellรค, on mekanismi, joka mรครคrittelee kahden muuttujan tai kokonaisuuden vรคlisen suhteen. Sanakirja mรครคrittelee sen "kahden tai useamman muuttujan vรคliseksi tilastolliseksi suhteeksi, jossa toisen muuttujan systemaattiset muutokset seuraavat yhden muuttujan arvon systemaattisia muutoksia".

Tuotemerkin huomautus: tรคmรค tyรถkalu toimitettiin HP:nรค ja sitten Micro Focus LoadRunner, ja on nyt OpenText Ammattimainen suorituskykytekniikkaJokainen alla oleva korrelaatiofunktio pysyy muuttumattomana, ja toimittaja kirjoittaa komentosarjageneraattorin oikein. VuGen.

Miksi tarvitsemme korrelaatiota?

Ymmรคrretรครคn korrelaatio seuraavan skenaarion kanssa.

Oletetaan, ettรค tallennat skriptiรค kรคyttรคmรคllรค Hienosรครคtรถ.

Asiakas-palvelin-viestintรค tallennuksen aikana toimii seuraavasti, ja kaavio tiivistรครค sen:

  1. Tallennuksen aikana asiakas lรคhettรครค palvelimelle pyynnรถn istunnon aloittamiseksi.
  2. Palvelin vastaanottaa pyynnรถn ja varaa uuden istuntotunnuksen ABC
  3. Asiakas tallentaa skriptiin istunnon tunnuksen ABC.
  4. Asiakas aloittaa istunnon tunnuksella ABC ja lรคhettรครค palvelimelle pyynnรถn tallentaa
  5. Palvelin tunnistaa tunnuksen ABC ja sallii asiakkaan tallentaa komentosarjan

Asiakas-palvelin-istuntotunnusten vaihto LoadRunner-komentosarjaa tallennettaessa

Tarkastellaan nyt asiakas-palvelin-viestintรครค toiston aikana, joka nรคkyy nรคiden vaiheiden jรคlkeen:

  1. Toiston aikana asiakas lรคhettรครค palvelimelle pyynnรถn aloittaa istunto
  2. Palvelin vastaanottaa pyynnรถn ja varaa uuden istuntotunnuksen XYZ
  3. Asiakas aloittaa istunnon aiemmin tallennetulla istuntotunnuksella ABC ja lรคhettรครค palvelimelle pyynnรถn tallentaa
  4. Palvelin ei pysty tunnistamaan ID:tรค ABC, koska se odotti osoittamaansa ID:tรค XYZ ja istunto epรคonnistuu.

Istuntotunnus ei vastaa toistettaessa, kun korrelaatio puuttuu

Tarvitsemme ratkaisun, joka pystyy tallentamaan ja jรคsentรคmรครคn suorituksen aikana lรคhetetyn dynaamisen arvon ja palauttamaan sen takaisin palvelimelle. Nรคin asiakas-palvelin-viestintรค nรคyttรครค tรคllรค ratkaisulla, kuten alla oleva kaavio osoittaa:

  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

Korrelaatio, joka tallentaa uuden istuntotunnuksen ja palauttaa sen palvelimelle

Tรคmรค ei ole muuta kuin korrelaatio.

Alla oleva lyhyt video kรคsittelee samaa tallennus- ja toisto-ongelmaa.

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 useita tilanteita, joissa pyyntรถ perustuu aiemmin palvelimelta vastaanotettuun vastaukseen, kuten istuntotunnukseen tai palvelimelta noudettuun pรคivรคmรครคrรครคn ja kellonaikaan. Nรคmรค arvot vaihtelevat joka kerta, kun suoritat sovelluksen tai tallennat komentosarjan. Jos komentosarjan suoritus riippuu palvelimen palauttamasta arvosta, sinun on lรถydettรคvรค mekanismi, jolla voit "pyydystรครค" palvelimen vastauksen ja liittรครค sen 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 luokitellaan VuGen/LoadRunnerissa kahteen luokkaan:

  • Automaattinen korrelaatio
  • Manuaalinen korrelaatio

Automaattinen korrelaatio

LoadRunner tarjoaa mekanismin, jolla voidaan helposti suorittaa korrelaatio automaattisesti.

VuGen vaatii sinua suorittamaan tallennetun skriptin vรคhintรครคn kaksi kertaa, jotta se voi sisรคisesti vertailla 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 LoadRunnerin tukemien sovelluspalvelimien dynaamista dataa
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 alla olevassa valikossa kohtaa Tallenna =>Tallennusasetukset (tai napsauta Ctrl + F7).

VuGen-tallennusvalikko, jossa on valittuna Tallennusasetukset-kohta

Alla oleva ikkuna avautuu:

VuGen-tallennusasetukset-ikkuna, jossa luetellaan tallennusmรครคrityssolmut

Napsauta Correlation => Configuration - alla oleva ikkuna avautuu.

Korrelaatiomรครคritysruutu, jossa luetellaan sovellussรครคntรถjoukot, kuten ASPNET

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:

Korrelaatiosรครคnnรถt-ruutu, jossa on kรคytettรคvissรค Sรครคntรถjen skannaus -vaihtoehto

Jotta automaattinen korrelaatio toimisi, sinun on varmistettava, ettรค sรครคntรถjen skannaus on valittuna. Jos napsautat lรถydettyjen arvojen automaattinen korrelointi -painiketta, VuGen ei kysy 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.

Napsauta tรคssรค nรคkyvรครค tyรถkalupalkin painiketta VuGen-tyรถkalurivin painike, jota kรคytetรครคn tallennetun skriptin uudelleenluomiseen valikosta, niin VuGen luo skriptin uudelleen (ilman tallentamista) uusilla kokoonpanoilla. VuGen lisรครค automaattisesti tarvittavan koodinpรคtkรคn korrelaation kรคsittelemiseksi. Tarkastelemme esimerkkiรค 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);

Code toteaa: molemmat katkelmat nรคkyvรคt tรคsmรคlleen sellaisena kuin ne julkaistiin. Katso jรคrjestysnumeroita: Jรคrjestys=l ja RelFrameId=l kรคytรค pientรค L-kirjainta, niin VuGen odottaa numeroa 1.

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

  1. Tunnista dynaamiset arvot, jotka on korreloitava
  2. Etsi palvelimen vastaus, 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 funktioita tai API-rajapintoja ehdokkaiden korreloimiseksi, mukaan lukien:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

Versiohuomautus: nykyiset VuGen-julkaisut herkuttavat web_reg_save_param_ex alkuperรคisen toiminnon seuraajana ja web_reg_save_param_regexp kuten valinta, kun rajat itsessรครคn muuttuvat. Alkuperรคinen esimerkki pรคtee edelleen.

Lyhyen johdannon aikana funktioiden ja niiden parametrien yksityiskohtaiseen ymmรคrtรคmiseen avaa VuGen, kirjoita funktio (tai kรคytรค Steps Toolboxia), siirrรค kohdistin funktion pรครคlle ja napsauta F1-nรคppรคintรค โ€“ tutustu funktioihin. VuGen-apu ja tee siitรค tapa. Joudut tekemisiin sen kanssa paljon tyรถskennellessรคsi alalla.

Tรคssรค mennรครคn toimintotietojen kanssa:

web_reg_save_param(parametrin nimi , vasen raja , oikea raja )

Ominaisuuksien luettelo

Alla oleva taulukko kerรครค yhteen kaikki funktion hyvรคksymรคt attribuutit, ovatko ne pakollisia ja mitรค ne ohjaavat.

Ominaisuus Edellytetรครคn? Mitรค se tekee
Muuntaa Suosittelijan tunnus HTML_TO_URL muuntaa HTML-koodatun datan muotoon URL-koodattu datamuoto. HTML_TO_TEXT muuntaa HTML-koodatun datan pelkkรครค tekstiรค varten.
Ohita uudelleenohjaukset Valinnainen, oletusarvoinen asetus โ€Ohita uudelleenohjaukset=Eiโ€ Kun arvoksi on asetettu Kyllรค ja palvelimen vastaus on uudelleenohjaustieto (HTTP-tilakoodi 300-303, 307), kyseistรค vastausta ei haeta. GET-pyyntรถ menee uudelleenohjattuun sijaintiin ja haku suoritetaan sieltรค kรคsin.
LB edellytetรครคn Parametrin tai dynaamisen datan vasen reuna. Jos et mรครคritรค LB-arvoa, se kรคyttรครค rajana kaikkia datan alusta tulevia merkkejรค. Rajaparametrit ovat kirjainkoon mukaan merkitseviรค. Voit mukauttaa hakutekstiรค kรคyttรคmรคllรค yhtรค tai useampaa tekstilippua.
EI Lร–YDETTY Valinnainen, oletusarvoinen โ€virheโ€ Kรคsittely, kun rajaa ei lรถydy ja luodaan tyhjรค merkkijono. โ€Not found=errorโ€ aiheuttaa virheen. โ€Not found=warningโ€ (โ€Not found=emptyโ€ aiemmissa versioissa) asettaa parametrin count arvoksi 0 ja jatkaa, mikรค on ihanteellista, kun haluat nรคhdรค, lรถytyikรถ merkkijono, ilman ettรค komentosarja epรคonnistuu. Kun Jatka virheestรค -asetus on kรคytรถssรค, komentosarja jatkaa toimintaansa myรถs โ€virheenโ€ sattuessa, mutta laajennettu loki tallentaa sen.
ORD Valinnainen, oletusarvo 1 Ilmaisee osuman jรคrjestysnumeron tai esiintymรคn. Jos mรครคritรคt arvoksi โ€Allโ€, parametriarvot tallennetaan taulukkoon. Instance-muuttujaa voidaan kรคyttรครค ORD-muuttujan sijaan taaksepรคin yhteensopivuuden takaamiseksi, mutta se on vanhentunut.
RB edellytetรครคn Parametrin tai dynaamisen datan oikea reuna. Jos et mรครคritรค RB-arvoa, se kรคyttรครค rajana kaikkia datan loppuun asti olevia merkkejรค. Rajaparametrit ovat kirjainkokoriippuvaisia. Voit mukauttaa hakutekstiรค kรคyttรคmรคllรค yhtรค tai useampaa tekstilippua.
RelFrameID Suosittelijan tunnus HTML-sivun hierarkiataso suhteessa pyydettyyn URLMahdolliset arvot ovat ALL tai numero. RelFrameID:tรค ei tueta graafisen kรคyttรถliittymรคn tason skripteissรค.
SaveLen Valinnainen, oletusarvo -1 Lรถydetyn arvon alimerkkijonon pituus mรครคritetystรค siirtymรคstรค, joka tallennetaan parametriin. Oletusarvoisesti tallennetaan merkkijonon loppuun.
SaveOffset Valinnainen, oletusarvo 0 Lรถydetyn arvon alimerkkijonon siirtymรค, joka tallennetaan parametriin. Siirtymรคarvon on oltava ei-negatiivinen.
Haku Valinnainen, oletusarvo KAIKKI Haun laajuus โ€“ mistรค rajattuja tietoja etsitรครคn. Mahdolliset arvot ovat Otsikot (hae vain otsikoista), Leipรคteksti (hae vain leipรคtekstistรค, ei otsikoista), Ei resurssia (hae vain HTML-tekstistรค, pois lukien kaikki otsikot ja resurssit) tai KAIKKI (hae leipรคtekstistรค, otsikoista ja resursseista).

Kun skripti toistuu puhtaasti, lisรครค parametrointi, tapahtumat ja ajonaikaiset asetukset, suorita se kohdasta ohjainja lue tulos analyysi osana laajempaa Suorituskykytestaus ja Kuormitustesti.

UKK

Toista se kahdesti laajennetulla kirjautumisella ja vertaa vastauksia. Mikรค tahansa arvo, jonka palvelin antaa uudelleen jokaisella ajolla โ€“ istuntotunnukset, tunnukset, aikaleimat โ€“ on mahdollinen.

web_reg_save_param lรถytรครค vastaavuuksia kiinteiden vasemman ja oikean rajan vรคlillรค. web_reg_save_param_regexp vastaa sรครคnnรถllistรค lauseketta, joten se selviรครค, kun rajat itsessรครคn muuttuvat.

Kyllรค. Koneoppiminen pystyy erottamaan kaksi toistettua vastausta toisistaan โ€‹โ€‹ja jรคrjestรคmรครคn muuttuvat kentรคt paremmuusjรคrjestykseen paljon nopeammin kuin manuaalinen skannaus. Kรคsittele sijoitusta kuin lyhyttรค listaa, jonka ihminen vielรค vahvistaa.

GitHub Copilot luonnostelee funktiokutsun ja sen argumentit kommentista. Se ei voi nรคhdรค palvelimen vastausta, joten jokainen sen ehdottama raja on tarkistettava todellista liikennettรค vasten.

Se on rekisterรถintifunktio: se rekisterรถi haun VuGenin seuraavaa saamaa vastausta vasten. Pyynnรถn jรคlkeen sijoitettuna ei jรครค mitรครคn skannattavaa ja parametri pysyy tyhjรคnรค.

Rajat eivรคt tรคsmรคnneet. Yleisiรค syitรค ovat kirjainkoon ja kirjainkoon vรคlinen ero, raja, joka nรคkyy vain toisella sivulla, tai arvon hakeminen leipรคtekstistรค, kun arvo on otsikoissa.

Ei. Parametrisointi syรถttรครค omat syรถtetietosi datatiedostosta skriptiin. Korrelaatio tallentaa palvelimen suorituksen aikana luoman arvon ja vรคlittรครค sen takaisin. Useimmat skriptit tarvitsevat molempia.

Kyllรค, usein enemmรคnkin. Haltijatunnukset, CSRF-kentรคt ja JSON-tunnisteet vaihtuvat joka istunto, joten REST- ja yksittรคisten sivujen liikenne on tรคynnรค ehdokkaita, vaikka HTML-lomaketta ei olisikaan.

Tiivistรค tรคmรค viesti seuraavasti: