parameterization qtp explained with examples qtp tutorial 19
=> Klik her for QTP Training Tutorials Series
Hvad du lærer:
- Hvad er QTP-parametrering?
- Typer af parametrisering i QTP
- Parameterisering i QTP ved hjælp af datatabel med eksempel
- Anbefalet læsning
Hvad er QTP-parametrering?
Undertiden accepterer applikationen ikke duplikatdataoptegnelser. I dette tilfælde, hvis du kører det samme testscript med et fast sæt inputdata, kan et program muligvis kaste en fejl på grund af dataduplikering. For at undgå dette problem giver QTP måder at acceptere forskellige testindgange til testscriptet.
Denne proces med at levere forskellige inputværdier gennem eksterne parametre kaldes Parameterization
dobbeltkoblet liste c ++
Typer af parametrisering i QTP
Variabelværdien kan være, eller parametertyperne kan være:
- Datatabelparametre
- Test / handling parametre
- Parametre for miljøvariabler
- Tilfældige antal parametre
I denne QTP-tutorial vil vi primært fokusere på parametrering ved hjælp af Datatable. Vi vil forklare andre typer parametreringsmetoder i den næste vejledning.
Parameterisering i QTP
Sig, at du prøver at skrive et program, der kontrollerer loginværdierne for et par brugere på gmail.com. Følgende er den kode, du har for en bruger, men du vil have, at den samme tager forskellige værdier hver gang. Hvordan gør du dette?
Kode for at logge ind på Gmail for en bruger:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Gå nu til nøgleordsvisningen, og klik på værdikolonnen for udsagn om e-mail-id og adgangskode.
Den typiske skærm, der kommer op, når du prøver at parametrere:
Som du kan se, kan værdien enten være en konstant, 'swatiseela' i dette tilfælde login-id'et.
Eller hvis du vælger parameterindstillingen, aktiveres de tilsvarende felter på skærmen.
Fra dette skærmbillede kan du vælge at parametrere den valgte værdi med enten en værdi i datatabellen, miljøvariablen eller et tilfældigt tal. Da den mest anvendte kilde er datatabellen, vil vi diskutere det først.
Bortset fra disse kan du bruge input- og outputværdierne for en bestemt handling som parameter for en værdi. Vi vil også diskutere det om et stykke tid.
Parameterisering i QTP ved hjælp af datatabel med eksempel
Parametrering i QTP ved hjælp af Excel
Jeg tjekkede parameterværdien TIL, og så er der en placering i feltet Datatabel efter navnet.
Navn Det tilsvarende kolonnenavn i datatabellen, hvorfra dataene skal tages. Som standard foreslår QTP et navn. Du har mulighed for at beholde det som foreslået eller ændre det efter behov.
Global Ark: Dette datablad er tilgængeligt for alle handlinger i en test.
Aktuelt handlingsark eller lokalt ark: som navnet antyder, er det databladet, der er tilgængeligt for en bestemt handling.
Jeg går til flere rækker med data til det globale datablad. Det er her, kodeordskodeværktøjet er nyttigt. Du kan indsætte krypterede værdier i dit datablad, som du får fra dette værktøj.
Sådan ser mit datablad ud:
implicit ventetid og eksplicit ventetid i selen
Efter parameterisering ser koden sådan ud:
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('SignInName', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('GPassword', dtGlobalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close
Du vil se i ovenstående kode, at værdierne for e-mail-id'et og adgangskoden er taget fra datatabellen.
Denne kode kører for alle de 4 rækker data i det globale ark, hvis jeg i følgende skærmbillede sætter indstillingen 'Kør på alle rækker' TIL:
Bare i tilfælde, hvis du ikke vil bruge ovenstående skærm til at bestemme, hvor mange rækker koden skal udføres for dig, kan du gøre det programmatisk. Til det skal du vælge indstillingen 'Kør kun en iteration' på ovenstående skærm og skrive koden på følgende måde:
for i=1 to datatable.GetRowCount SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync datatable.SetCurrentRow(i) varName=datatable.value('SignInName') varPwd=datatable.Value('GPassword') Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set varName Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure varPwd Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Close next
Når du udfører en test, der kører i to iterationer, ser testresultatskærmen sådan ud:
Jeg vil gerne bruge lidt tid på at undersøge koden og prøve at forstå, hvorfor hver linje og dens rækkefølge er vigtig for en vellykket udførelse af testen:
- Hvorfor åbner jeg browseren inden for 'loop'?
- Hvorfor er der synkroniseringserklæringer overalt?
- Hvorfor lukker vi programmatisk browseren i slutningen i stedet for at lade indstillingen “Optag og kør indstillinger - Luk browseren, når testen lukkes” tage sig af det for os?
- Igen, hvorfor er den tætte erklæring inde i 'for' -sløjfen?
Bemærk venligst, at jeg i ovenstående stykke kode ikke erklærede variablerne i denne test, indrykkede udsagnene eller fremsatte kommentarer. Dette er bevidst, da jeg ikke ønskede at fortynde essensen af udsagnene. Følgende koncept vil besvare disse spørgsmål:
Tilstand for din AUT:
Grundreglen er - Hver iteration skal begynde med, at AUT er den samme tilstand og slutter i den samme tilstand.
- Hvis erklæringen om at åbne gmail.com-siden var uden for loop, ville testen køre fint for den første iteration, men for den næste ville gmail.com-siden ikke være åbnet, og testen ville mislykkes.
- Hvis udsagnet om at lukke browseren ikke er inkluderet i testen, åbner testen en browser med hver iteration, og du ender med at have så mange forekomster af browseren åben for antallet af rækker i datatabellen.
- Forestil dig, at den tætte erklæring var uden for sløjfen, så vil du også ende med for mange browsere.
- Synkroniseringserklæring: dette tvinger QTP-testen til at vente, indtil en bestemt side indlæses helt, før den begynder at udføre en bestemt operation på den.
Forsøg altid at returnere din ansøgning til den tilstand, hvor den startede. Dette vil sikre, at du giver den samme grænseflade til hver af dine iterationer at interagere med.
Følgende er kodestykket, når du bruger et lokalt ark i stedet for det globale:
Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Email').Set DataTable('Name', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebEdit('Passwd').SetSecure DataTable('Pwd', dtLocalSheet) Browser('Gmail: Email from Google').page('Gmail: Email from Google').WebButton('Sign in').Click
I QTP kan du parametrere værdier for:
- Kontrolpunkter.
- Objektegenskaber for et valgt trin.
- Funktionsargumenter defineret for et valgt trin.
- En eller flere egenskaber for et objekt, der er gemt i det lokale objektlager i dialogboksen Objektegenskaber eller vinduet Objektlager.
Ovenstående er også et eksempel på data, der kører en bestemt test. Vi vil se, hvordan vi kan parametrere ved hjælp af andre parametertyper i den næste artikel.
=> Besøg her for QTP Training Tutorials Series
Anbefalet læsning
- Parameterisering i QTP (del 2) - QTP-vejledning nr. 20
- QTP Tutorials - 25+ Micro Focus Quick Test Professional (QTP) Training Tutorials
- Selen Find Element By Text Tutorial med eksempler
- Dybdegående formørkelsesvejledninger til begyndere
- QTP-tutorial # 18 - Datadrevne og hybridrammer forklaret med QTP-eksempler
- QTP Tutorial # 6 - Forståelse af QTP Record og Run-indstillinger til vores første test
- QTP-tutorial # 24 - Brug af virtuelle objekter og gendannelsesscenarier i QTP-tests
- Beskrivende programmering i QTP og databaseforbindelse i QTP - Tutorial # 25