I den här steg-för-steg-guiden kommer jag att beskriva hur man utvecklar ett modulärt testautomatiseringsramverk från grunden med Java, Selen, TestNG och Maven.
Till att börja med ska vi se vad ett testautomatiseringsramverk är och vad är fördelarna med att skapa ett.
Vad är syftet med ett testautomatiseringsramverk? Vilka utmaningar löser det för utvecklingsteamet?
I agil utveckling kanske du inte har tillräckligt med tid för att automatisera dina nya funktioner i tid, så du kan skapa automatiska skript och duplicera mycket kod på många ställen.
Refactoring-kod är en inneboende del av mjukvaruutveckling för att undvika att bygga upp en enorm teknisk skuld. Detta gäller även testautomation; genom att omorganisera dina automatiska skript kommer du att förbättra läsbarheten och underhållet på lång sikt.
I denna handledning för testautomatiseringsramverk är slutprodukten ett resultat av många refaktorer över tiden. Uppenbarligen är kontinuerlig förbättring avgörande om vi ska få en bra avkastning på testautomatisering.
När vi skapar ett testautomatiseringsramverk bör vi överväga följande huvudpunkter:
I denna handledning kommer jag att använda:
Denna handledning för testautomatiseringsramverk är uppdelad i två delar:
Del 1: Skapa basprojekt och moduler och beroenden
Del 2: Lägga till koden
I del 1 av denna handledning antar jag att du redan har Java och Maven installerade på din maskin.
Steg # 1 - Skapa nytt maven-projekt
Öppna IntelliJ IDE och välj Nytt projekt från menyn. Du får sedan en skärm för att välja vilken typ av projekt du är intresserad av.
Steg # 2 - Ge ditt projekt ett namn
Välj Maven som projekttyp. Ange ett namn för GroupId och ArtifatId - Jag har bestämt mig för att namnge detta Test Automation Framework, Rima.
Steg 3 - Välj plats för ditt projekt
Välj nu ett namn för ditt projekt och välj en katalog för din arbetsyta
Steg # 4 - Basprojekt skapas
Du har nu skapat ett basprojekt. Vi kan börja skapa maven-moduler i detta projekt för att organisera strukturen i vårt testautomatiseringsramverk.
Och så ser vår pom.xml ut
Eftersom detta kommer att bli vårt basprojekt med föräldern pom.xml har vi ingen kod i det här projektet. Istället skapar vi maven-moduler för olika delar av Test Automation Framework. Fortsätt och ta bort src mapp.
Steg # 5 - Skapa olika moduler
Nu är vi i stånd att skapa olika maven-moduler för vårt ramverk. Vi skapar följande moduler:
rima-ramverk - den här modulen innehåller alla relaterade klasser och metoder för att underlätta skapandet av automatiserade tester.
rima-domän - den här modulen innehåller domänspecifika språkklasser (DSL).
rima-sida-objekt - som namnet antyder innehåller den här modulen sidobjekten.
rima-regressionstest - och slutligen våra automatiserade regressionstester.
Vi börjar med att skapa rima-ramverk modul. Välj detta för att göra detta Arkiv> Ny> Modul
Välj Maven-modul och klicka på Nästa
I nästa skärm kan du ge artefaktId för modulen du skapar, i det här fallet rima-ramverk
Observera modermodulen och groupId som Rima och klicka på Nästa där vi kan ge namnet på modulen och klicka på Slutför.
En gång rima-ramverk modulen skapas ska den se ut så här
Vi kan sedan fortsätta skapa resten av modulerna på samma sätt. När vi väl har skapat alla moduler ska vårt projekt se ut nedan
Och slutligen har alla moduler lagts till roten pom.xml
Därefter måste vi lägga till beroenden mellan modulerna i ramverket samt lägga till biblioteken och andra maven-projekt som vårt testautomatiseringsramverk är beroende av.
Jag har lagt till beroenden i pom.xml-filerna. Du kan titta på pom.xml-filerna i min GitHub-repo:
https://github.com/AmirGhahrai/Rima
I del 2 av denna handledning kommer vi att gå igenom den faktiska Test Automation Framework-koden skriven i Java, WebDriver och TestNG.
Och här är länken till del 2 i denna handledning:
Page Object Model Framework med Java och WebDriver
Vidare läsning: