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.
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:
- Tallennuksen aikana asiakas lรคhettรครค palvelimelle pyynnรถn istunnon aloittamiseksi.
- Palvelin vastaanottaa pyynnรถn ja varaa uuden istuntotunnuksen ABC
- Asiakas tallentaa skriptiin istunnon tunnuksen ABC.
- Asiakas aloittaa istunnon tunnuksella ABC ja lรคhettรครค palvelimelle pyynnรถn tallentaa
- Palvelin tunnistaa tunnuksen ABC ja sallii asiakkaan tallentaa komentosarjan
Tarkastellaan nyt asiakas-palvelin-viestintรครค toiston aikana, joka nรคkyy nรคiden vaiheiden jรคlkeen:
- Toiston aikana asiakas lรคhettรครค palvelimelle pyynnรถn aloittaa istunto
- Palvelin vastaanottaa pyynnรถn ja varaa uuden istuntotunnuksen XYZ
- Asiakas aloittaa istunnon aiemmin tallennetulla istuntotunnuksella ABC ja lรคhettรครค palvelimelle pyynnรถn tallentaa
- Palvelin ei pysty tunnistamaan ID:tรค ABC, koska se odotti osoittamaansa ID:tรค XYZ ja istunto epรคonnistuu.
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:
- Toiston aikana asiakas lรคhettรครค palvelimelle pyynnรถn aloittaa istunto
- Palvelin vastaanottaa pyynnรถn ja varaa uuden istuntotunnuksen ZZZ
- Asiakas jรคsentรครค tรคmรคn uuden istunnon tunnuksen ZZZ pyynnรถstรค.
- Asiakas lรคhettรครค istunnon aloittamispyynnรถn tunnuksella ZZZ
- Palvelin tunnistaa tunnuksen ZZZ ja sallii asiakkaan toistaa skriptin
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:
- Kaappaa lรคhtรถarvo vaiheesta
- 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).
Alla oleva ikkuna avautuu:
Napsauta Correlation => Configuration - alla oleva ikkuna avautuu.
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:
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 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:
- Nauhoita kรคsikirjoitus
- Toista kรคsikirjoitus
- Tunnista korreloitavat arvot
- Valitse arvot ja napsauta automaattisen korreloinnin painiketta
- 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:
- Mรครคritรค siepattava arvo
- Etsi kaapattavan arvon oikea ja vasen tekstiraja (WEB)
- Selvitรค, mitรค tekstin rajojen esiintymistรค tulisi kรคyttรครค
- Lisรครค skriptiin web_reg_save_param-funktio sen koodinpรคtkรคn ylรคpuolelle, joka pyytรครค kaapattavan arvon sisรคltรคvรครค sivua
- Lisรครค funktioon parametrin nimi, vasen raja, oikea raja ja esiintyminen
- Parametroi komentosarjan dynaaminen arvo aina, kun se esiintyy
- 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:
- Tunnista dynaamiset arvot, jotka on korreloitava
- Etsi palvelimen vastaus, joka sisรคltรครค dynaamisen arvon
- Tallenna dynaaminen arvo parametriin
- Korvaa kaikki dynaamisen arvon esiintymรคt parametrilla
- 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.







