qtp tutorial 18 data driven
Vi arbejder os igennem med at finde ud af, hvordan vi kan udlede på en Automatiseringsramme det fungerer bedst for et bestemt testprojekt og definerer også visse rammer, der allerede findes.
Eksemplet, som vi brugte i tidligere QTP-rammeartikel oprettede en ny Gmail-konto.
Til at begynde med kodede vi oprettelsen af et nyt kontoscenario bare ved at optage og afspille lineært. At se, hvordan det manglede i modularitet, læsbarhed og genanvendelighed, brød vi det op i funktioner, der ville blive henvist til som nøgleord, der bevæger sig fremad.
=> Klik her for QTP Training Tutorials Series
Vi opnåede modularitet, læsbarhed og genanvendelighed gennem denne metode, men vi havde brug for at gøre programmet endnu mere robust, så det kan tage forskellige sæt værdier uden at skulle ændre selve scriptet.
Det er præcis, hvad vi skal opnå ved data, der driver testene.
Hvad du lærer:
Datadrevet automatiseringsramme ved hjælp af QTP
Oprettelse af flere Google-brugerkonti er den opgave, vi vil forsøge at udføre ved hjælp af denne ramme.
I eksemplet tidligere har vi hardkodet fornavnet, efternavnet, bruger-id-oplysninger osv. I vores kode, mens vi prøver at oprette en konto. Vi bliver nødt til at adskille koden fra dataene, hvis vi skal opnå datadrivningsaspektet til dette script.
Dataene skal komme fra en kilde, der ikke er selve programmet.
Dataindgangen kan typisk være hvad som helst:
- MS Excel-filer
- Database
- Tekstfiler
- XML-filer ... osv.
Excel-filer er dem, der ofte bruges. Selve det faktum, at hver handling i QTP leveres integreret med et eget datablad, forklarer, hvorfor det er sådan.
bedste gratis youtube til mp3 konverter online
Du kan bruge en eller flere datakilder til et enkelt script. Det excel-ark, der følger med handlingen, kan bruges, eller du kan også bruge et eksternt excel-ark. Dybest set kan et datablad være en hvilken som helst relevant ekstern fil.
For eksempel,
Dette er den kode, som vi har brug for til datadrev:
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'
Alle data lige nu er hardkodede. Lad os nu se, hvordan vi kan tage disse værdier fra databladet.
Gå til ekspertvisningen for udsagnet i QTP, og klik på værdikolonnen for et trin. Følgende vindue åbnes:
Vælg parameterindstillingen, vælg et navn til parameteren (dette vil være kolonnenavnet i databladet), og vælg, om du vil bruge det globale ark eller det lokale ark (globalt ark er tilgængeligt for alle handlinger i en test, men det lokale ark er specifikt for den aktuelle handling).
I feltet 'Navn' på skærmen giver QTP en standardværdi. Brugeren har mulighed for at holde det det samme eller ændre det.
Når du klikker på OK, oprettes en ny kolonne i datatabellen.
Sådan ser databladet, der indeholder 3 sæt fornavn, efternavn og konto-id:
Når den er parametreret, ser koden ud 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 skal oprette disse 3 bruger-id'er med dataene i arkene, skal vi have 3 iterationer. Iteration er intet andet end en testkørsel.
Når dataene er konfigureret, bliver vi nødt til at instruere QTP om, hvor mange gange denne kode skal køres, eller hvor mange iterationer.
Sådan gør vi det: Gå til Fil-> Indstillinger og kør (klik på billedet for at forstørre det)
hvordan åbner jeg en swf-fil
I ovenstående skærm indstilles iterationsegenskaberne efter behov.
Alternativt kan du instruere QTP om gentagelserne programmatisk. Som altid tillader dette mere kontrol og også flere programmeringsfærdigheder. Så det er virkelig op til testernes komfortniveau at vælge en af disse metoder.
Komponenterne i en datadrevet ramme er:
- Test script
- Datafiler
- Delt funktionelt bibliotek (hvis der findes eller kan være et lineært program)
- Objektlager (igen, denne komponent eksisterer ikke, hvis beskrivende programmering blev brugt til at oprette objekter)
Testresultaterne viser status 'Bestået' eller 'Mislykket' for hver testkørsel.
Bortset fra datatabellen, der kommer som standard, kan vi bruge enhver ekstern excel-fil som et inputark.
Hybrid ramme
I eksemplet ovenfor brugte du nøgleord (navne på de funktioner, som brugeren har oprettet) og har datadrevet testen for at sikre, at forskellige brugere oprettes på samme tid. Dette er intet andet end en hybrid ramme.
Kombinationen af to eller flere rammer, som vi hidtil har diskuteret, er en hybrid ramme.
Efter min erfaring fungerer ingen rammer effektivt for et bestemt projekt. Den hybride ramme er det, der bruges ofte.
Få vigtige punkter omkring rammer:
- Rammen er bare en løsning, der fungerede bedst i en bestemt situation, men ikke skal opfattes som et sæt regler, der absolut skal følges. Det skal ses som mere som retningslinjer.
- Der kan være mange andre rammer i brug, vi har kun angivet og forklaret de almindelige
- Nomenklatur - Forskellige mennesker adresserer deres rammer med forskellige navne. Så hvis navnene er lidt forskellige fra en applikation til en anden, er det normalt.
- De fleste af rammerne kan bruges sammen med hinanden, når en af dem ikke kan tilbyde en alsidig løsning på dine testmål.
Konklusion
Af hensyn til nem forståelse har vi virkelig forenklet begreberne i rammen her. Hvis du har nogen rammerelaterede problemer, som du står over for, og som ikke er dækket af disse artikler, så lad os det vide. Vi vil helt sikkert prøve at besvare dine spørgsmål. Du er velkommen til at stille dine spørgsmål.
=> Besøg her for QTP Training Tutorials Series
Anbefalet læsning
- QTP Frameworks - Testautomatiseringsrammer - Eksempler på nøgleordsdrevne og lineære rammer - QTP Tutorial # 17
- Sådan fungerer datadrevet test (eksempler på QTP og selen)
- Datadrevet ramme i Selenium WebDriver ved hjælp af Apache POI
- Datadrevet eller parametreret test med Spock Framework
- Sådan udføres datadrevet test ved hjælp af TestComplete-værktøjet
- QTP Tutorials - 25+ Micro Focus Quick Test Professional (QTP) Training Tutorials
- Data Mining: Process, teknikker og større problemer i dataanalyse
- Parameterisering i QTP forklaret med eksempler (del 1) - QTP-vejledning nr. 19