qtp tutorial 18 data driven
Vi jobbar oss genom att ta reda på hur vi kan härleda till en Automationsramverk som fungerar bäst för ett visst testprojekt och definierar också vissa ramar som redan finns.
Exemplet som vi använde i tidigare QTP-ramartikel skapade ett nytt Gmail-konto.
Till att börja med kodade vi skapandet av ett nytt kontoscenario bara genom att spela in och spela upp linjärt. När vi såg hur det saknade modulering, läsbarhet och återanvändbarhet delade vi in det i funktioner som skulle refereras till som nyckelord framåt.
=> Klicka här för QTP Training Tutorials Series
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 värden utan att behöva ändra själva skriptet.
Det är precis vad vi kommer att uppnå med data som styr testerna.
Vad du kommer att lära dig:
Datadriven automatiseringsram med QTP
Att skapa flera Google-användarkonton är den uppgift vi ska försöka utföra med hjälp av detta ramverk.
I exemplet tidigare har vi hårdkodat förnamnet, efternamnet, användar-id-informationen etc. i vår kod när vi försöker skapa ett konto. Vi måste separera koden från data om vi måste uppnå datadrivningsaspekten för detta skript.
Data ska komma från en källa som inte är själva programmet.
Datainmatningen kan vanligtvis vara vad som helst:
- MS Excel-filer
- Databas
- Textfiler
- XML-filer ... osv.
Excel-filer är de som ofta används. Det faktum att varje åtgärd i QTP levereras integrerat med ett eget datablad förklarar varför det är så.
bästa skärmdump-appen för Windows 10
Du kan använda en eller flera datakällor för ett enda skript. Excel-arket som medföljer åtgärden kan användas eller så kan du också använda ett externt excel-ark. I grund och botten kan ett datablad vara vilken relevant extern fil som helst.
Till exempel,
Det här är koden som vi behöver för datadrivning:
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 just nu är hårdkodad. 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:
Välj parameteralternativ, 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 (globalt ark ä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 behålla den eller ändra den.
När du klickar på OK skapas en ny kolumn i datatabellen.
Så här ser databladet som innehåller tre uppsättningar av förnamn, efternamn och konto-ID ut:
När parametern är parametrerad ser den 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)
Om vi måste skapa dessa 3 användar-ID med data i arken, måste vi ha tre 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 (klicka på bilden för att förstora)
bästa programmet för att dölja IP-adress
I ovanstående skärm ställer du iterationsegenskaperna efter behov.
Alternativt kan du instruera QTP om iterationerna programmatiskt. Som alltid tillåter detta mer kontroll och också fler programmeringsfärdigheter. Så det är verkligen upp till testarens komfortnivå att välja någon av dessa metoder.
Komponenterna i ett datadrivet ramverk är:
- Testmanus
- Data filer
- Delat funktionellt bibliotek (om det finns eller kan vara ett linjärt program)
- Objektförvar (återigen kommer denna komponent inte att finnas om beskrivande programmering användes för att skapa objekt)
Testresultaten visar statusen “Godkänd” eller “Misslyckad” för varje testkörning.
Förutom datatabellen som standard kan vi använda vilken extern excel-fil som helst som inmatningsark.
Hybridramverk
I exemplet ovan använde du nyckelord (namn på funktionerna som användaren har skapat) och har datadrivit 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 har diskuterat hittills är en hybridram.
Enligt min erfarenhet fungerar ingen ram effektivt för ett visst projekt. Hybridramverket är det som ofta används.
Få viktiga punkter om ramar:
- Ramverket är bara en lösning som fungerade bäst i en viss situation men inte bör tolkas som en uppsättning regler som definitivt ska följas. Det bör ses som mer som riktlinjer.
- Det kan finnas många andra ramar som används, vi har bara listat och förklarat de vanliga
- Nomenklatur - Olika människor 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 av ramarna kan användas tillsammans med varandra när någon av dem inte kan ge en allsidig lösning på dina testmål.
Slutsats
För enkel förståelse har vi verkligen förenklat begreppen i ramverket här. Låt oss veta om du har några ramrelaterade problem som du står inför och som inte omfattas av dessa artiklar. Vi kommer absolut att försöka svara på dina frågor. Skicka gärna dina frågor.
=> Besök här för QTP Training Tutorials Series
Rekommenderad läsning
- QTP Frameworks - Test Automation Frameworks - Keyword Driven and Linear Framework Exempel - QTP Tutorial # 17
- Hur datadriven testning fungerar (exempel på QTP och selen)
- Datadriven ram i Selen WebDriver med hjälp av Apache POI
- Datadriven eller parametrerad testning med Spock Framework
- Hur man utför datadriven testning med TestComplete-verktyget
- QTP-handledningar - 25+ Micro Focus Quick Test Professional (QTP) -träningsövningar
- Data Mining: Process, Techniques & Major Issues In Data Analysis
- Parameterisering i QTP förklarad med exempel (del 1) - QTP-handledning nr 19