Parametrisointi, funktiot, tapahtumat LoadRunnerissa
⚡ Älykäs yhteenveto
Parametrisointi, tapahtumat ja ajonaikaiset asetukset ovat kolme parannusta, jotka muuttavat tavallisen VuGen-tallenteen skriptiksi, joka käyttäytyy kuin oikea käyttäjä ja raportoi ajoitukset, joihin voit todella luottaa.

Tallennettu skripti voi simuloida virtuaalista käyttäjää; pelkkä tallenne ei kuitenkaan välttämättä riitä jäljittelemään todellista käyttäjän toimintaa.
Kun skripti tallennetaan, se kattaa yhden suoran kulun kyseisessä sovelluksessa. Todellinen käyttäjä voi suorittaa useita prosessin toistoja ennen uloskirjautumista. Painikkeiden napsauttamisen välinen viive (ajattele aikaa) vaihtelee henkilöstä toiseen, ja jotkut käyttäjät pääsevät sovellukseesi nopean yhteyden kautta, kun taas toiset eivät. Joten saadaksemme loppukäyttäjän todellisen tuntuman meidän on parannettava skriptejämme toimimaan hyvin lähellä oikeita käyttäjiä.
Se on tärkein huomioitava seikka suoritettaessa "Suorituskykytestaus”, mutta VUser-skriptissä on kyse muustakin. Miten arvioidaan VUser-käyttäjän käyttämää aikaa, kun järjestelmää kuormitettuna (SUL) testataan? Mistä tiedetään, läpäisikö VUser testauksen tietyssä vaiheessa vai epäonnistuiko se, epäonnistuiko jokin taustaprosessi vai loppuiko palvelimen resurssit?
Meidän on parannettava käsikirjoitustamme, jotta se auttaa vastaamaan kaikkiin yllä oleviin kysymyksiin.
Tuotemerkin huomautus: VuGen toimitettiin ensin HP:nä, sitten Micro Focuksena ja on nyt osa OpenText Ammattimainen suorituskykytekniikkaAlla olevat toiminnot ja asetukset pysyvät muuttumattomina.
Transaktioiden käyttäminen
Transaktiot mittaavat palvelimen vasteaikaa mille tahansa toiminnolle. Yksinkertaisesti sanottuna "transaktio" mittaa aikaa, jonka järjestelmä käyttää tietyn pyynnön käsittelyyn. Se voi olla niinkin pieni kuin painikkeen napsautus tai AJAX-kutsu, joka laukaistaan, kun tekstiruutu menettää kohdistuksensa.
Transaktioiden käyttöönotto on suoraviivaista. Kirjoita yksi rivi koodia ennen pyynnön tekemistä ja sulje transaktio pyynnön päätyttyä. LoadRunner vaatii transaktion nimeksi vain merkkijonon.
Avaa tapahtuma käyttämällä tätä koodiriviä:
lr_start_transaction(“Transaction Name”);
Sulje tapahtuma käyttämällä tätä koodiriviä:
lr_end_transaction(“Transaction Name”, <status>);
The kertoo LoadRunnerille, oliko tämä tapahtuma onnistunut vai epäonnistunut. Mahdolliset parametrit voivat olla:
- LR_AUTO
- LR_PASS
- LR_FAIL
Esimerkiksi:
lr_end_transaction(“My_Login”, LR_AUTO); lr_end_transaction(“001_Opening_Dashboard Name”, LR_PASS); lr_end_transaction(“Business_Workflow_Transaction Name”, LR_FAIL);
Code toteaa: Katkelmat on kopioitu täsmälleen julkaistussa muodossa, typografiset lainaukset mukaan lukien. Oikea VuGen-skripti tarvitsee suorat ASCII-lainausmerkit, joten kirjoita ne uudelleen, jos kopioit tämän koodin.
Huomioitavaa:
- Älä unohda, että käytät C:tä, ja se on isot ja pienet kirjaimet huomioiva kieli.
- Pistettä (.) ei sallita tapahtuman nimessä, vaikka voit käyttää välilyöntejä ja alaviivoja.
- Jos olet haaroittanut koodisi hyvin ja lisännyt tarkistuspisteitä palvelimelta tulevan vastauksen tarkistamiseksi, voit käyttää mukautettua virheenkäsittelyä, kuten LR_PASS tai LR_FAIL. Muussa tapauksessa voit käyttää LR_AUTO-menetelmää, jolloin LoadRunner käsittelee palvelinvirheet (HTTP 500, 400 jne.) automaattisesti.
- Kun käytät transaktioita, varmista, ettei niiden sisään ole jäänyt ajatusaikaa koskevaa lauseketta. Muuten transaktiosi sisältää aina kyseisen ajanjakson.
- Koska LoadRunner vaatii vakiomerkkijonon tapahtuman nimeksi, yleinen ongelma tapahtumien käyttöönotossa on merkkijonojen yhteensopimattomuus. Jos annat eri nimen tapahtumaa avattaessa ja suljettaessa, saat vähintään kaksi virhettä. Avaamaasi tapahtumaa ei koskaan suljettu, joten LoadRunner antaa virheen; ja suljettavaa tapahtumaa ei koskaan avattu, mikä aiheuttaa toisen virheen.
- Molemmat virheet näkyvät toistolokissa, joten aina kun jompikumpi ilmoitetaan, tarkista ensin transaktion nimi avaus- ja päättämislausunnoista.
- Koska LoadRunner hoitaa pyyntöjen ja vastausten synkronoinnin automaattisesti, sinun ei tarvitse huolehtia vastauksesta tapahtumia suoritettaessa.
Tapaamispaikat, kommentit ja skriptifunktiot
Kolme pienempää parannusta saavat skriptin käyttäytymään ja lukemaan tuotantokoodin tavoin: tapaamispisteet, kommentit ja VuGeniin sisäänrakennettu funktioselain.
Rendezvous-pisteet
Tapaamispiste on "kohtaamispiste". Se on yksittäinen lauseke, joka käskee LoadRunnerin ottaa käyttöön samanaikaisuuden. Tapaamispisteitä lisätään VUser-skripteihin emuloidakseen suurta käyttäjäkuormitusta palvelimella.
Tapaamispisteet ohjeistavat virtuaalikäyttäjää odottamaan suorituksen aikana, kunnes useita virtuaalikäyttäjiä saapuu tiettyyn pisteeseen, jotta he voivat suorittaa tehtävän samanaikaisesti. Esimerkiksi pankkipalvelimen huippukuormituksen jäljittelemiseksi lisää tapaamispiste, joka ohjeistaa 100 virtuaalikäyttäjää tallettamaan käteistä samanaikaisesti.
Jos kohtaamispisteitä ei ole sijoitettu oikein, virtuaalikäyttäjät (VUser) pääsevät käyttämään sovelluksen eri osia jopa saman skriptin tapauksessa. Tämä johtuu siitä, että jokaisella virtuaalikäyttäjällä on erilainen vasteaika, joten jotkut käyttäjät jäävät jälkeen.
Syntaksi:
lr_rendezvous(“Logical Name”);
Korjaushuomautus: julkaistu sivu muodostaa tämän lr_rendezvousOikea funktion nimi on lr_rendezvous; väärin kirjoitettua muotoa ei käännetä.
Parhaat käytännöt:
- Liitä kohtaamispisteen eteen "rdv_" koodin luettavuuden parantamiseksi; esim. "rdv_Login"
- Poista kaikki välittömästi vieressä olevat ajatteluaikaa vaativat lauseet
- Käytä tapaamispisteitä skriptinäkymässä tallennuksen jälkeen
Alla olevassa skriptinäkymässä näkyy tallennettuun toimintoon lisätty tapaamisilmoitus:
Kommentit
Lisää kommentteja kuvaamaan toimintoa, koodinpätkää tai koodiriviä. Kommentit auttavat tekemään koodista ymmärrettävää kaikille, jotka viittaavat siihen tulevaisuudessa. Ne antavat tietoa tietystä toiminnosta ja erottavat kaksi osiota toisistaan.
Voit lisätä kommentteja
- Tallennuksen aikana (työkalua käytettäessä)
- Tallennuksen jälkeen (kirjoita suoraan koodiin)
Paras käytäntö: merkitse mahdolliset kommentit jokaisen skriptitiedoston yläreunaan.
Funktioiden lisääminen valikon kautta
Vaikka voit kirjoittaa suoraan yksinkertaisia koodirivejä, saatat tarvita vihjeen funktion muistamiseen. Voit myös käyttää Steps Toolboxia (ennen versiota 12 tunnettu nimellä Insert Function) löytääksesi ja lisätäksesi minkä tahansa funktion suoraan skriptiisi.
Löydät Vaiheet-työkalupakin kohdasta Näytä → Vaiheet-työkalupakki, kuten alla on esitetty.
Tämä avaa sivuikkunan. Katso tilannekuvaa:
Mikä on parametrointi?
VuGenin parametri on säilö, joka sisältää tallennetun arvon, joka korvataan eri käyttäjille.
Skriptin suorituksen aikana (VuGenissä tai ohjain), ulkoisesta lähteestä (kuten .txt-tiedostosta, XML:stä tai tietokannasta) tuleva arvo korvaa parametrin edellisen arvon.
Parametrisointi on hyödyllistä dynaamisten (tai yksilöllisten) arvojen lähettämiseen palvelimelle. Esimerkiksi liiketoimintaprosessin on ehkä suoritettava 10 iteraatiota ja valittava joka kerta yksilöllinen käyttäjätunnus.
Se auttaa myös simuloimaan tosielämän käyttäytymistä oppiainejärjestelmää vasten. Katso alla olevia esimerkkejä.
Esimerkkejä ongelmista:
- Liiketoimintaprosessi toimii vain kuluvalle päivämäärälle, joka tulee palvelimelta, joten sitä ei voida välittää kovakoodattuna pyyntönä.
- Joskus asiakassovellus välittää palvelimelle yksilöllisen tunnuksen (esimerkiksi session_id), jotta prosessi voi jatkua, jopa yksittäisen käyttäjän kohdalla. Tällaisessa tapauksessa parametrisointi auttaa.
- Usein asiakassovellus ylläpitää välimuistia palvelimelle lähetettävistä ja palvelimelta tulevista tiedoista. Tämän seurauksena palvelin ei vastaanota todellisia käyttäjän toimintatietoja (joissa palvelin suorittaa eri algoritmin hakukriteerien mukaan). VUser-skripti suoritetaan onnistuneesti, mutta luodut suorituskykytilastot eivät ole merkityksellisiä. Erilaisten tietojen käyttäminen parametrisoinnin avulla auttaa jäljittelemään palvelinpuolen toimintaa, kuten tallennettuja proseduureja, ja harjoittelee järjestelmää.
- Tallennuksen aikana VUser-käyttäjään kovakoodattu päivämäärä ei välttämättä ole enää voimassa kyseisen päivämäärän jälkeen. Päivämäärän parametrisointi korvaa kovakoodatun päivämäärän ja mahdollistaa VUser-käyttäjän suorituksen onnistumisen. Tällaiset kentät tai pyynnöt ovat oikeita ehdokkaita parametroitavaksi.
Voit luoda sellaisen napsauttamalla tallennettua arvoa hiiren kakkospainikkeella skriptinäkymässä ja valitsemalla Korvaa parametrilla. VuGen kysyy sitten, mikä tyyppi antaa arvon:
| Parametrityyppi | Sen tarjoama arvo |
|---|---|
| filee | .dat-tiedoston sarakkeesta luetut arvot. |
| Pöytä | Rivien ja sarakkeiden lohko kerralla. |
| Date / Time | Nykyinen päivämäärä ja kellonaika valitussa muodossa. |
| Satunnainen numero | Numero asettamalta väliltä. |
| Yksilöllinen numero | Erillinen numero VUser-käyttäjää kohden, aloitusarvosta ja lohkokoosta. |
| Iteraationumero | Nykyinen iteraatiomäärä. |
| Vuser-tunnus | Toiston yhteydessä annettu tunniste. |
| Ryhmä / Kuorma Generator Nimi | VUser-ryhmä tai generaattorikone. |
| XML | XML-tietojoukon fragmentti. |
| Käyttäjän määrittämä funktio | Oman kirjastofunktiosi palauttama arvo. |
Kaksi muuta vaihtoehtoa määräävät, miten dataa käytetään eri iteraatioiden aikana:
| Vaihtoehto | Choices | Mitä se hallitsee |
|---|---|---|
| Valitse seuraava rivi | Peräkkäinen, Satunnainen, Yksilöllinen | Minkä rivin VUser lukee seuraavaksi. |
| Päivitä arvo | Jokainen iteraatio, Jokainen esiintymä, Kerran | Kun arvo päivittyy. |
Alla oleva läpikäynti näyttää tallennettuun skriptiin sovelletun parametrisoinnin:
Napauta täältä jos video ei ole saatavilla.
Suoritusaikaiset asetukset ja niiden vaikutus VUser-simulointiin
Suorituksenaikaiset asetukset ovat aivan yhtä tärkeitä kuin VuGen-skriptisi. Vaihtelevilla kokoonpanoilla voit saada täysin erilaisia testiasetelmia, minkä vuoksi epäjohdonmukaiset suorituksenaikaiset asetukset ovat yleensä syynä toistumattomiin tuloksiin. Käydään läpi jokainen ominaisuus yksi kerrallaan.
Suorita Logic
Run Logic määrittää, kuinka monta kertaa kaikki toiminnot suoritetaan paitsi vuser_init ja vuser_end.
Tämä luultavasti selventää, miksi LoadRunner ehdottaa kee-funktiota.ping kaikki kirjautumiskoodi vuser_init-tiedostossa ja uloskirjautumisosa vuser_end-tiedostossa, molemmat yksinomaan.
Jos olet luonut useita toimintoja – esimerkiksi Kirjaudu sisään, Avaa näyttö, Laske vuokra, Lähetä varat, Tarkista saldo ja Kirjaudu ulos – alla oleva skenaario toistuu jokaiselle virtuaalikäyttäjälle:
Kaikki virtuaalikäyttäjät kirjautuvat sisään, suorittavat toiminnot Avaa näyttö, Laske vuokra, Lähetä varat ja Tarkista saldo, sitten taas Avaa näyttö, Laske vuokra ja niin edelleen, toistaen 10 kertaa, minkä jälkeen he kirjautuvat ulos (kerran).
Tämä on tehokas asetus, jonka avulla skripti toimii enemmän kuin oikea käyttäjä. Muista, että oikea käyttäjä ei kirjaudu sisään ja ulos joka kerta; hän yleensä toistaa samat vaiheet.
Kuinka monta kertaa napsautat "Saapuneet"-painiketta tarkistaessasi sähköpostiasi ennen uloskirjautumista?
vauhdista
Tämä on tärkeää. Useimmat ihmiset eivät pysty ymmärtämään tahdin ja ajatteluajan välistä eroa. Ainoa ero on, että tahti viittaa iteraatioiden väliseen viiveeseen, kun taas ajatteluaika on viive minkä tahansa kahden vaiheen välillä.
Suositeltu asetus riippuu testiasetelmasta. Jos kuitenkin haluat käyttää aggressiivista kuormitusta, harkitse asetukseksi ”Heti kun edellinen iteraatio päättyy” alla olevan mukaisesti.
Kirjaudu
Loki on yleisesti ymmärretty tallenne kaikista LoadRunnerin suorittamisen aikana tapahtuneista tapahtumista. Voit ottaa lokin käyttöön nähdäksesi, mitä sovelluksesi ja palvelimesi välillä tapahtuu.
LoadRunner tarjoaa tehokkaan lokikirjausmekanismin, joka on itsessään vankka ja skaalautuva. Sen avulla voit tallentaa vain "vakiolokin", yksityiskohtaisen ja konfiguroitavan laajennetun lokin tai poistaa lokikirjauksen kokonaan käytöstä.
Vakiomuotoinen loki on informatiivinen ja helposti ymmärrettävä. Se sisältää juuri oikean määrän tietoa, jota yleensä tarvitset VUser-skriptiesi vianmääritykseen.
Laajennetun lokin tapauksessa kaikki vakiolokitiedot ovat osajoukko. Lisäksi voit käyttää parametrien korvaamista. Tämä käskee LoadRunner-komponenttia sisällyttämään täydelliset tiedot kaikista parametreista (parametroinnista lähtien), mukaan lukien pyynnöt ja vastaustiedot.
Jos lisäät mukaan ”Palvelimen palauttamat tiedot”, lokisi pitenee. Se sisältää kaikki HTML-, tagi-, resurssi- ja muut tiedot suoraan lokissa. Tämä vaihtoehto on hyvä vain, jos tarvitset vakavaa vianmääritystä. Yleensä tämä tekee lokitiedostosta erittäin suuren ja vaikeasti ymmärrettävän.
Kuten olet jo arvannut, jos valitset ”Edistynyt”, Trace”, lokitiedostosi tulee olemaan valtava. Sinun täytyy kokeilla sitä. Huomaat, että VuGenin käyttämä aika kasvaa myös merkittävästi, vaikka tällä ei ole vaikutusta VuGenin raportoimaan tapahtumavasteaikaan. Tämä on erittäin edistynyttä tietoa, ja siitä on hyötyä vain, jos ymmärrät kyseessä olevan sovelluksen, sovelluksesi ja laitteistosi välisen asiakas-palvelin-viestinnän sekä protokollatason yksityiskohdat. Yleensä näiden tietojen lukeminen ja vianmääritys vaatii äärimmäistä vaivaa.
Vinkki:
- Riippumatta siitä, kuinka paljon aikaa VuGen käyttää lokin ollessa käytössä, sillä ei ole vaikutusta transaktioiden vasteaikaan – lokin kirjaamiseen kuluva lisätyö ei sisälly mitattuun aikaan.
- Poista loki käytöstä, jos sitä ei tarvita.
- Poista loki käytöstä, kun olet valmis skriptiesi kanssa. Lokikirjaus käytössä olevien skriptien lisääminen hidastaa ohjainta ja antaa häiritseviä viestejä.
- Lokin poistaminen käytöstä lisää LoadRunnerista simuloitavien käyttäjien enimmäismäärää.
- Harkitse ”Lähetä viestejä vain virheen ilmetessä” -asetuksen käyttöä – tämä vaimentaa tarpeettomat tiedotteet ja raportoi vain virheisiin liittyvät viestit.
Think Times
Ajattele Aika on yksinkertaisesti kahden vaiheen välinen viive.
Ajatteluaika auttaa jäljittelemään käyttäjän käyttäytymistä, koska kukaan oikea käyttäjä ei voi käyttää sovellusta kuten kone. VuGen luo ajatteluajan automaattisesti. Sinulla on edelleen täysi hallinta ajatteluajan poistamiseen, moninkertaistamiseen tai vaihteluun.
Ymmärtääksemme asian paremmin: käyttäjä voi avata näytön (vastauksen ja sen jälkeen pyynnön) ja kirjoittaa sitten käyttäjätunnuksen ja salasanan ennen Enterin painamista. Seuraava sovelluksen ja palvelimen välinen vuorovaikutus tapahtuu, kun käyttäjä napsauttaa "Kirjaudu sisään". Käyttäjätunnuksen ja salasanan kirjoittamiseen kuluva aika on LoadRunnerissa Think Time.
Jos haluat simuloida sovelluksen aggressiivista kuormitusta, harkitse ajatteluajan poistamista kokonaan käytöstä.
Voit kuitenkin simuloida tosielämän käyttäytymistä valitsemalla ”Käytä satunnaista ajatteluaikaa” ja asettamalla prosenttiosuudet haluamallasi tavalla.
Harkitse ajatteluajan rajoittamista kohtuulliseen aikaan. Yleensä 30 sekuntia on melko hyvä aika.
Nopeuden simulointi
Nopeussimulointi viittaa yksinkertaisesti kunkin asiakaskoneen kaistanleveyden kapasiteettiin.
Koska simuloimme tuhansia virtuaalikäyttäjiä LoadRunnerin avulla, on huomionarvoista, kuinka yksinkertaiseksi LoadRunner on tehnyt kaistanleveyden ja verkon nopeuden simuloinnin.
Jos asiakkaasi käyttävät sovellustasi yli 128 kbps:n nopeudella, voit hallita sitä täältä. Pääset simuloimaan tosielämän toimintaa, minkä pitäisi auttaa sinua saamaan oikeat suorituskykytilastot.
Paras suositus on asettaa Käytä maksimikaistanleveyttä. Tämä auttaa sinua jättämään huomiotta verkkoon liittyvät suorituskyvyn pullonkaulat ja keskittymään ensin sovelluksen mahdollisiin ongelmiin. Voit aina suorittaa testin useita kertoja nähdäksesi vaihtelevan käyttäytymisen eri olosuhteissa.
Selaimen emulointi
Käyttäjäkokemus ei riipu loppukäyttäjän käyttämästä selaimesta, joten tämä on pitkälti suorituskykymittareiden ulottumattomissa. Voit kuitenkin valita, mitä selainta haluat emuloida, kuten alla oleva ruutu osoittaa.
Milloin tarkalleen ottaen sillä on oikeasti väliä, minkä selaimen valitset tässä kokoonpanossa?
Käytät tätä kokoonpanoa, jos kohdesovelluksesi on verkkosovellus, joka palauttaa erilaisia vastauksia eri selaimille. Saatat esimerkiksi nähdä erilaisia kuvia ja sisältöä Internet Explorerissa ja Firefox.
Toinen tärkeä asetus on Simuloi selaimen välimuistia. Jos haluat mitata vasteaikaa välimuistin ollessa käytössä, valitse tämä ruutu. Jos etsit pahinta mahdollista tilannetta, se ei tietenkään ole otettava huomioon.
Lataa ei-HTML-resurssit -vaihtoehto antaa LoadRunnerin ladata CSS:n, JS:n ja muun rich median. Tämän tulisi pysyä valittuna. Jos kuitenkin haluat poistaa sen suorituskykytestaussuunnitelmastasi, voit poistaa sen valinnan.
Valtakirja
On parasta poistaa välityspalvelin kokonaan Testiympäristössä — polussa oleva välityspalvelin tekee testituloksista epäluotettavia. Saatat kuitenkin kohdata tilanteita, joissa se on väistämätöntä. Tällaisessa tilanteessa LoadRunner tarjoaa välityspalvelimen asetukset.
Työskentelet (tai sinun pitäisi toimia) Ei välityspalvelinta -asetuksella. Voit hakea sen oletusselaimestasi. Muista kuitenkin tarkistaa, mikä selain on asetettu oletusselaimeksi ja mitkä ovat kyseisen selaimen välityspalvelinasetukset.
Jos käytät välityspalvelinta ja se vaatii todennuksen (tai komentosarjan), voit napsauttaa Todenna-painiketta, joka avaa uuden ikkunan. Katso alla olevaa kuvakaappausta.
Käytä tätä näyttöä antaaksesi käyttäjätunnuksen ja salasanan välityspalvelimella todentamista varten. Sulje näyttö napsauttamalla OK.
Onnittelut. Olet valmis VuGen-skriptisi määrittämisessä. Muista määrittää se kaikille VUser-skripteillesi.
Seuraavaksi tulevat korrelaatio, suorittamalla skenaarion ohjainja lukemisen tulokset LoadRunner-analyysi. Katso LoadRunner-arkkitehtuuri ja Kuormitustesti oppaita.











