Hur utvecklar jag ett testautomatiseringsramverk från grunden?

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.



Testa automatiseringsramen

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:

  • För att snabbt kunna skapa automatiska tester med hjälp av lämpliga abstraktionslager
  • Ramverket bör ha en meningsfull loggnings- och rapporteringsstruktur
  • Bör vara lätt att underhålla och förlängas
  • Bör vara tillräckligt enkelt för testare att skriva automatiserade tester
  • En försökningsmekanism för att köra igen misslyckade tester - detta är särskilt användbart för WebDriver UI-tester

I denna handledning kommer jag att använda:

  • Java som programmeringsspråk
  • TestNG som påstående ram
  • Maven som byggverktyget
  • WebDriver som webbläsarens automatiseringsverktyg
  • IntelliJ som IDE

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 för att skapa ett testautomatiseringsramverk från grunden


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

Lägg till beroenden

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: