Wat is Apache Ant?
Bij het maken van een compleet softwareproduct, moet men zorg dragen voor verschillende API's van derden, hun klassenpad, het opschonen van eerdere uitvoerbare binaire bestanden, het compileren van onze broncode, het uitvoeren van de broncode, het maken van rapporten en implementatiecodebasis enz. Als deze taken worden uitgevoerd één voor één handmatig, het zal enorm veel tijd kosten en het proces zal vatbaar zijn voor fouten.
Hier komt het belang van een build-tool zoals Ant. Het slaat alle processen op, voert ze uit en automatiseert ze in een sequentiële volgorde die wordt vermeld in het configuratiebestand van Ant (meestal build.xml).
Voordeel van Ant-build
- Ant creëert de levenscyclus van de applicatie, dwz opschonen, compileren, afhankelijkheid instellen, uitvoeren, rapporteren, enz.
- API-afhankelijkheid van derden kan worden ingesteld door Ant, dwz het klassenpad van een ander Jar-bestand wordt ingesteld door Ant build-bestand.
- Er wordt een complete applicatie gemaakt voor levering en implementatie van begin tot eind.
- Het is een eenvoudige build-tool waarbij alle configuraties kunnen worden gedaan met behulp van een XML-bestand en die kunnen worden uitgevoerd vanaf de opdrachtregel.
- Het maakt uw code schoon omdat de configuratie gescheiden is van de feitelijke applicatielogica.
Hoe Ant
De stappen om Ant in Windows te installeren zijn als volgt
Stap 1) Ga naar http://ant.apache.org/bindownload.cgi Download .zip-bestand van apache-ant-1.9.4-bin.zip
Stap 2) Pak de map uit en ga naar en kopieer het pad naar de root van de uitgepakte map
Stap 3) Ga naar Start -> Computer -> klik hier met de rechtermuisknop en selecteer 'Eigenschappen' en klik vervolgens op Geavanceerde systeeminstellingen
Stap 4) Er wordt een nieuw venster geopend. Klik op 'Omgevingsvariabele'
… 'Knop.Stap 5) Klik op 'Nieuw
… 'Knop en stel de variabelenaam in als' ANT_HOME 'en de variabele waarde als het rootpad naar de uitgepakte map en klik op OK.Stap 6) selecteer nu de 'Path'-variabele uit de lijst en klik op' Bewerken 'en voeg toe; % ANT_HOME% \ bin.
Start het systeem een keer opnieuw en u bent nu klaar om de Ant-buildtool te gebruiken.
Stap 7) Om de versie van uw Ant te controleren met behulp van de opdrachtregel:
Ant-versie
Inzicht in Build.xml
Build.xml is het belangrijkste onderdeel van de Ant-buildtool. Voor een Java-project worden alle taken die verband houden met opschonen, instellen, compileren en inzetten in dit bestand vermeld in XML-indeling. Wanneer we dit XML-bestand uitvoeren met behulp van de opdrachtregel of een IDE-plug-in, worden alle instructies die in dit bestand zijn geschreven op een sequentiële manier uitgevoerd.
Laten we de code in een voorbeeld build.XML begrijpen
- Project tag wordt gebruikt om een projectnaam en basedir attribuut te vermelden. De basedir is de hoofdmap van een applicatie
- Eigenschapstags worden als variabelen in het build.XML-bestand gebruikt om in verdere stappen te worden gebruikt
- Target-tags die worden gebruikt als stappen die in opeenvolgende volgorde worden uitgevoerd. Naamkenmerk is de naam van het doel. U kunt meerdere doelen in één build.xml hebben
- path tag wordt gebruikt om alle bestanden logisch te bundelen die zich op de gemeenschappelijke locatie bevinden
- pathelement tag zal het pad instellen naar de root van de gemeenschappelijke locatie waar alle bestanden zijn opgeslagen
- pathconvert-tag die wordt gebruikt om paden van alle gangbare bestanden in de pad-tag te converteren naar het classpath-formaat van het systeem
- fileset-tag die wordt gebruikt om het klassenpad in te stellen voor verschillende jar van derden in ons project
- Echo-tag wordt gebruikt om tekst op de console af te drukken
- Tag verwijderen zal gegevens uit de gegeven map opschonen
- mkdir-tag zal een nieuwe map aanmaken
- javac-tag die wordt gebruikt om de Java-broncode te compileren en .class-bestanden naar een nieuwe map te verplaatsen
- jar-tag maakt een jar-bestand van .class-bestanden
- manifest-tag stelt uw hoofdklasse in voor uitvoering
- Het kenmerk 'hangt af' dat wordt gebruikt om het ene doelwit afhankelijk te maken van een ander doelwit
- java-tag zal de hoofdfunctie uitvoeren vanuit de jar die is gemaakt in het compilatiedoelgedeelte
Voer Ant uit met behulp van de Eclipse-plug-in
Om Ant vanuit eclipse uit te voeren, ga naar build.xml-bestand -> klik met de rechtermuisknop op bestand -> Uitvoeren als
… -> klik op Build fileVoorbeeld:
We zullen een klein voorbeeldprogramma nemen dat de Ant-functionaliteit heel duidelijk zal uitleggen. Onze projectstructuur ziet eruit als -
Hier in dit voorbeeld hebben we 4 doelen
- Stel het klassenpad in voor externe potten,
- Reinig eerder nageleefde code
- Compileer bestaande Java-code
- Voer de code uit
Guru99AntClass.class
pakket testAnt;importeer java.util.Date;openbare klas Guru99AntClass {public static void main (String… s) {System.out.println ("HELLO GURU99 ANT PROGRAMMA");System.out.println ("DE DATUM VAN VANDAAG IS ->" + currentDate ());openbare statische tekenreeks currentDate () {retourneer nieuwe datum (). toString ();Build.xml
xml version = "1.0" encoding = "UTF-8" standalone = "no"?>'afhankelijk' attribuut gebruikt om een doel afhankelijk te maken van een ander doel ->
TestNG-code uitvoeren met Ant
Hier zullen we een klasse maken met Testng-methoden en het klassenpad instellen voor testen in build.xml.
Om de testng-methode uit te voeren, zullen we een ander testng.xml-bestand maken en dit bestand aanroepen vanuit het build.xml-bestand.
Stap 1) We maken een " Guru99AntClass.class" in pakket testAnt
Guru99AntClass.class
pakket testAnt;importeer java.util.Date;importeer org.testng.annotations.Test;openbare klas Guru99AntClass {@Testopenbare ongeldige Guru99AntTestNGMethod () {System.out.println ("HELLO GURU99 ANT PROGRAMMA");System.out.println ("DE DATUM VAN VANDAAG IS ->" + currentDate ());openbare statische tekenreeks currentDate () {retourneer nieuwe datum (). toString ();
Stap 2) Maak een doel om deze klasse in Build.xml te laden
Stap 3) Maak testng.xml
testng.xml
xml version = "1.0" encoding = "UTF-8"?>
Stap 4) Maak een doel in Build.xml om deze TestNG-code uit te voeren
Stap 5) Het volledige Build.xml
xml version = "1.0" encoding = "UTF-8" standalone = "no"?>
Stap 6) Uitvoer
Download het bovenstaande bestand
Mier met Selenium Webdriver:
Tot nu toe hebben we geleerd dat we met ANT alle potten van derden op een bepaalde locatie in het systeem kunnen plaatsen en hun pad voor ons project kunnen bepalen. Met behulp van deze methode plaatsen we alle afhankelijkheden van ons project op één plek en maken we het betrouwbaarder voor compilatie, uitvoering en implementatie.
Evenzo kunnen we voor onze testprojecten met selenium gemakkelijk seleniumafhankelijkheid vermelden in build.xml en hoeven we er niet handmatig een klassenpad van toe te voegen in onze applicatie.
Dus nu kun je de onderstaande traditionele manier negeren om klassenpaden voor projecten in te stellen.
Voorbeeld:
We gaan het vorige voorbeeld aanpassen
Stap 1) Stel de eigenschap selenium.jars in op selenium-related jar in de resource-map
Stap 2) Voeg in het doel setClassPath de seleniumbestanden toe
Stap 3) Voltooi Build.xml:
xml version = "1.0" encoding = "UTF-8" standalone = "no"?>
Stap 4) Verander nu de eerder aangemaakte klasse Guru99AntClass.java met nieuwe code.
Hier in dit voorbeeld zijn onze stappen bij het gebruik van Selenium:
- Ga naar http://demo.guru99.com/test/guru99home/
- Lees alle cursuslinks een voor een
- Druk de hyperlink van alle cursussen af op de console.
Guru99AntClass.java:
pakket testAnt;importeer java.util.List;import org.openqa.selenium.By;importeer org.openqa.selenium.WebDriver;importeer org.openqa.selenium.WebElement;importeer org.openqa.selenium.firefox.FirefoxDriver;importeer org.testng.annotations.Test;openbare klas Guru99AntClass {@Testopenbare ongeldige Guru99AntTestNGMethod () {WebDriver-stuurprogramma = nieuwe FirefoxDriver ();driver.get ("http://demo.guru99.com/test/guru99home/");LijstlistAllCourseLinks = driver.findElements (By.xpath ("// div [@ class = 'canvas-middle'] // a"));voor (WebElement webElement: listAllCourseLinks) {System.out.println (webElement.getAttribute ("href"));
Stap 5) Na een succesvolle uitvoering ziet de uitvoer er als volgt uit:
Download het bovenstaande voorbeeldbestand
Overzicht:
Ant is een build-tool voor Java.
Ant gebruikt voor codecompilatie, implementatie, uitvoeringsproces.
Ant kan worden gedownload vanaf de Apache-website.
Build.xml-bestand dat wordt gebruikt om uitvoeringsdoelen te configureren met Ant.
Ant kan worden uitgevoerd vanaf de opdrachtregel of via een geschikte IDE-plug-in zoals Eclipse.