Data, søgeord og hybridautomatiseringsrammer i QTP/UFT
Datadrevet rammeværk
Data Driven Framework er en ramme, der er drevet af de forskellige kombinationer af input og output data.
En måde at videregive forskellige kombinationer af data på er ved at parametrere. I denne metode bruger vi forskellige funktioner i QTP. Hvis du vil vide mere om parametrering, besøg venligst link..
Men i DDF er scripts skrevet for at udføre parameterisering. Denne form for framework er nyttig, når AUT'ens funktionalitet skal testes med flere input og fange de respektive output. Disse input kan læses fra en ekstern fil såsom Database, Excel, Outlook, Tekstfil osv. og de respektive udgange skrives tilbage til den tilsvarende eksterne kilde.
De generelle trin involveret i den datadrevne ramme er:
- Forbered Test sag for applikationen under test
- Tilføj objekterne fra AUT til OR
- Skriv scripts baseret på testcasen
I denne UFT tutorial, vil vi udvikle et datadrevet rammedesign til en eksempeltestcase ved at bruge Excel som ekstern kilde til testdataene.
Trin 1) Forbered testcasen til applikationen under test
Test sag: Åbn ordrenummeret og få kundenavnet for den ordre. Gentag den samme proces for forskellige ordrenumre
Ekstern kilde: Excel-fil
Den eksterne kilde til dette eksempel er en Excel-fil. VB-scriptet i Micro Focus UFT skal skrives for at åbne en Excel-fil for at kunne læse testdataene. Dette kan opnås på en hierarkisk måde.
1. En Excel-fil åbnes først og som Application
2. Så skal projektmappen åbnes fra det angivne sted
3. Arket, hvor testdataene er til stede.
4. Til sidst skal cellen læses.
Trin 2) Tilføj objekterne fra AUT til OR
Når testsagen er klar, skal du begynde at tilføje alle de nødvendige objekter til depotet. I vores testtilfælde er objekterne, der skal tilføjes, som følger
- "Åbn mappe"-ikonet i Ansøgning om flyreservation
- Afkrydsningsfeltet "Ordre No" som kan hentes, når der klikkes på ikonet "Åbn mappe".
- WinEdit-boksen i ordrenummeret (hvor numrene er indtastet)
- OK-knappen
- Feltet "Navn", som er en WinEdit-boks. Dette felt vil blive udfyldt med et navn, når du klikker på OK-knappen for et bestemt ordrenummer.
Når alle de nødvendige objekter er blevet tilføjet, vil objektlageret fremstå som følger:
Trin 3) Skriv scripts baseret på testcasen
Før du kører scriptet, skal du sikre dig, at Excel-filen, der indeholder testdataene, er blevet gemt og lukket.
Nedenstående script er at læse ordrenummeret fra Excel og tildele det til applikationen gennem variabel "vOrder" og skrive kundenavnet fra applikationen gennem variabel "vName".
Excel navn: FlightDDF.xlsx
Arknavn: Ark1
Produktion
Når ovenstående script er kørt, kan outputtet hentes fra Excel som følger:
Det datadrevne rammeværk kan også udvikles ved at skrive beskrivende programmering.
Brug af database som en ekstern kilde til DDF
Den samme testcase kan udføres, hvis den eksterne kilde er en database ved at bruge følgende trin
- Skriv VBScript for at etablere databaseforbindelsen
- VBScript for at åbne et recordset eller en tabel.
- VBScript for at åbne det ønskede felt
- Den bestemte celle læses fra feltet.
Script
To Establish a Microsoft Database connection
Driver = {Microsoft Access Driver (*.mdb)}; DBQ =
Record sæt navn: OpenOrder
Feltnavn: Ordrenummer, kundenavn
PS: Microsoft Access 2010 kan ikke tilsluttes ved hjælp af nedenstående script.
Produktion
Fordele ved DDF
- Et stort antal testdata kan læses og skrives ind i den eksterne fil i en enkelt test
- Loop statement bruges til at gentage de samme trin i flere iterationer. Derfor reduceres kodningsindsatsen
- Da dataene læses og skrives direkte ind i den eksterne fil, er det ikke nødvendigt at kopiere, indsætte eller eksportere data for at bruge dem
- Testdata kan læses fra en ekstern fil, og output kan skrives ind i enhver anden ekstern fil
Ulemper ved DDF
- Scripting viden er nødvendig for at udvikle denne ramme
- Nogle gange kan antal eller kombinationer af data fra en ekstern kilde som Database bremse eller endda nedbryde QTP
Søgeordsdrevet rammeværk
Keyword Driven Framework er en ramme, hvor søgeord driver testen. Her nøgleord refererer til de brugerdefinerede funktioner. I denne ramme oprettes nøgleord for at udføre et bestemt testtrin eller en testcase. Disse nøgleord kaldes derefter ind i førertesten for at køre flere testcases i samme test.
For at vide om brugerdefinerede funktioner i QTP, besøg venligst link.
Overordnet set kan rammerne udvikles på tre måder for at køre på prøve.
- Optag og kør testen
- Tilføj objekter til det lokale lager og skriv scripts til alle testtrin
- Skriv beskrivende programmering for alle testtrin
I denne tutorial er KDF udviklet ved at optage og køre testen.
Vores mål er at køre en enkelt test for fem forskellige testcases såsom login på applikationen, indsætte en ordre, åbne en ordre, slette en ordre og lukke applikationen. Derfor vil vi registrere testtrinene for disse testcases og oprette funktionerne med henholdsvis nøgleord Login, InsertOrder, OpenOrder, DeleteOrder og CloseApp.
Test Case1: Log ind på applikationen
Søgeord: Log på ()
Optaget script:
Test Case2: Indsæt ordren
Søgeord:InsertOrder()
Optaget script:
Test Case3: Åbn ordren
Søgeord:OpenOrder()
Optaget script:
Test Case4: Slet ordren
Søgeord:DeleteOrder()
Optaget script:
Test Case5: Luk applikationen
Søgeord:LukApp()
Optaget script:
De funktioner, der oprettes til forskellige testcases, gemmes i et funktionsbibliotek og er knyttet til hovedtesten. Det er nok at kalde nøgleordene for de nødvendige testcases i hovedtesten og derved reducere størrelsen af driverscriptet i hovedtesten.
Driver-scriptet til denne enkle ramme ser ud som:
Ved at køre ovenstående script kan det faktiske resultat for alle de fem testcases fås fra en enkelt test.
Fordele
- Et hvilket som helst antal testcases kan køres på en enkelt test blot ved at kalde deres respektive søgeord
- At skrive generel beskrivende programmering for alle web-/ windows-objekter og kalde dem som nøgleord vil hjælpe med at køre den samme test for forskellige dynamiske applikationer
- Reducerer størrelsen af driverscriptet
Ulemper
- Tiden det tager at udvikle disse rammer er meget høj, hvis der er meget få antal testcases at køre
- Registrering af trinene bruges ikke altid, når man designer KDF til mange applikationer på samme test.
Hybrid rammeværk
Et hybrid framework er en kombination af Data Driven Framework (DDF) og Keyword Driven Framework (KDF), hvor flere testcases med flere input kan udføres i samme test.
I denne artikel vil de samme testcases, som bruges i KDF, blive udført i en enkelt test. Nøgleord og scripts for alle testcases er de samme som i KDF. Men TC3: Åbn ordren er blevet parametreret. Derfor er scriptet til denne testcase skrevet for at modtage ordrenummeret fra en Excel-fil og for at skrive kundenavnet i excel-filen
Test Case1: Log ind på applikationen
Søgeord: Log på ()
Test Case2: Indsæt ordren
Søgeord:InsertOrder()
Test Case3: Åbn ordren for flere ordrenumre
Søgeord:OpenOrder()
Description: Her bruges det samme script som bruges til at udvikle en DDF, hvorved man opnår testcasen for flere iterationer.
script:
Test Case4: Slet ordren
Søgeord:DeleteOrder()
Test Case5: Luk applikationen
Søgeord:LukApp()
Ved at følge denne simple metode opnås parametreringen af TC3. Hvis det er relevant, kan alle de andre testcases også parametreres i samme test.
For eksempel er en meget enkel måde at designe et hybridt rammeværk på. Den samme ramme kan også opnås med beskrivende programmering.
Fordele
- Den tid, det tager at køre testen designet med et hybrid-framework, er relativt kortere sammenlignet med andre frameworks
- Dette kan bruges, når vi har brug for alle de testcases og input, der er knyttet til en bestemt testcase, i samme testsuite.
Ulempe
- Klar viden om at kombinere forskellige rammer er påkrævet.