LoadRunneri korrelatsioon Web_Reg_Save_Param näitega
Mis on korrelatsioon?
Korrelatsioon, nagu nimigi ütleb, on mehhanism kahe muutuja või olemi vahelise seose määratlemiseks. Sõnastik määratleb selle kui "statistiline seos kahe või enama muutuja vahel, nii et teise muutuja süstemaatilised muutused kaasnevad ühe muutuja väärtuse süstemaatiliste muutustega".
Miks me vajame korrelatsiooni?
Mõistame seost järgmise stsenaariumiga.
Arvestage, et salvestate skripti LoadRunneri abil.
Kliendi-serveri suhtlus
- Salvestamise ajal saadab klient serverile taotluse seansi alustamiseks
- Server võtab päringu vastu ja eraldab uue seansi ID ABC
- Klient salvestab skripti seansi ID ABC.
- Klient alustab seanssi ID ABC-ga ja saadab serverile päringu, et see saaks salvestada
- Server tunneb ära ID ABC ja võimaldab kliendil skripti salvestada
- Nüüd uurime kliendi ja serveri suhtlust taasesituse ajal
- Taasesituse ajal saadab klient serverile taotluse seansi alustamiseks
- Server võtab päringu vastu ja eraldab uue seansi ID XYZ
- Klient alustab seanssi varem salvestatud seansi ID-ga ABC ja saadab serverile päringu, et see saaks salvestada
- Server ei suuda ID-d ABC tuvastada, kuna ta ootas eraldatud ID-d XYZ ja seanss nurjus.
Vajame lahendust, mis jäädvustab käitusajal saadetud dünaamilise väärtuse ja tagastab selle tagasi serverisse. Siin on, kuidas kliendi-serveri suhtlus selle lahendusega välja näeb
- Taasesituse ajal saadab klient serverile taotluse seansi alustamiseks
- Server võtab päringu vastu ja eraldab uue seansi ID ZZZ
- Klient parsib selle uue seansi ID ZZZ päringust.
- Klient saadab seansi alustamise taotluse ID-ga ZZZ
- Server tunneb ära ID ZZZ ja võimaldab kliendil skripti uuesti esitada
See pole midagi muud kui korrelatsioon.
Click siin kui video pole juurdepääsetav
VUGeni puhul on korrelatsioon siduv seos vastuse ja mis tahes eelneva päringu vahel.
On mitmeid olukordi, kui päring põhineb serverilt varem saadud vastusel, näiteks seansi ID, serveri kuupäev/kellaaeg, mis serverist tuuakse. Need väärtused on erinevad iga kord, kui käivitate rakenduse või salvestate skripti. Ilmselgelt, kui skripti täitmine sõltub serveri tagastatud väärtusest, tähendab see, et peate leidma mehhanismi, mille abil saate serveri vastuse "püüda" ja lisada need päringud, mida server ootab. Tavaliselt nimetatakse seda LoadRunneris korrelatsiooniks.
Lihtsamalt öeldes on korrelatsiooni abil lahendus järgmine:
- Jäädvustage sammu väljundväärtus
- Kasutage ülaltoodud väärtust, et olla sisendiks kõigis järgmistes etappides
Korrelatsioon liigitatakse VUGenis/LoadRunneris kahte kategooriasse:
- Automaatne korrelatsioon
- Käsitsi korrelatsioon
Automaatne korrelatsioon
LoadRunner pakub mehhanismi automaatseks korrelatsiooni hõlpsaks teostamiseks.
VUGen nõuab salvestatud skripti käivitamist vähemalt kaks korda, et see saaks sisemiselt võrrelda serveri vastuse muutuvaid väärtusi.
Automaatne korrelatsioon võib jagada kolme kategooriasse:
- Automaatne korrelatsiooni tuvastamine
- Reeglipõhine korrelatsioon
- Kõigi väidete korrelatsioon
Reegli nimi | Millal kasutada |
---|---|
Automaatne korrelatsiooni tuvastamine | Tuvastage ja korreleerige HP LoadRunneri toetatud rakendusserverite dünaamilisi andmeid |
Reeglipõhine | Kasutatakse töötades toetamata rakendusserveriga, mille kontekst on teada. |
Korreleeri kõik | Aitab kõiki dünaamilisi andmeid pimesi korreleerida. |
Kuigi automaatne korrelatsioon tundub lihtsam, võib see olla tõrketundlik ja toimib mitte rohkem kui 5% juhtudest. Alati on soovitatav kasutada käsitsi korrelatsiooni.
Salvestamise ajal automaatse korrelatsiooni konfigureerimiseks tehke pärast skripti salvestamist allolevat konfiguratsiooni salvestusaja seadistuses.
Klõpsake nuppu Salvesta => Salvestusvalikud (või klõpsake Ctrl + F7),
Allpool avaneb aken:
Klõpsake Korrelatsioon => Konfiguratsioon – avaneb allolev aken.
Siin peate märkima kontrollituks kõigi rakenduste (ASPNET) jms suhtes, mida teie teemarakenduses kasutatakse. Paremal pool näete reegleid, mis tuvastavad võimalikud korrelatsiooni kandidaadid, nt _VIEWSTATE. Samuti saate lisada rohkem rakendusi või kohandatud reegleid, klõpsates nuppu Uus reegel.
Võite klõpsata ka nuppu REEGLID, näete järgmist:
Automaatkorrelatsiooni toimimiseks peate tagama, et reeglite kontrollimine on märgitud märgituks. Kui klõpsate leitud väärtuste automaatselt korrelatsioonil, ei küsi VUGen teilt pärast korrelatsioonikandidaadi leidmist valikut, vaid korreleerib need lihtsalt.
Korrelatsiooniks kasutatavat API-d mõistame hiljem. Siiski on teksti võrdlemise asemel soovitatav kasutada HTML-i võrdlust.
Kui olete reeglid valinud, klõpsake akende sulgemiseks nuppu OK.
Klõpsake menüüst ja VUGen taasloob skripti (ilma salvestamata) uute konfiguratsioonidega. VUGen lisab korrelatsiooni käsitlemiseks automaatselt vajaliku koodilõigu. Vaatleme näidist üksikasjalikumalt jaotises Manual Correlation.
Pange tähele, et kui teete korrelatsiooni käsitsi või kasutate automaatset korrelatsiooni, sisaldab koodijupp täpselt sama süntaksit ja funktsiooni.
Skripti automaatse korrelatsiooni sammud:
- Salvestage skript
- Korda skripti
- Tuvastage väärtused, mida korreleerida
- Valige väärtused ja klõpsake automaatse korrelatsiooni nuppu
- Kontrollige skripti uuesti käivitades. Edukas jooks tähendab edukat korrelatsiooni.
Vihje:
- Korrelatsioon aitab käitada teie skripti erinevate väärtustega
- Korrelatsioon vähendab ka teie skripti suurust
Käsitsi korrelatsioon
Käsitsi korrelatsioon tähendab koodi kirjutamist otse skripti, et arvestada pidevalt muutuvate väärtustega. Saame selle jagada järgmisteks sammudeks:
- Määrake jäädvustav väärtus
- Leidke jäädvustava väärtuse parem- ja vasakpoolsed tekstipiirid (WEB)
- Otsige üles, millist tekstipiiride esinemist tuleks kasutada
- Lisage skriptile funktsioon web_reg_save_param selle koodilõigu kohale, mis taotleb jäädvustavat väärtust sisaldavat lehte
- Lisage funktsioonile parameetri nimi, vasak piir, parem piir ja esinemine
- Parameetristage skripti dünaamiline väärtus iga kord, kui see esineb
- Kontrollige õiget täitmist
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);
Käsitsi korrelatsiooni saab teha VUser Comparisoni abil. Korrelatsiooni VUseri võrdlusmeetodi etapid saab jagada järgmiselt:
- Tuvastage dünaamilised väärtused, mida tuleb korreleerida
- Otsige serverite vastust, mis sisaldab dünaamilist väärtust
- Jäädvustage parameetri dünaamiline väärtus
- Asendage kõik dünaamilise väärtuse esinemised parameetriga
- Kinnitage muudatused
Funktsiooni Web_reg_save_param mõistmine
VUGen pakub kandidaatide korreleerimiseks mitmeid funktsioone või API-sid, sealhulgas:
- web_reg_save_param
- web_reg_save_param_ex
- web_reg_save_param_regexp
- web_reg_save_param_xpath
Sel ajal, kui siin tehakse lühike sissejuhatus, avage funktsioonide ja nende parameetrite üksikasjalikuks mõistmiseks VUGen, kirjutage funktsioon (või kasutage Steps Toolboxi), liigutage kursorit funktsioonile ja klõpsake F1 – tutvuge VUGeni abiga ja tehke harjumus. Tööstuses töötades peate sellega palju tegelema.
Siin käsitleme funktsiooni üksikasju:
web_reg_save_param(parameetri nimi , vasak piir , parem piir )
Atribuutide loend
Teisenda: Võimalikud väärtused on:
HTML_TO_URL: HTML-kodeeringuga andmete teisendamine URL-kodeeringuga andmevormingusse
HTML_TO_TEXT: teisendab HTML-kodeeritud andmed lihtteksti vormingusse; see atribuut on valikuline.
Ignoreeri ümbersuunamisi: Kui on määratud "Ignore Redirections=Yes" ja serveri vastuseks on ümbersuunamisteave (HTTP olekukood 300-303, 307), vastust ei otsita. Selle asemel saadetakse pärast ümbersuunamisvastuse saamist GET-i päring ümbersuunatud asukohta ja otsitakse sellest asukohast saadud vastust.
See atribuut on valikuline. Vaikimisi on "Ignore ümbersuunamisi = Ei".
NAEL: Parameetri või dünaamiliste andmete vasakpoolne piir. Kui te LB väärtust ei määra, kasutab see piirina kõiki märke andmete algusest. Piiriparameetrid on tõstutundlikud. Otsinguteksti täiendavaks kohandamiseks kasutage ühte või mitut tekstilippu. See atribuut on kohustuslik. Vaadake jaotist Piirargumendid.
EI LEIDUD: Käsitsemisvalik, kui piiri ei leita ja genereeritakse tühi string.
Vaikeväärtus "ei leitud = viga" põhjustab tõrketeate, kui piiri ei leita.
"Ei leitud = hoiatus" ("Pole leitud = tühi" varasemates versioonides) ei anna viga. Kui piiri ei leita, määrab see parameetrite arvu väärtuseks 0 ja jätkab skripti täitmist. Valik "hoiatus" on ideaalne, kui soovite näha, kas string leiti, kuid te ei soovi, et skript ebaõnnestuks.
märkused: Kui skripti jaoks on lubatud Continue on Error, siis isegi kui NOTFOUND on seatud väärtusele "viga", jätkab skript, kui piiri ei leita, kuid laiendatud logifaili kirjutatakse veateade.
See atribuut on samuti valikuline.
Aasta otsuse: näitab vaste järjekorralist asukohta või eksemplari. Vaikeeksemplar on 1. Kui määrate „Kõik”, salvestatakse parameetrite väärtused massiivi. See atribuut on valikuline.
Märkus. Eksemplari kasutamist ORD-i asemel toetatakse tagasiühilduvuse tagamiseks, kuid see on aegunud.
RB: parameetri või dünaamiliste andmete parem piir. Kui te RB väärtust ei määra, kasutab see piirina kõiki märke kuni andmete lõpuni. Piiriparameetrid on tõstutundlikud. Otsinguteksti täiendavaks kohandamiseks kasutage ühte või mitut tekstilippu. See atribuut on kohustuslik. Vaadake jaotist Piirargumendid.
RelFrameID: HTML-lehe hierarhia tase taotletava URL-i suhtes. Võimalikud väärtused on KÕIK või arv. Üksikasjaliku kirjelduse vaatamiseks klõpsake valikul RelFrameID atribuut. See atribuut on valikuline.
Märge: RelFrameID-d ei toetata GUI-taseme skriptides.
SaveLen: leitud väärtuse alamstringi pikkus määratud nihkest, mis salvestatakse parameetrisse. See atribuut on valikuline. Vaikimisi on -1, mis näitab, et salvestatakse stringi lõppu.
SaveOffset: leitud väärtuse alamstringi nihe parameetrisse salvestamiseks. Nihke väärtus ei tohi olla negatiivne. Vaikimisi on 0. See atribuut on valikuline.
Otsing: Otsingu ulatus – kust piiritletud andmeid otsida. Võimalikud väärtused on Headers (Otsi ainult päiseid), Body (otsi ainult kehaandmeid, mitte päiseid), Ressursi puudumine (otsi ainult HTML-i kehast, välja arvatud kõik päised ja ressursid) või ALL (otsingu sisu, päised ja ressursid). Vaikeväärtus on KÕIK. See atribuut on valikuline, kuid üldiselt eelistatud.