qtp tutorial 18 data driven
Vi jobber oss gjennom å finne ut hvordan vi kan utlede på en Automatiseringsrammeverk som fungerer best for et bestemt testprosjekt, og definerer også visse rammer som allerede eksisterer.
Eksemplet vi brukte i forrige artikkel om QTP-rammeverk opprettet en ny Gmail-konto.
Til å begynne med kodet vi for å skape et nytt kontoscenario bare ved å spille inn og spille av på en lineær måte. Å se hvordan det manglet i modularitet, lesbarhet og gjenbrukbarhet, brøt vi det ned i funksjoner som det vil bli referert til som nøkkelord som beveger seg fremover.
=> Klikk her for QTP Training Tutorials Series
Vi oppnådde modularitet, lesbarhet og gjenbrukbarhet gjennom denne metoden, men vi trengte å gjøre programmet enda mer robust slik at det kan ta forskjellige sett med verdier uten å måtte endre selve skriptet.
Det er akkurat det vi skal oppnå med data som kjører testene.
Hva du vil lære:
Datadrevet automatiseringsrammer ved bruk av QTP
Å opprette flere Google-brukerkontoer er oppgaven vi vil prøve å utføre ved hjelp av dette rammeverket.
I eksemplet tidligere har vi hardkodet fornavnet, etternavnet, bruker-ID-detaljene osv. I koden vår mens vi prøver å opprette en konto. Vi blir nødt til å skille koden fra dataene hvis vi må oppnå datakjøringsaspektet for dette skriptet.
Dataene skal komme fra en kilde som ikke er selve programmet.
Datainngangen kan vanligvis være hva som helst:
- MS Excel-filer
- Database
- Tekstfiler
- XML-filer ... osv.
Excel-filer er de som blir brukt ofte. Det faktum at hver handling i QTP leveres integrert med et eget datablad, forklarer hvorfor det er slik.
hvordan du installerer maven i formørkelse
Du kan bruke en eller flere datakilder for et enkelt skript. Excel-arket som følger med handlingen kan brukes, eller du kan også bruke et eksternt excel-ark. I utgangspunktet kan et datablad være hvilken som helst relevant ekstern fil.
For eksempel,
Dette er koden vi trenger for datastasjonen:
Browser('Gmail: Email from Google').Page('GoogleAccounts').WebEdit('FirstName').Set 'swati' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set 's' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set 'test'
All data akkurat nå er hardkodet. La oss nå se hvordan vi kan ta disse verdiene fra databladet.
Gå til ekspertvisningen for uttalelsen i QTP og klikk på verdikolonnen for et trinn. Følgende vindu åpnes:
Velg parameteralternativet, velg et navn på parameteren (dette vil være kolonnenavnet i databladet) og velg om du skal bruke det globale arket eller det lokale arket (globalt ark er tilgjengelig for alle handlingene i en test, men det lokale arket er spesifikt for den gjeldende handlingen).
For 'Navn' -feltet på skjermen gir QTP en standardverdi. Brukeren har et alternativ å holde det likt eller endre det.
Når du klikker OK, blir en ny kolonne opprettet i datatabellen.
Slik ser databladet som inneholder 3 sett med fornavn, etternavn og konto-ID ut:
Når den er parameterisert, ser koden ut som:
Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('FirstName').Set DataTable('G_First_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set DataTable('G_Last_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set DataTable('gmail_address', dtGlobalSheet)
Hvis vi må lage disse 3 bruker-IDene med dataene i arkene, må vi ha 3 iterasjoner. Iterasjon er ikke annet enn en prøvekjøring.
Når dataene er konfigurert, må vi instruere QTP om hvor mange ganger denne koden må kjøres, eller hvor mange iterasjoner.
Slik gjør vi det: Gå til Fil-> Innstillinger og kjør (klikk på bildet for å forstørre)
initialiser den statiske variabelen c ++
I skjermbildet ovenfor angir du iterasjonsegenskapene etter behov.
Alternativt kan du instruere QTP om iterasjonene programmatisk. Som alltid gir dette mer kontroll og også flere programmeringsevner. Så det er virkelig opp til testernes komfortnivå å velge en av disse metodene.
Komponentene i et datadrevet rammeverk er:
- Testmanus
- Datafiler
- Delt funksjonelt bibliotek (hvis det eksisterer eller kan være et lineært program)
- Objektlager (igjen, denne komponenten vil ikke eksistere hvis beskrivende programmering ble brukt til å lage objekter)
Testresultatene viser statusen “Bestått” eller “Mislyktes” for hver testkjøring.
Bortsett fra datatabellen som standard, kan vi bruke hvilken som helst ekstern excel-fil som inndataark.
Hybrid Framework
I eksemplet ovenfor brukte du nøkkelord (navn på funksjonene som brukeren har opprettet) og har datadrevet testen for å sikre at forskjellige brukere blir opprettet samtidig. Dette er ingenting annet enn en hybrid ramme.
Kombinasjonen av to eller flere rammer som vi har diskutert så langt, er en hybrid ramme.
Etter min erfaring er det ingen rammer som fungerer effektivt for et bestemt prosjekt. Hybrid-rammeverket er det som blir brukt ofte.
Få viktige punkter om rammer:
- Rammeverket er bare en løsning som fungerte best i en bestemt situasjon, men ikke skal tolkes som et sett med regler som absolutt skal følges. Det bør sees på som mer som retningslinjer.
- Det kan være mange andre rammer i bruk, vi har bare listet opp og forklart de vanlige
- Nomenklatur - Ulike mennesker adresserer rammene sine med forskjellige navn. Så hvis navnene er litt forskjellige fra en applikasjon til en annen, er det normalt.
- De fleste av rammene kan brukes i forbindelse med hverandre når noen av dem ikke kan gi en allsidig løsning på testmålene dine.
Konklusjon
For enkel forståelse har vi virkelig forenklet begrepene i rammeverket her. Gi oss beskjed hvis du har noen problemer knyttet til rammeverket du står overfor. Vi vil absolutt prøve å svare på spørsmålene dine. Ta gjerne spørsmål.
=> Besøk her for QTP Training Tutorials Series
Anbefalt lesing
- QTP Frameworks - Test Automation Frameworks - Keyword Driven and Lineær Framework Eksempler - QTP Tutorial # 17
- Hvordan datadrevet testing fungerer (eksempler på QTP og selen)
- Datadrevet rammeverk i Selenium WebDriver ved hjelp av Apache POI
- Datadrevet eller parametrisert testing med Spock Framework
- Hvordan utføre datadrevet testing ved hjelp av TestComplete Tool
- QTP Tutorials - 25+ Micro Focus Quick Test Professional (QTP) Training Tutorials
- Data Mining: Prosess, teknikker og store problemer i dataanalyse
- Parameterisering i QTP forklart med eksempler (del 1) - QTP opplæring # 19