Mis on korrelatsioon?
Nagu nimigi ütleb, on korrelatsioon kahe muutuja või üksuse vahelise suhte määratlemise mehhanism. Sõnaraamat määratleb selle kui "kahe või enama muutuja vahelise statistilise seose, nii et teise muutuse süsteemsed muutused kaasnevad ühe muutuja väärtuse süstemaatiliste muutustega".
Selles õpetuses saame teada
- Miks me vajame korrelatsiooni?
- Automaatne korrelatsioon
- Käsitsi korrelatsioon
- Funktsiooni Web_reg_save_param mõistmine
Miks me vajame korrelatsiooni?
Mõistame kaastegevust järgmise stsenaariumiga.
Mõelge, kas salvestate skripti LoadRunneri abil.
Kliendi-serveri suhtlus
- Recordi ajal saadab klient serverile seansi alustamise taotluse
- 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 taotluse salvestamiseks
- Server tunneb ära ID ABC ja võimaldab kliendil skripti salvestada
- Uurime nüüd korduse ajal kliendi-serveri suhtlust
- Taasesituse ajal saadab klient serverile seansi alustamise taotluse
- Server võtab päringu vastu ja eraldab uue seansi ID XYZ
- Klient alustab seanssi varem salvestatud seansi ID-ga ABC ja saadab serverile taotluse salvestamiseks
- Server ei suuda tuvastada ID ABC-d, kuna ta ootas oma eraldatud ID XYZ-i ja seanss ebaõnnestus.
Vajame lahendust, mille abil saaks sõidu ajal saadetud dünaamilise väärtuse sõeluda ja see väärtus serverile tagasi tuua. Selle lahenduse korral näeb klient-server suhtlus välja järgmiselt
- Taasesituse ajal saadab klient serverile seansi alustamise taotluse
- Server võtab päringu vastu ja eraldab uue seansi ID ZZZ
- Klient sõelub selle uue seansi ID ZZZ taotlusest.
- Klient saadab taotluse alustada seanssi ID-ga ZZZ
- Server tunneb ära ID ZZZ ja võimaldab kliendil skripti taasesitada
See pole midagi muud kui korrelatsioon .
Kui videole pole juurdepääsu, klõpsake siin
VUGeni korral on korrelatsioon siduv seos vastuse ja mis tahes eelneva taotluse vahel.
On mitmeid olukordi, kui päring põhineb serverilt varem saadud vastusel, näiteks seansi ID, serveri kuupäev / kellaaeg, mis võetakse serverist. Need väärtused on erinevad iga kord, kui rakendust käivitate või skripti salvestate. Ilmselt, kui skripti käivitamine sõltub serveri tagastatud väärtusest, tähendab see, et peate leidma mehhanismi, mille abil saaksite serveri vastuse "kinni püüda" ja lisada neile taotlustele, mida server ootab. Seda nimetatakse tavaliselt korrelatsiooniks LoadRunneris.
Lihtsamalt öeldes on korrelatsiooni abil lahendus järgmine:
- Jäädvustage väljundväärtus sammult
- Kõigi järgnevate toimingute sisestamiseks kasutage ülalpool jäädvustatud väärtust
VUGen / LoadRunneris on korrelatsioon jagatud kahte kategooriasse:
- Automaatne korrelatsioon
- Käsitsi korrelatsioon
Automaatne korrelatsioon
LoadRunner pakub mehhanismi korrelatsiooni hõlpsaks automaatseks teostamiseks.
VUGen nõuab, et käivitaksite salvestatud skripti vähemalt kaks korda, et see saaks sisemiselt võrrelda serveri vastuse erinevaid väärtusi.
Automaatse korrelatsiooni võib jagada kolme kategooriasse:
- Automaatne korrelatsiooni tuvastamine
- Reeglipõhine korrelatsioon
- Kõigi väidete korreleerimine
Reegli nimi | Millal kasutada |
Automaatne korrelatsiooni tuvastamine | Tuvastage ja korreleerige rakenduse serverite dünaamilised andmed, mida toetab HP LoadRunner |
Reeglipõhine | Kasutatakse töötamisel toetamata rakendusserveriga, mille kontekst on teada. |
Korreleeri kõik | Aitab korrigeerida kõiki dünaamilisi andmeid pimesi. |
Kuigi automaatne korrelatsioon näib lihtsam, võib see olla veaohtlik ja töötab mitte rohkem kui 5% juhtudest. Alati on soovitatav kasutada käsitsi korrelatsiooni.
Automaatse korrelatsiooni konfigureerimiseks salvestamise ajal tehke pärast skripti salvestamist allpool konfiguratsiooni jaotises Record Time Setting.
Klõpsake nuppu Salvesta => Salvestusvalikud (või klõpsake Ctrl + F7),
>
Avaneb aken allpool:
Klõpsake valikul Korrelatsioon => Konfiguratsioon - avaneb allolev aken.
Siin peate märkima kontrollituks kõigi teie rakenduses kasutatavate rakenduste (ASPNET) jms suhtes. Paremal küljel näete reegleid, mis tuvastavad võimalikud korrelatsioonikandidaadid, nt _VIEWSTATE. Samuti saate lisada rohkem rakendusi või kohandatud reegleid, klõpsates nuppu Uus reegel.
Võite klõpsata ka REEGLID, näete allpool:
Automaatse korrelatsiooni toimimiseks peate kontrollima, et reeglite skannimine oleks märgitud kontrollituks. Kui klõpsate leitud korreleeritud väärtustel, ei küsi VUGen teile valikut, kui korrelatsioonikandidaat on leitud, vaid lihtsalt korreleerib need.
Mõistame korrelatsiooniks kasutatavat API-d hiljem. Siiski on soovitav kasutada teksti võrdluse asemel HTML-i võrdlust.
Kui olete reeglid valinud, klõpsake akende sulgemiseks nuppu OK.
Klõpsake menüüst ja VUGen taastab skripti (ilma et peaksite salvestama) uute konfiguratsioonidega. VUGen lisab korrelatsiooni käsitlemiseks vajaliku kooditüki. Vaatame valimi üksikasjalikumalt käsiraamatus.
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 korreleerimise sammud:
- Salvesta skript
- Taasesita skript
- Tehke kindlaks korreleeritavad väärtused
- Valige väärtused ja klõpsake nuppu Automaatkorreleerimine
- Kontrollige skripti uuesti käivitades. Edukas jooks tähendab edukat korrelatsiooni.
Nõuanne:
- Korrelatsioon aitab skripti käivitada erinevate väärtustega
- Vastavus vähendab ka teie skripti suurust
Käsitsi korrelatsioon
Käsitsi korrelatsioon seisneb koodi kirjutamises otse skripti, et rahuldada pidevalt muutuvaid väärtusi. Saame selle jagada järgmisteks sammudeks:
- Määrake jäädvustatav väärtus
- Leidke jäädvustatava väärtuse parem ja vasak tekstipiir (WEB)
- Leidke, millist tekstipiiri esinemist tuleks kasutada
- Lisage skripti funktsioon web_reg_save_param koodiosa kohal, mis nõuab lehte, mille väärtus on hõivatud
- Lisage funktsioonile parameetri nimi, vasak piir, parem piir ja esinemine
- Parameetrige skripti dünaamilist väärtust iga kord, kui see ilmub
- Kontrollige korrektset täitmist
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;""Ord = l","Otsing = päised","RelFrameId = l",VIIMANE);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" väärtus = \ "","RB / IC = \" ","Ord = 1","Otsing = keha","RelFrameId = l",VIIMANE);
Käsitsi korrelatsiooni saab teha VUseri võrdlus. VUseri võrdlusmeetodi korrelatsiooni etapid saab jagada järgmiselt:
- Tehke kindlaks dünaamilised väärtused, mida tuleb korreleerida
- Find Servers response containing the Dynamic value
- Capture the Dynamic value in a parameter
- Replace every occurrence of the Dynamic value with the parameter
- Verify Changes
Understanding Web_reg_save_param function
VUGen provides multiple functions or APIs to correlate candidates, including:
- web_reg_save_param
- web_reg_save_param_ex
- web_reg_save_param_regexp
- web_reg_save_param_xpath
While a brief introduction is being provided here, for a detailed understanding of functions and their parameters, open VUGen, write function (or use Steps Toolbox), move a cursor on the function and click F1 - get yourself acquainted with VUGen help and make a habit. You will have to deal with it a lot when working in the industry.
Here we go with the function details:
web_reg_save_param(Parameter Name , Left Boundary , Right Boundary )
List of Attributes
Convert: The possible values are:
HTML_TO_URL: convert HTML-encoded data to a URL-encoded data format
HTML_TO_TEXT: convert HTML-encoded data to plain text format; this attribute is optional.
Ignore Redirections: If "Ignore Redirections=Yes" is specified and the server response is redirection information (HTTP status code 300-303, 307), the response is not searched. Instead, after receiving a redirection response, the GET request is sent to the redirected location, and the search is performed on the response from that location.
This attribute is optional. The default is "Ignore Redirections=No".
LB: The left boundary of the parameter or the dynamic data. If you do not specify an LB value, it uses all of the characters from the beginning of the data as a boundary. Boundary parameters are case-sensitive. To further customize the search text, use one or more text flags. This attribute is required. See the Boundary Arguments section.
NOTFOUND: The handling option when a boundary is not found, and an empty string is generated.
"Not found=error", the default value, causes an error to be raised when a boundary is not found.
"Not found=warning" ("Not found=empty" in earlier versions), does not issue an error. If the boundary is not found, it sets the parameter count to 0 and continues executing the script. The "warning" option is ideal if you want to see if the string was found, but you do not want the script to fail.
Note: If Continue on Error is enabled for the script, then even when NOTFOUND is set to "error", the script continues when the boundary is not found, but an error message is written to the extended log file.
This attribute is optional as well.
ORD: Indicates the ordinal position or instance of the match. The default instance is 1. If you specify "All," it saves the parameter values in an array. This attribute is optional.
Note: The use of Instance instead of ORD is supported for backward compatibility, but deprecated.
RB: The right boundary of the parameter or the dynamic data. If you do not specify an RB value, it uses all of the characters until the end of the data as a boundary. Boundary parameters are case-sensitive. To further customize the search text, use one or more text flags. This attribute is required. See the Boundary Arguments section.
RelFrameID: The hierarchy level of the HTML page relative to the requested URL. The possible values are ALL or a number. Click RelFrameID Attribute for a detailed description. This attribute is optional.
Note: RelFrameID is not supported in GUI level scripts.
SaveLen : leitud väärtuse alamstringi pikkus määratud nihkest alates parameetrisse salvestamiseks. See atribuut on valikuline. Vaikimisi on -1, mis näitab salvestamist stringi lõppu.
SaveOffset : leitud väärtuse alamstringi nihe parameetrisse salvestamiseks. Nihe väärtus ei tohi olla negatiivne. Vaikimisi on 0. See atribuut on valikuline.
Otsing: piiritletud andmete otsimise ulatus. Võimalikud väärtused on Päised (otsi ainult päiseid), Keha (otsi ainult kereandmeid, mitte päiseid), Ressursse pole (otsi ainult HTML-i kehast, v.a kõik päised ja ressursid) või KÕIK (otsingutekst, päised ja ressursid) . Vaikeväärtus on KÕIK. See atribuut on valikuline, kuid üldiselt eelistatud.