QTP Tutorial #18-datadrivna och Hybridramar förklaras med QTP-exempel

vi arbetar oss igenom hur man härleder ett Automatiseringsramverk som fungerar bäst för ett visst testprojekt och definierar också vissa ramar som redan finns.

exemplet som vi använde i den tidigare QTP framework-artikeln var att skapa ett nytt Gmail-konto.

till att börja med kodade vi skapa ett nytt konto scenario bara genom att spela in och spela upp på ett linjärt sätt. När vi såg hur mycket det saknade i modularitet, läsbarhet och återanvändbarhet bröt vi ner det i funktioner som skulle refereras som nyckelord framåt.

=> Klicka här för QTP Training Tutorials-serien

datadrivna och Hybridramardatadrivna och Hybridramar

vi uppnådde modularitet, läsbarhet och återanvändbarhet genom denna metod men vi behövde göra programmet ännu mer robust så att det kan ta olika uppsättningar värden utan att behöva ändra själva skriptet.

det är precis vad vi kommer att uppnå genom data som kör testerna.

datadriven Automatiseringsramverk med QTP

att skapa flera Google-användarkonton är en uppgift som vi kommer att försöka utföra med hjälp av detta ramverk.

i det tidigare exemplet hårdkodade vi förnamn, efternamn, användar-id-detaljer etc. i vår kod när du försöker skapa ett konto. Vi måste skilja koden från data om vi måste uppnå datakörningsaspekten för detta skript.

data ska komma från en källa som inte är själva programmet.

vanligtvis kan datainmatningen vara vad som helst:

  • MS Excel-filer
  • databas
  • textfiler
  • XML-filer….osv.

Excel-filer är de som används oftast. Det faktum att varje åtgärd i QTP kommer integrerad med ett eget datablad förklarar varför det är så.

du kan använda en eller flera datakällor för ett enda skript. Excel-arket som följer med åtgärden kan användas eller så kan du också använda ett externt excel-ark. I grund och botten kan ett datablad vara en relevant extern fil.

till exempel,

här är koden som vi behöver data drive:

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"

Alla data just nu är hårdkodade. Låt oss nu se hur vi kan ta dessa värden från databladet.

gå till expertvyn för uttalandet i QTP och klicka på värdekolumnen för ett steg.

följande fönster öppnas:

data driven framework

Välj alternativet parameter, välj ett namn för parametern (detta kommer att vara kolumnnamnet i databladet) och välj om du ska använda det globala arket eller det lokala arket (det globala arket är tillgängligt för alla åtgärder i ett test, men det lokala arket är specifikt för den aktuella åtgärden).

för fältet” Namn ” på skärmen ger QTP ett standardvärde. Användaren har möjlighet att hålla den densamma eller ändra den.

datadriven ram

när du klickar på OK skapas en ny kolumn i datatabellen.

 datadriven ram

så här ser databladet som innehåller 3 uppsättningar av Förnamn, Efternamn och konto-id ut:

datadriven ram

en gång parametriserad ser koden ut som visas nedan:

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)

om vi måste skapa dessa 3 användar-ID med data i arket måste vi ha 3 iterationer. Iteration är inget annat än en testkörning.

när data har ställts in måste vi instruera QTP om hur många gånger den här koden behöver köras, eller hur många iterationer.

så här gör vi det: gå till Arkiv- > Inställningar och kör

Data driven framework

på skärmen ovan ställer du in iterationsegenskaperna efter behov.

Alternativt kan du instruera QTP om iterationerna programmatiskt. Som alltid tillåter detta mer kontroll såväl som programmeringsförmåga. Så det är verkligen upp till testarens komfortnivå att välja någon av dessa metoder.

komponenterna i det datadrivna ramverket är:

  1. testskript
  2. datafiler
  3. delat funktionellt bibliotek (om det finns eller kan vara ett linjärt program).
  4. Object repository (igen, denna komponent kommer inte att existera om beskrivande programmering användes för att skapa objekt).

testresultaten visar en ”godkänd” eller ”misslyckad” status för varje testkörning.

bortsett från datatabellen som kommer som standard kan vi använda alla externa excel-filer som ett inmatningsblad.

Hybrid Framework

i exemplet ovan använde du nyckelord (namn på de funktioner som användaren har skapat) och har datastyrt testet för att se till att olika användare skapas samtidigt. Detta är inget annat än en hybrid ram.

kombinationen av två eller flera ramar som vi hittills har diskuterat är ett hybridram. Enligt min erfarenhet fungerar Ingen ram effektivt för ett visst projekt. Hybridramen är det som används oftast.

några viktiga punkter om ramar:

  • ramverket är bara en lösning som fungerade bäst i en viss situation men bör inte tolkas som en uppsättning regler som definitivt ska följas. Det bör ses mer som riktlinjer.
  • det kan finnas många andra ramar som används, vi har bara listat och förklarat de vanliga.
  • nomenklatur – olika personer adresserar sina ramar med olika namn. Så om namnen skiljer sig något från en applikation till en annan, är det normalt.
  • de flesta ramar kan användas tillsammans med varandra när någon av dem inte kan ge en allround-lösning till dina testmål.

slutsats

för enkel förståelse har vi verkligen förenklat begreppen i ramverket här.

om du har några ramrelaterade problem som du står inför, men inte omfattas av dessa artiklar, låt oss veta. Vi kommer definitivt att försöka svara på dina frågor. Skicka gärna dina frågor.

=> besök här för QTP utbildning Tutorials serien

Senast uppdaterad: November 29, 2021

Leave a Reply

Din e-postadress kommer inte publiceras.