Maven är det senaste byggtestverktyget. Den har flera nya funktioner jämfört med Ant, som beroende, etc.
Maven är ett verktyg för projektuppbyggnad eller projektledning. Det används för att kontrollera kompileringsproblemen mellan ramkomponenter när flera testingenjörer integrerar sina filer i samma ramverk.
Den har alltid underhållit övervakaren, ramverkskomponenterna eller byggnaden, och den tillhandahåller modifiering av byggstatus närhelst ändring sker i ramverket.
Det ger ' bygga framgång ' meddelande om inga kompileringsproblem i ramverket eller på annat sätt tillhandahålla' bygga misslyckande ' meddelande.
Maven har nya funktioner som dependency, som används för att ladda ner dependency jar från internet innan testkörningen.
Med hjälp av Maven kan vi köra testskripten på kommandoraden utan en förmörkelse. Och det ger alltid rammappstrukturen.
För mer information om Maven, se länken nedan:
https://www.javatpoint.com/maven-tutorial
Det finns två programvaror tillgängliga i Maven:
Maven Eclipse plug-in
Det är ett standardinsticksprogram för de senaste Eclipse-versionerna som Mars, Luna, oxygen, som används för att skapa ett Maven-projekt genom Eclipse.
Installera Maven plug-in för Eclipse och använd den med Selenium TestNG
För det mesta installeras Maven-plugin-programmet automatiskt i Eclipse, men om det inte finns kommer vi att gå till Eclipse Market Place och sök efter Maven och ladda ner M2E integrerad version därifrån.
Steg för att skapa Maven-projekt
För att skapa ett Maven-projekt, följ stegen nedan:
- Gå till Arkiv → Nytt → Projekt
- Expandera sedan Maven mapp och välj Maven-projektet alternativ och klicka på Nästa
- Klicka igen på Nästa knappen för den fortsatta processen.
- Klicka på Nästa knappen utan att göra något.
- Efter att ha klickat på knappen Nästa kommer vi att tillhandahålla Grupp-ID och Artefakt-ID i vårt fall, och vi kommer att ge grupp-id som MavenProject och Artifact ID as MavenProject , och klicka på Avsluta knappen som vi kan se i skärmdumpen nedan:
- När vi är klara med att skapa Maven-projektet, vår Maven mappstruktur kommer se ut så här:
Maven kommandorads plug-in
Det används för att köra Selenium-testskriptet i kommandotolken utan en Eclipse, och denna programvara bör installeras explicit.
Installationssteg för Maven kommandorads plug-in
Följ stegen nedan för att installera Maven kommandoradsplugin:
Obs: Innan vi startar installationsprocessen av Maven kommer vi att se till att Java är installerat och att miljövariabeln också är inställd.
Steg 1: Ladda ner Apache Maven
- Gå först till Google sök efter Maven ladda ner och klicka på den första länken, som vi kan se i skärmdumpen nedan:
- När vi klickar på länken kommer den att navigera till Maven-communityt. Och förutom Binärt zip-arkiv, klicka på den givna länken, som vi kan se i skärmdumpen nedan:
- Ladda ner zip-mappen, och sedan packa upp mappen och placera den i C-drev , och kopiera platsen för mappen.
Steg 2: Lägg till M2_Home i systemvariabeln
- När vi har kopierat platsen går vi till Miljövariabler fönstret och klicka på Ny knappen på Systemvariabel avsnitt, som vi kan se i bilden nedan:
- Efter det kommer vi att tillhandahålla Variabelnamn och Variabelt värde , och klicka på OK
Steg 3: Lägg till %M2_Home%in till sökvägen
- När vi har skapat systemvariabeln M2_Home kommer vi att hitta Väg variabel och klicka på Redigera knappen, som vi kan se i skärmdumpen nedan:
- De Fönstret Redigera variabel visas på skärmen, sedan klickar vi på Ny knapp och %M2_Hem%in värde och klicka på OK
Steg 4: Verifiera
- Efter att ha ställt in miljövariablerna kommer vi att kontrollera om Maven har installerats framgångsrikt eller inte.
- För detta öppnar vi kommandotolken och skriver kommandot nedan:
mvn- version
- Och vi kan se i skärmdumpen ovan att Apache Maven har installerats framgångsrikt.
Hur man hanterar eller laddar ner beroende Jar med Maven
Innan vi börjar skriva en Maven-kod måste vi lägga till de allmänna beroenden som TestNG och Selen i filen pom.xml.
Så för detta kommer vi att följa nedanstående process:
diskret matematik negation
- Automatiskt får vi Pom.xml-filen inom samma projekt.
- För att ladda ner dependency jar för TestNG och Selen , bör vi skriva en beroendekod för alla verktyg i Pom.xml-filen.
- För att få beroendekoden, gå till Google-sökningen och skriv ' TestNG Maven beroende ', och klicka på den angivna länken.
- Och kopiera beroendekoden för TestNG och klistra in i filen pom.xml.
- I den omfattning sektion, ändra värdet från testa till sammanställa och slutlig beroendekod kommer att se ut så här:
org.testng testng 6.8 compile
Sedan kommer vi att lägga till Maven-beroendet för Selen, så för detta kommer vi att följa samma process som tidigare:
- Gå till Google och sök efter ' Maven selenberoende ' och klicka på den givna länken som vi kan se i skärmdumpen nedan:
- Och kopiera beroendekoden från länken och klistra in i xml fil.
- Efter att ha lagt till beroendekoden för TestNG och selen , kommer filen Pom.xml att se ut så här:
org.testng testng 6.8 compile org.seleniumhq.selenium selenium-java 3.141.59
- Tryck sedan på ctrl+s för att spara filen pom.xml.
- När vi är klara med att lägga till med beroenden kan vi se att alla jars-filer har lagts till i Maven beroenden mapp under MavenProject .
Kör Selenium-kod genom Maven och TestNG
- Vi kommer att skriva ett exempel på testfall, med hjälp av @Test, @BeforeTest och @AfterTest TestNG-anteckningar.
- Först kommer vi att lansera Google Chrome
- Navigera sedan till javatpoint-webbplatsen.
- Och få den aktuella sidans URL och titel på webbplatsen med hjälp av getTitle() , getCurrentURL()
Notera
getTitle(): Denna metod används för att fånga sidans titel.
getCurrentURL(): Den används för att fånga sidans aktuella URL.
För att köra ovanstående testskript kommer vi att skapa ett paket i MavenProject.
- För att skapa ett paket i MavenProject, högerklickar vi på src/test/java → Nytt → Paket
- Efter det kommer vi att ange namnet på paketet som ' testpaket ', och klicka på Avsluta knappen som vi kan se i skärmdumpen nedan:
- Efter att ha skapat ett paket kommer vi att skapa en klass.
För att skapa en klass i MavenProject, följ processen nedan:
- Högerklicka på det nyskapade paketet och välj Ny välj sedan Klass från den givna listan som vi kan se i skärmdumpen nedan:
testpaket → Nytt → Klass
- Och ange namnet på klassen som ' MavenTest1 ' och klicka på Avsluta
Efter att ha skapat paketet och klassen kommer vi att börja skriva koden.
Enligt vårt kodkrav kommer vi att lägga till flera beroenden.
Efter att ha lagt till beroenden ser vår pom.xml-fil ut så här:
junit junit 3.8.1 test org.testng testng 6.8 compile com.google.inject guice 4.1.0 no_aop org.seleniumhq.selenium selenium-java 3.141.59 org.seleniumhq.selenium selenium-chrome-driver 2.50.0 com.google.guava guava 22.0 com.google.api-client google-api-client-appengine 1.23.0 com.google.guava guava-jdk5 com.google.code.gson gson 2.2.4
Och här är exempelkoden:
package testpackage; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; public class MavenTest1 { public String baseUrl = 'https://www.javatpoint.com/'; String driverPath = 'C://chromedriver_win321//chromedriver.exe'; public WebDriver driver ; @Test public void test() { // set the system property for Chrome driver System.setProperty('webdriver.chrome.driver', driverPath); // Create driver object for CHROME browser driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.get(baseUrl); // get the current URL of the page String URL= driver.getCurrentUrl(); System.out.print(URL); //get the title of the page String title = driver.getTitle(); System.out.println(title); } @BeforeTest public void beforeTest() { System.out.println('before test'); } @AfterTest public void afterTest() { driver.quit(); System.out.println('after test'); } }
Kör koden
Vi kan köra ovanstående kod på flera sätt:
Kör genom TestNG
Om vi kör ovanstående kod med TestNG kommer vi att följa nedanstående process:
- Högerklicka på java fil och välj Kör som → 1 TestNG-test som vi kan se i bilden nedan:
- Efter att ha kört koden framgångsrikt kommer den att ge följande utdata:
- Och det kommer att starta webbläsaren i konsolfönstret som vi kan se i skärmdumpen nedan:
Kör genom Maven
För att köra samma kod genom Maven, följ stegen nedan:
Först måste vi konvertera MavenTest1.java fil i TestNG Fil, för detta följ processen nedan:
- Högerklicka på java fil och välj TestNG och välj sedan Konvertera till TestNG alternativ i den givna listan.
- När vi väl har valt Konvertera till TestNG alternativ kommer det att öppna fönstret nedan, och efter det klickar vi på Avsluta
- Och den konverterade TestNG-filen kommer att se ut så här:
Efter det kommer vi att köra testng.xml fil, så för detta måste vi lägga till Maven Plugins i pom.xml filer.
Så vi kommer att lägga till de tre olika plugins, som är följande:
Notera:
De Maven kompilator plugin används för att kompilera källkoden för ett Maven-projekt. Mavens testkommando kommer att ansluta till internet och ladda ner all beroendeförråd till .M2-mappens lokala arkiv och sedan kompilera hela selenkällkoden som vi kan se i bilden nedan:
arv i c++
De Maven surefire plugin används när vi ska köra enhetstesten av applikationen.
De Maven source plugin används för att bygga jars-filerna som hade .java källfiler.
Efter att ha lagt till alla plugins ser vår pom.xml ut så här:
org.apache.maven.plugins maven-compiler-plugin 3.1 1.6 1.6 org.apache.maven.plugins maven-surefire-plugin 2.19.1 C:UsersJTPeclipse-workspaceMavenProject estng.xml org.apache.maven.plugins maven-source-plugin attach-sources jar
- Spara filen pom.xml och kör koden.
- För att köra ovanstående kod, högerklicka på MavenProject → Kör som → Maven Test som vi kan se i bilden nedan:
- När alla testfall är godkända och Build körs framgångsrikt kommer det att ge följande utdata:
- Och det kommer att starta webbläsaren i konsolfönstret som vi kan se i skärmdumpen nedan:
Kör genom kommandoraden
Om vi använder någon fjärrmaskin med hjälp av Maven-kommandon, måste vi gå till kommandotolken.
För detta kommer vi att gå till den specifika katalogen i Maven-projektet, så högerklicka för det MavenProject och välj Egenskaper alternativ från den givna popup-menyn.
- Och kopiera sedan platsen för MavenProject och klistra in kommandotolken för att nå rätt plats för filen.
- Och skriv sedan kommandot nedan i kommandotolken:
cd eclipse-workspaceMavenProject
När vi väl är i Mavenprojektet kommer vi att använda några av de vanliga kommandona i Maven, som är följande:
Maven befaller | Beskrivning |
---|---|
mvn ren installation | Detta kommando används för att generera, kompilera och köra jars-filerna. |
mvn test | Vi kommer att använda det här kommandot när vi ska utföra testen mot den kompilerade källkoden med hjälp av ett lämpligt ramverk för enhetstestning. |
mvn kompilera | Den används för att kompilera källkoden för Maven-projektet. |
mvn paket | Den kommer att packa den körda koden i ett annat format som Jar. |
- Här kommer vi att utföra mvn ren installation
- Och det här kommandot kommer att exekvera alla fyra livscyklerna för Maven, sedan exekvera testfallet, och det kommer att skapa jar-filerna. Vid framgångsrik körning kommer webbläsaren att startas och byggandet blev också framgångsrikt som vi kan se i skärmdumpen nedan:
Exempel 2 : I det här exemplet skapar vi helt enkelt två enhetstestfall där vi lägger till och subtraherar de två variablerna (p och q) och kör koden genom TestNG och Maven.
Här är exempelkoden:
package testpackage; import org.testng.Assert; import org.testng.annotations.Test; public class demo1 { @Test public void sum() { System.out.print('Sum method'); int p=10; int q=20; Assert.assertEquals(30, p+q); } @Test public void sub() { System.out.print('Sub method'); int p=20; int q=10; Assert.assertEquals(10, p-q); } }
Kör koden i TestNG
För att köra koden med hjälp av TestNG, följ processen nedan:
- Högerklicka på java fil och välj Kör som → 1 TestNG-test som vi kan se i bilden nedan:
- Efter att ha kört koden framgångsrikt kommer den att ge följande utdata:
Kör koden genom Maven
För att köra samma kod med hjälp av Maven, följ stegen nedan:
- Först måste vi konvertera filen Demo1.java till TestNG-filen för detta
- Högerklicka på java fil och välj TestNG och välj sedan Konvertera till TestNG i den givna popup-menyn.
- Och vi kan också ändra namnet på filen enligt våra behov och klicka på Avsluta
- Efter det kommer vi att tillhandahålla vägen till xml fil till pom.xml fil genom plugins som vi gjorde det i exemplet ovan:
org.apache.maven.plugins maven-surefire-plugin 2.19.1 C:UsersJTPeclipse-workspaceMavenProject estng1.xml
- Efter att ha lagt till Maven-surefire-plugin i filen pom.xml, kommer vi att spara filen genom att trycka på ctrl+s.
- Och högerklicka sedan på MavenProject → Kör som → Maven Test som vi kan se i bilden nedan:
- När alla testfall är godkända och Build körs framgångsrikt kommer det att ge följande utdata: