Maven is de nieuwste tool voor het testen van builds. Het heeft verschillende nieuwe functies in vergelijking met Ant, zoals afhankelijkheid, enz.
Maven is een tool voor het bouwen of projectbeheer. Het wordt gebruikt om compilatieproblemen tussen raamwerkcomponenten te controleren wanneer meerdere testingenieurs hun bestanden in hetzelfde raamwerk integreren.
Het onderhoudt altijd de monitor, raamwerkcomponenten of build, en biedt wijziging van de buildstatus wanneer er wijziging plaatsvindt in het raamwerk.
Het zorgt voor ' succes opbouwen ' bericht als er geen compilatieproblemen in het raamwerk zijn of anders ' mislukking bouwen ' bericht.
Maven heeft nieuwe functies zoals afhankelijkheid, die wordt gebruikt om de afhankelijkheidspot van internet te downloaden vóór de uitvoering van de test.
Met behulp van Maven kunnen we de testscripts zonder eclips op de opdrachtregel uitvoeren. En het biedt altijd de raamwerkmapstructuur.
Voor meer informatie over Maven verwijzen wij u naar de onderstaande link:
https://www.javatpoint.com/maven-tutorial
Er zijn twee software beschikbaar in Maven:
Maven Eclipse-plug-in
Het is een standaard plug-in voor de nieuwste Eclipse-versies zoals Mars, Luna en oxygen, die wordt gebruikt om via Eclipse een Maven-project te maken.
Maven-plug-in voor Eclipse installeren en gebruiken met Selenium TestNG
Meestal wordt de Maven-plug-in automatisch geïnstalleerd in de Eclipse, maar als deze niet aanwezig is, gaan we naar de Eclipse-marktplaats en zoeken Maven en download de M2E geïntegreerde versie vanaf daar.
Stappen om een Maven-project te maken
Volg de onderstaande stappen om een Maven-project te maken:
- Ga naar de Bestand → Nieuw → Project
- Vouw vervolgens de Maven map en selecteer de Maven-project opties en klik op de Volgende
- Klik opnieuw op de Volgende knop voor het verdere proces.
- Klik op de Volgende knop zonder iets te doen.
- Nadat u op de knop Volgende hebt geklikt, verstrekken wij de Groeps-ID En Artefact-ID in ons geval, en we zullen de groeps-id as geven MavenProject en Artefact-ID als MavenProject en klik op de Finish knop zoals we kunnen zien in de onderstaande schermafbeelding:
- Zodra we klaar zijn met het maken van het Maven-project, onze Maven-mapstructuur zal er als volgt uitzien:
Maven-opdrachtregelplug-in
Het wordt gebruikt om het Selenium-testscript uit te voeren in de opdrachtprompt zonder Eclipse, en deze software moet expliciet worden geïnstalleerd.
Installatiestappen voor de Maven-opdrachtregelplug-in
Volg de onderstaande stappen om de Maven-opdrachtregelplug-in te installeren:
Let op: Voordat we het installatieproces van Maven starten, zorgen we ervoor dat Java is geïnstalleerd en dat ook de omgevingsvariabele is ingesteld.
Stap 1: Apache Maven downloaden
- Ga eerst naar Google zoeken naar Maven downloaden en klik op de eerste link, zoals we kunnen zien in de onderstaande schermafbeelding:
- Zodra we op de link klikken, navigeert deze naar de Maven-community. En naast de Binair zip-archief, klik op de gegeven link, zoals we kunnen zien in de onderstaande schermafbeelding:
- Download de zip-map en pak daarna de map uit en plaats deze in de C-schijf en kopieer de locatie van de map.
Stap 2: Voeg M2_Home toe aan de systeemvariabele
- Zodra we de locatie hebben gekopieerd, gaan we naar de Omgevingsvariabelen venster en klik op de Nieuw knop op de Systeemvariabele sectie, zoals we kunnen zien in de onderstaande afbeelding:
- Daarna verzorgen wij de Variabele naam En Variabele waarde en klik op de OK
Stap 3: Voeg %M2_Home%in toe aan het pad
- Zodra we de systeemvariabele M2_Home hebben gemaakt, zullen we de Pad variabele en klik op de Bewerking knop, zoals we kunnen zien in de onderstaande schermafbeelding:
- De Variabelenvenster bewerken op het scherm verschijnt, dan klikken we op de Nieuw knop en %M2_Home%in waarde en klik op de OK
Stap 4: Verifieer
- Na het instellen van de omgevingsvariabelen controleren we of de Maven succesvol is geïnstalleerd of niet.
- Hiervoor openen we de opdrachtprompt en typen we de onderstaande opdracht:
mvn- version
- En we kunnen in de bovenstaande schermafbeelding zien dat de Apache Maven met succes is geïnstalleerd.
Afhankelijkheid Jar gebruiken of downloaden met Maven
Voordat we beginnen met het schrijven van een Maven-code, moeten we de algemene afhankelijkheden toevoegen, zoals TestNG En Selenium in het pom.xml-bestand.
Hiervoor volgen we het onderstaande proces:
Java opent een bestand
- Automatisch krijgen we het Pom.xml-bestand binnen hetzelfde project.
- Om de afhankelijkheidspot voor te downloaden TestNG En Selenium , moeten we een afhankelijkheidscode schrijven voor alle tools in het bestand Pom.xml.
- Om de afhankelijkheidscode te verkrijgen, gaat u naar de Google-zoekopdracht en typt u ' TestNG Maven-afhankelijkheid ', en klik op de gegeven link.
- En kopieer de afhankelijkheidscode van TestNG en plak deze in het pom.xml-bestand.
- In de domein sectie, wijzig de waarde van test naar compileren en de uiteindelijke afhankelijkheidscode ziet er als volgt uit:
org.testng testng 6.8 compile
Vervolgens voegen we de Maven-afhankelijkheid voor Selenium toe, dus hiervoor volgen we hetzelfde proces als voorheen:
- Ga naar Google en zoek naar ' Maven seleniumafhankelijkheid ' en klik op de gegeven link zoals we kunnen zien in de onderstaande schermafbeelding:
- En kopieer de afhankelijkheidscode van de link en plak deze in de xml bestand.
- Na het toevoegen van de afhankelijkheidscode voor TestNG en Selenium , ziet het Pom.xml-bestand er als volgt uit:
org.testng testng 6.8 compile org.seleniumhq.selenium selenium-java 3.141.59
- Druk vervolgens op ctrl+s om het pom.xml-bestand op te slaan.
- Zodra we klaar zijn met het toevoegen van de afhankelijkheden, kunnen we zien dat al het jar-bestand dat is toegevoegd in de Maven-afhankelijkheden map onder de MavenProject .
Voer Selenium-code uit via Maven en TestNG
- We zullen één voorbeeldtestcase schrijven, met behulp van @Test-, @BeforeTest- en @AfterTest TestNG-annotaties.
- Eerst lanceren we de Google Chrome
- Navigeer vervolgens naar de javatpoint-website.
- En verkrijg de huidige pagina-URL en titel van de website met behulp van getTitel() , getCurrentURL()
Opmerking
getTitel(): Deze methode wordt gebruikt om de titel van de pagina vast te leggen.
getCurrentURL(): Het wordt gebruikt om de huidige URL van de pagina vast te leggen.
Voor het uitvoeren van het bovenstaande testscript maken we één pakket aan in het MavenProject.
- Om een pakket in het MavenProject te maken, klikken we met de rechtermuisknop op het src/test/java → Nieuw → Pakket
- Daarna geven we de naam van het pakket op als ' proefpakket ', en klik op de Finish knop zoals we kunnen zien in de onderstaande schermafbeelding:
- Nadat we een pakket hebben gemaakt, maken we één klasse.
Volg het onderstaande proces om een klasse in MavenProject te maken:
- Klik met de rechtermuisknop op het nieuw gemaakte pakket en selecteer Nieuw selecteer vervolgens Klas uit de gegeven lijst, zoals we kunnen zien in de onderstaande schermafbeelding:
testpakket → Nieuw → Klasse
- En geef de naam van de klasse op als ' MavenTest1 ' en klik op de Finish
Nadat we het pakket en de klasse hebben gemaakt, beginnen we met het schrijven van de code.
Volgens onze codevereiste zullen we meerdere afhankelijkheden toevoegen.
volledige vorm pvr
Na het toevoegen van de afhankelijkheden ziet ons pom.xml-bestand er als volgt uit:
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
En hier de voorbeeldcode:
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'); } }
Voer de code uit
We kunnen bovenstaande code op verschillende manieren uitvoeren:
Voer TestNG uit
Als we de bovenstaande code uitvoeren met de TestNG, volgen we het onderstaande proces:
- Klik met de rechtermuisknop op de Java bestand en selecteer Uitvoeren als → 1 TestNG-test zoals we kunnen zien in de onderstaande afbeelding:
- Nadat de code met succes is uitgevoerd, geeft deze de onderstaande uitvoer:
- En het zal de browser in het consolevenster starten, zoals we kunnen zien in de onderstaande schermafbeelding:
Ren door Maven
Om dezelfde code via Maven uit te voeren, volgt u de onderstaande stappen:
Eerst moeten we de MavenTest1.java bestand in de TestNG Bestand, volg hiervoor het onderstaande proces:
- Klik met de rechtermuisknop op de Java bestand en selecteer TestNG en selecteer vervolgens Converteren naar TestNG opties in de gegeven lijst.
- Zodra we de Converteren naar TestNG opties, het onderstaande venster wordt geopend en daarna klikken we op de Finish
- En het geconverteerde TestNG-bestand ziet er als volgt uit:
Daarna gaan we de testng.xml -bestand, dus hiervoor moeten we de Maven-plug-ins toevoegen aan het pom.xml bestanden.
We zullen dus de drie verschillende plug-ins toevoegen, die als volgt zijn:
Opmerking:
De Maven compiler-plug-in wordt gebruikt om de broncode van een Maven-project te compileren. Maven-testopdracht maakt verbinding met internet en downloadt alle afhankelijkheidspots naar de lokale repository van de map .M2 en compileert vervolgens de volledige seleniumbroncode zoals we in de onderstaande afbeelding kunnen zien:
De Maven trefzekere plug-in wordt gebruikt wanneer we de unit-tests van de applicatie moeten uitvoeren.
De Maven-bronplug-in wordt gebruikt om de jar-bestanden te bouwen die de .Java bronbestanden.
Nadat alle plug-ins zijn toegevoegd, ziet onze pom.xml er als volgt uit:
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
- Sla het pom.xml-bestand op en voer de code uit.
- Om de bovenstaande code uit te voeren, klikt u met de rechtermuisknop op het MavenProject → Uitvoeren als → Maven-test zoals we kunnen zien in de onderstaande afbeelding:
- Wanneer alle testgevallen zijn geslaagd en Build met succes wordt uitgevoerd, geeft dit de onderstaande uitvoer:
- En het zal de browser in het consolevenster starten, zoals we kunnen zien in de onderstaande schermafbeelding:
Voer de opdrachtregel uit
Als we een externe machine gebruiken met behulp van Maven-opdrachten, moeten we naar de opdrachtprompt gaan.
Hiervoor gaan we naar die specifieke map van het Maven-project, dus klik daarvoor met de rechtermuisknop op het MavenProject en selecteer de Eigenschappen opties uit het gegeven pop-upmenu.
- En kopieer vervolgens de locatie van het MavenProject en plak de opdrachtprompt om de juiste locatie van het bestand te bereiken.
- En typ vervolgens de onderstaande opdracht in de opdrachtprompt:
cd eclipse-workspaceMavenProject
Zodra we in het MavenProject zijn, zullen we enkele van de algemene opdrachten van Maven gebruiken, die als volgt zijn:
Maven-opdrachten | Beschrijving |
---|---|
mvn schone installatie | Deze opdracht wordt gebruikt voor het genereren, compileren en uitvoeren van de jar-bestanden. |
mvn-test | We zullen dit commando gebruiken wanneer we de tests moeten uitvoeren op de gecompileerde broncode met behulp van een geschikt unit-testframework. |
mvn compileren | Het wordt gebruikt om de broncode van het Maven-project te compileren. |
mvn-pakket | Het zal de uitgevoerde code in een ander formaat verpakken, zoals Jar. |
- Hier zullen we de uitvoering uitvoeren mvn schone installatie
- En deze opdracht zal alle vier de levenscycli van Maven uitvoeren, vervolgens de testcase uitvoeren en de jar-bestanden maken. Bij succesvolle uitvoering wordt de browser gestart en is de build ook succesvol geworden, zoals we kunnen zien in de onderstaande schermafbeelding:
Voorbeeld 2 : In dit voorbeeld maken we eenvoudigweg twee testgevallen waarbij we de twee variabelen (p en q) optellen en aftrekken en de code uitvoeren via TestNG en Maven.
Hier de voorbeeldcode:
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); } }
Voer de code uit in TestNG
Volg het onderstaande proces om de code uit te voeren met behulp van TestNG:
- Klik met de rechtermuisknop op de Java bestand en selecteer Uitvoeren als → 1 TestNG-test zoals we kunnen zien in de onderstaande afbeelding:
- Nadat de code met succes is uitgevoerd, geeft deze de onderstaande uitvoer:
Voer de code uit via Maven
Om dezelfde code uit te voeren met behulp van Maven, volgt u de onderstaande stappen:
- Hiervoor moeten we eerst het bestand Demo1.java naar het TestNG-bestand converteren
- Klik met de rechtermuisknop op de Java bestand en selecteer TestNG en selecteer vervolgens Converteren naar TestNG in het gegeven pop-upmenu.
- En we kunnen ook de naam van het bestand wijzigen volgens onze behoeften en op klikken Finish
- Daarna zullen we het pad van de xml bestand naar de pom.xml bestand via de plug-ins zoals we dat in het bovenstaande voorbeeld deden:
org.apache.maven.plugins maven-surefire-plugin 2.19.1 C:UsersJTPeclipse-workspaceMavenProject estng1.xml
- Nadat we de Maven-surefire-plug-in aan het pom.xml-bestand hebben toegevoegd, slaan we het bestand op door op ctrl+s te drukken.
- En klik vervolgens met de rechtermuisknop op het MavenProject → Uitvoeren als → Maven-test zoals we kunnen zien in de onderstaande afbeelding:
- Wanneer alle testgevallen zijn geslaagd en Build met succes wordt uitgevoerd, geeft dit de onderstaande uitvoer: