qtp tutorial 21 how make qtp tests modular
QTP-åtgärder och åtgärdsegenskaper
Åtgärder delar upp ett test i logiska enheter. Detta hjälper till i mycket läsbara tester och ser till att modularitet uppnås.
Det finns tre typer av QTP-åtgärder:
- Återanvändbar - endast dessa kan anropas flera gånger inom samma eller olika tester
- Ej återanvändbar - Dessa kan inte kallas av andra åtgärder
- Externa åtgärder - en återanvändbar åtgärd när den anropas från en annan handling blir en extern åtgärd i den kallade åtgärden.
=> Klicka här för QTP Training Tutorials Series
Vad du kommer att lära dig:
Hur använder jag QTP-åtgärder i tester?
# 1) Som standard kan alla nya åtgärder återanvändas
#två) Varje åtgärd har sitt eget ”Action” -datablad eller ett lokalt ark
# 3) Anrop till en befintlig åtgärd i ett annat test kan infogas med hjälp av menyalternativet: “ Infoga-> Ring till en befintlig åtgärd-> (Välj test / åtgärd) ”
# 4) Uttalandet eller åtgärdsanropet som införts i det aktuella testet kommer att vara följande:
RunAction “Action2(Testname)”, oneiteration
# 5) Åtgärden anropas så många gånger som den åtgärd som kallas egenskaper anges för den överordnade åtgärden.
Till exempel,
Action2 är en återanvändbar åtgärd i Test2. Det kallas för varje iteration i datatabellen i Test2.
Action1 är den åtgärd som kallar Action2 i Test1.
Action1 körs bara en gång.
Sedan körs Action2 bara en gång oavsett hur många gånger det anropades i Test2.
# 6) En tidigare återanvändbar åtgärd kan ändras så att den inte kan användas och tvärtom.
# 7) När en tidigare återanvändbar åtgärd markeras som icke-återanvändbar misslyckas testet som anropar åtgärden och ett varningsmeddelande visas för användaren.
# 8) Vi har sett i föregående artikel hur parametrar kan skickas 'Till' och 'Från' åtgärder. För att definiera dessa kan du göra något av följande:
- Välj åtgärden från nyckelordsvyn, högerklicka och välj åtgärdsegenskaper.
- När du är i åtgärden i expertvyn, välj Redigera-> Åtgärd Egenskaper från menyn.
# 9) Dialogrutan visas med Allmänt (namn, beskrivning, återanvändbar eller inte), Parametrar (i / p eller o / p), associerade arkiv (kan associera en annan åtgärds OR) och används av flikar
# 10) För att skicka parametrar till en åtgärd är den allmänna syntaxen:
RunAction “Action Name”. Oneiteration, i/p parameters, o/p parameters
Följande är några av de sätt på vilka du kan använda utgångsvärdet för en åtgärd i ditt test beroende på ditt krav:
vad är kvalitetssäkring och kvalitetskontroll
till) Action o / p-värde (värde som returneras av en kallad åtgärd) kan lagras i en variabel.
RunAction “Action1”,OneIteration, i/pvalues, x, x being the variable
b) Action o / p-värde kan lagras i en miljövariabel.
För att skapa en miljövariabel, välj “File-> Settings-> Environment tab”, välj användardefinierad i rullgardinsmenyn 'Variable Type' och klicka på + och 'Add new environment Parameter' - ange namnet (env_Var) värde och klicka på OK.
För att tilldela o / p-värdet till denna variabel,
RunAction “Action1”,OneIteration, i/pvalues, Environment(“env_var”)
c) Action o / p-värde kan lagras i en datatabellkolumn.
RunAction “Action1”, OneIteration, i/pvalue, DataTable(“A”, dtGlobalsheet)
QTP-funktioner och funktionsbibliotek
Även om det finns många inbyggda funktioner tillgängliga i QTP för testaren, kan det fortfarande finnas tillfällen när du kanske vill utföra en specifik operation och göra dessa steg återanvändbara. Du kan göra det genom att skapa användardefinierade funktioner, placera dem i en separat fil, associera den med testet och få funktionsnamnet att fungera som ett nyckelord för just det testet.
Så per definition är en funktion ingenting annat än en kod som utför en viss uppgift.
Låt oss skapa ett funktionsbibliotek nu:
Använd menyalternativet “ Arkiv-> Nytt-> Funktionsbibliotek ”Eller” Skift + Alt + N ”eller klicka på rullgardinsalternativet“ Ny ”i menyn och välj“ Funktionsbibliotek ”
QTP öppnar en redaktör, som liknar nyckelordsvyn i ett test. Här kan du skriva din kod. Jag ska inkludera uttalanden som loggar in en användare på gmail.com-sidan.
Function gmailLogin(uname, pwd) SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set uname Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure pwd Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click End Function
När du är klar med att skriva koden, 'Spara' funktionsbiblioteket genom att välja önskat namn och plats på din dator.
Notera: Ett funktionsbibliotek ingår inte automatiskt i några av dina tester. Du kommer att behöva göra det uttryckligen.
Följande är stegen för att associera ett funktionsbibliotek till ditt test:
Steg 1) Öppna ditt test eller skapa ett nytt test
Steg 2) Beroende på inställningarna på din IDE kan du ha resursfönstret redan tillgängligt för dig. Om inte väljer menyalternativet “ Visa-> Resurser ”Och detta visar rutan.
Steg 3) Högerklicka på 'Associeringsfunktionsbibliotek', klicka på alternativet 'Associeringsfunktionsbibliotek' och välj den biblioteksfil du skapade tidigare.
Steg 4) Det kommer att finnas ett meddelande som ber om testarens bekräftelse innan du konverterar banan till en relativ sökväg. Detta görs för att säkerställa att testet inte misslyckas om filerna flyttas så länge som samma hierarki följs. Klicka på ja i den här dialogrutan:
Steg # 5) Det kommer att visas under denna nod nu och det är så du verifierar om din association har fungerat eller inte.
Steg # 6) När du har associerat biblioteket, se till att du sparar ditt test.
Från och med nu om det finns ett uttalande i mitt test som är som följer, kommer det att anropa funktionen i biblioteket och utföra stegen där inne.
gmailLogin(“swatiseela”,”akihad989080890”)
I ovanstående uttalande skickar du ett konstant användarnamn och lösenord. Men om du väljer kan du också skicka värdena från datatabellen.
gmailLogin(DataTable('SignInName', dtGlobalSheet), DataTable('GPassword', dtGlobalSheet))
Du kan ha mer än en funktion i dina biblioteksfiler och du kan ha mer än en biblioteksfil associerad med ditt test.
Slutsats
Detta avslutar våra funktionsbibliotek och åtgärder. Dessa två ämnen är avgörande för en testare eftersom de gör alla dina tester mer modulära och återanvändbara.
Nästa ämne kommer att vara på Objektförvar (OR) . Vi kommer att diskutera hur man skapar, associerar och arbetar med delade ORs och OR-chefer.
bästa virtual reality-headsetet för Xbox One
=> Besök här för QTP Training Tutorials Series
Skicka gärna dina frågor och kommentarer.
Rekommenderad läsning
- Parameterisering i QTP (del 2) - QTP-handledning nr 20
- Parameterisering i QTP förklarad med exempel (del 1) - QTP-handledning nr 19
- QTP-handledning nr 14 - Så här lägger du till bitmap- och textkontroller i QTP-tester
- QTP-självstudier - 25+ Micro Focus Quick Test Professional (QTP) -träningsövningar
- QTP-handledning # 18 - Datadrivna och hybridramar förklarade med QTP-exempel
- QTP-handledning # 24 - Använda virtuella objekt och återställningsscenarier i QTP-tester
- QTP-handledning # 10 - Skriva slinga och villkorliga uttalanden - VB Script Grunder Del 2
- Pythons huvudfunktionshandledning med praktiska exempel