QTP Linear Framework-komplett referens med exempel-XX-XX

i föregående artikel diskuterade vi vad ett testautomatiseringsramverk handlar om och gav också en kort översikt över olika QTP-ramtyper som du kan använda när du skriver. Från och med den här artikeln kommer vi att täcka var och en av QTP-ramtyperna i detalj.
i den här artikeln kommer vi att täcka följande aspekter av QTP Linear Framework–

  • a) Vad är QTP: s linjära ramverk.
  • b) vilka är de komponenter som utgör det linjära ramverket.
  • c) Hur man skriver skript i QTP: s linjära ramverk.
  • d) fördelar och nackdelar med det linjära ramverket.

uppdateringar

1) Du är fri att ladda ner och leka med koden som används för detta ramverk. Nedladdningslänken finns i slutet av artikeln.

2) precis som detta har vi skrivit fler artiklar om olika andra QTP-ramar. Om du vill ta en titt på dem, besök QTP Framework huvudsida. Längst ner på sidan finns länkar till andra QTP-ramverk.

låt oss diskutera var och en av dessa punkter en efter en.

vad är QTP Linear Framework approach?

linjärt ramverk är inget annat än att skriva alla steg i din handling efter varandra i en linjär form. Detta tillvägagångssätt kallas också linjär skript. I detta tillvägagångssätt kommer hela ditt testfallflöde att skrivas i QTP på ett linjärt sätt.

Tänk på ett exempel där du har ett testfall för att logga in på applikationen, söka efter vissa data och sedan logga ut. I linjär ram skulle koden se ut som något som visas nedan.

'Code to Open Application'Code to enter user name in Login Page'Code to enter password'Click on Login button and verify successful Login'Search for the required data'Logout from the application'Close the application

som du kan se i exemplet ovan gör du inte mycket när det gäller ramskapande med denna typ av QTP-ramverk. Därför är detta det enklaste ramverket att använda och implementera. Den normala posten och uppspelningen som vi gör med QTP faller under denna ram.

Låt oss nu se några fördelar och nackdelar med QTP Linear Framework. Detta skulle hjälpa dig att analysera positiva och brister i detta ramverk och därmed hjälpa till att bestämma de situationer där detta ramverk kan användas.

QTP Linear Framework-fördelar och nackdelar

fördelar

  • A) mycket lite automatiseringskompetens krävs. Endast verktygskunskapen är nödvändig för att skapa skript.
  • b) Detta är det snabbaste sättet att skapa skript.
  • c) eftersom ramverket inte är komplext blir det mycket lätt att förstå flödet.

nackdelar

  • a) eftersom koden är skriven på linjärt sätt utan användning av några funktioner finns det mycket lite utrymme för återanvändning.
  • b) det enda sättet att återanvända koden är att kopiera klistra in den där det behövs. Därför kommer du att ha samma kod som skrivs på flera platser. Att upprätthålla denna kod är mycket tidskrävande och felbenägen eftersom du måste göra ändringar på alla drabbade platser.
  • c) i detta ramverk är testdata hårdkodade i skriptet. Så du kan inte använda samma kod för att testa flera uppsättningar data. Antingen måste du ändra data efter varje körning eller så måste du skapa flera kopior av koden för att testa olika data. Båda dessa metoder är ineffektiva.

var ska man använda QTP Linear Framework?

från ovanstående avsnitt kan du tydligt se att nackdelarna med denna ram uppväger fördelarna. Re-usabilty och underhåll är några av de viktigaste faktorerna som man tittar på när man skapar ett automatiseringsramverk. På grund av denna anledning skulle du sällan hitta linjära ramar som används i några verkliga projekt.

eftersom du inte kan använda den i komplexa verkliga automatiseringsprojekt, betyder det att denna ram inte är till nytta alls? Samt.. inte direkt. Du kan använda denna ram för de uppgifter där du vill avsluta arbetet snabbt. Detta kan också användas för att stödja manuell testning.

Tänk på denna situation. Antag att du testar en applikation där du måste skapa många beställningar. Att skapa dessa uppgifter är nu en lång och tidskrävande process. Vad du kan göra här är att bara spela in orderskapningsflödet och köra skriptet för att skapa order. Du kan köra skriptet när du går ut för lunch och när du är tillbaka, du skulle ha dina beställningar redo :- )

du kan också använda den för många andra repeterbara uppgifter som att kontrollera dina GMail-konton för nya e-postmeddelanden när du startar din maskin, fylla i tidrapporter etc. Möjligheterna är oändliga!!

komponenter i QTP Linear Framework

eftersom detta ramverk är ganska enkelt och enkelt finns det inte många komponenter som vanligtvis är associerade med det. Figuren nedan listar de typiska komponenter som används med detta ramverk.

QTP linjär Ramkonstruktion

1) testskript: Även om du inte skulle automatisera många testfall med detta tillvägagångssätt, oavsett scenarier du har med dig, kan du klubba dem i en eller flera QTP-test.

2) Object Repository: om du använder record och uppspelningsmetod för att skapa testskript, skulle du ha object repository genereras automatiskt för dig. Om det behövs kan du göra några ändringar i objektegenskaperna i förvaret. Du kan använda beskrivande programmeringskoncept och därmed hoppa över objektförvaret helt och hållet.

du kan också använda några ytterligare komponenter som ett drivrutinsskript om du vill schemalägga tiden då testfallen ska köras.

exempel på QTP Linear Framework

vi kommer nu att skapa ett skript i QTP Linear Framework som skulle öppna GMail och hämta antalet e-postmeddelanden som tas emot i din inkorg idag. Med hjälp av QTP: s AOM skapar vi också ett drivrutinsskript som hjälper oss att schemalägga exekveringstiden för detta testfall.

kod för att kontrollera inkorgen för e-post som mottagits idag

Dim iTodayMailsiTodayMails = 0'Open GMailSystemUtil.Run "iexplore.exe", "http://www.gmail.com"'Page SyncBrowser("Gmail").Page("Gmail").Sync'Login to GmailBrowser("Gmail").Page("Gmail").WebEdit("UserName").Set "valid gmail login id"Browser("Gmail").Page("Gmail").WebEdit("Password").Set "valid gmail password"Browser("Gmail").Page("Gmail").WebButton("SignIn").Click'Page SyncBrowser("Inbox").Page("Inbox").Sync'Search for emails received today in your inbox'Logic - The mails received today will have only time in the last(8th) column.'Time is always followed by am or pm. So the code check for the last 2 characters and matches it with am or pm.For iR = 1 to 50sLastColumnText = Browser("Inbox").Page("Inbox").Frame("Frame").WebTable("Emails").GetCellData(iR,8)sLast2Characters = Right(sLastColumnText, 2)If sLast2Characters = "am" or sLast2Characters = "pm" TheniTodayMails = iTodayMails + 1Else'Exit ForEnd IfNext'Report the number of mails received todayReporter.ReportEvent micPass, "Total Emails Received Today - " & iTodayMails, ""'Sign out from GMailBrowser("Inbox").Page("Inbox").Frame("Frame").Link("SignOut").ClickBrowser("Gmail").Page("Gmail").Sync'Close the browserBrowser("Gmail").Close()

Driver Script skapas med QTP aom

Dim testCasePath, resultPathtestCasePath = "D:\QTP\QTP Framework Samples\QTP Linear Framework Demo\GMail Inbox1"resultPath = "D:\QTP\QTP Framework Samples\QTP Linear Framework Demo\Result"'Open QTPSet qtpApp = CreateObject("QuickTest.Application")'If QTP is not open then open QTP applicationIf qtpApp.launched <> True ThenqtpApp.LaunchEnd If'Make the QuickTest application visibleqtpApp.Visible = True'Set QuickTest run optionsqtpApp.Options.Run.ImageCaptureForTestResults = "OnError"qtpApp.Options.Run.RunMode = "Fast"qtpApp.Options.Run.ViewResults = True'Open the test in read-only modeqtpApp.Open testCasePath, TrueWScript.Sleep 2000'set run settings for the testiSet qtpTest = qtpApp.Test'Instruct QuickTest to perform next step when error occursqtpTest.Settings.Run.OnError = "NextStep"'Create the Run Results Options objectSet qtpResult = CreateObject("QuickTest.RunResultsOptions")'Set the results locationqtpResult.ResultsLocation = resultPath'Run the testWScript.Sleep 3000qtpTest.Run qtpResult

du kan lägga till denna DriverScript-kod i Windows Start-up eller schemalägga det via Windows Schemaläggaren om du vill schemalägga testfallet körs vid en viss tidpunkt på en dag eller vill köra testfallet när du startar ditt system.

Leave a Reply