Inleiding tot TestNG-annotaties

Zoals we weten, is TestNG een Test Automation Framework dat samen met het Selenium-framework wordt gebruikt om het testautomatiseringsproces te vergemakkelijken. Maar de vraag rijst wat annotatie is en waarom ze worden gebruikt? Annotaties in TestNG zijn een instructie / code die in de code wordt toegevoegd om de compiler te instrueren om de uitvoering van de testcase volgens de specifieke vereisten te regelen. Omdat er een reeks methoden, variabelen en functies is die moeten worden gevolgd om de testgevallen correct uit te voeren. TestNG-annotaties leiden dit naar de compiler met de eenvoudige en gemakkelijk te begrijpen annotaties en daarom is het niet nodig om de statische hoofdmethode in het programma te gebruiken die het begin van de uitvoering van code aangeeft.

TestNG-annotaties

Er zijn verschillende TestNG-annotaties en elke annotatie wordt voor een ander doel gebruikt. Annotaties met hun uitleg worden hieronder vermeld:

1. @BeforeSuite: deze geannoteerde methode wordt uitgevoerd voordat alle tests in een testsuite worden uitgevoerd.

2. @AfterSuite: deze geannoteerde methode wordt uitgevoerd nadat alle tests in een bepaalde testreeks zijn uitgevoerd.

3. @BeforeTest: deze geannoteerde methode wordt uitgevoerd vóór elke testmethode met betrekking tot de klasse die in de tag is gedefinieerd.

4. @AfterTest: deze geannoteerde methode wordt uitgevoerd nadat elke testmethode met betrekking tot de klasse die in de tag is gedefinieerd, wordt uitgevoerd.

5. @BeforeClass: deze geannoteerde methode wordt slechts één keer uitgevoerd en wordt uitgevoerd vóór de eerste testmethode van de genoemde klasse.

6. @AfterClass: deze geannoteerde methode wordt slechts eenmaal uitgevoerd en wordt uitgevoerd nadat alle testmethoden van de genoemde / huidige klasse zijn uitgevoerd.

7. @Test: deze geannoteerde methode markeert elke klasse of methode als onderdeel van een test die moet worden getest. Het heeft verschillende parameters die hieronder worden vermeld:

  • alwaysRun: de testmethode wordt altijd uitgevoerd als deze is ingesteld op true, ongeacht het testgeval waarvan het afhankelijk is, mislukt.
  • dataProvider: dit definieert de naam van de gegevensprovider voor de testcase.
  • hangt af van methoden: dit definieert de lijst met methoden waarvan die bepaalde methode afhankelijk is.
  • dependOnGroups : dit definieert de lijst met groepen waarvan die specifieke methode afhankelijk is.
  • Beschrijving : het definieert de beschrijving van de methode
  • Ingeschakeld : hiermee wordt bepaald of de methode is ingeschakeld of niet. Als deze is ingesteld op false, wordt die methode niet uitgevoerd of wordt deze als niet aanwezig beschouwd.
  • Prioriteit : het definieert de prioriteit van de specifieke testmethode waarna deze moet worden uitgevoerd. Lagere prioriteitswaarden worden eerst gepland en als de testgevallen geen prioriteitswaarden hebben gedefinieerd, kent de TestNG een standaardprioriteitswaarde (0) toe.
  • successPercentage : het definieert het percentage succes dat van die methode wordt verwacht.
  • invocationCount : Zoals de naam al aangeeft, geeft deze aan hoe vaak de methode wordt aangeroepen.
  • timeOut : het definieert het maximale aantal keren dat een bepaalde testcase moet worden uitgevoerd. Het wordt gedefinieerd in milliseconden.
  • InvocationTimeOut : Net als timeOut geeft het het aantal milliseconden aan dat een methode moet nemen om alle aanroepingen te voltooien. De waarden worden altijd opgegeven in milliseconden.

8. @BeforeMethod: deze geannoteerde methode wordt vóór elke testmethode uitgevoerd.

9. @AfterMethod: deze geannoteerde methode wordt na elke testmethode uitgevoerd.

10. @BeforeGroups: deze geannoteerde methode wordt uitgevoerd vóór de eerste testmethode van de respectieve groep die deel uitmaakt van de uitvoering.

11. @AfterGroups: deze geannoteerde methode wordt uitgevoerd nadat alle testmethoden zijn uitgevoerd of nadat de laatste methode van de respectieve groep is aangeroepen die deel uitmaakt van de uitvoering.

12. @DataProvider: deze geannoteerde methode wordt gebruikt om de gegevens aan de testmethode te leveren. Het kan met elke @test-methode worden gebruikt om de invoer te leveren. Het wordt gebruikt om de complexe parameters te leveren aan de @test-methoden die niet in het XML-bestand kunnen worden verstrekt. Elke @DataProvider moet Object () () retourneren waarbij aan elk Object () de lijst met parameters van de testmethode is toegewezen. Het heeft een attribuut als 'naam' dat moet worden opgegeven, als het niet wordt vermeld door de programmeur, wordt de waarde ingesteld op de naam van de methode. Het heeft één kenmerk met de naam 'parallel', dat standaard 'onwaar' is. Indien ingesteld op true, dan alle testgevallen

13. @Listeners: deze annotatie wordt gebruikt om de luisteraars te definiëren in een testmethode.

14. @Parameters: deze annotatie wordt gebruikt om de parameters in een testmethode te definiëren. Het kenmerk 'Waarde' wordt gebruikt met alle variabelenamen die als parameters worden gebruikt.

15. @Factory: deze annotatie wordt gebruikt om elke testmethode als fabriek te markeren en retourneert het object (Object ()) dat door het TestNG-bestand als TestNG-klassen wordt gebruikt.

Voordelen van TestNG-annotaties

Hieronder worden enkele voordelen van TestNG-annotaties gegeven:

  • TestNG is een raamwerk dat wordt gebruikt met het Selenium met annotaties die een gemakkelijke en eenvoudig te gebruiken manier bieden om de stroom van uitvoering van geautomatiseerde testgevallen te regelen.
  • TestNG helpt bij het uitvoeren / uitvoeren van de testgevallen op een parallelle manier.
  • TestNG biedt de mogelijkheid om testcase-prioriteiten te stellen volgens de vereisten van de programmeur.
  • TestNG helpt bij het groeperen en testen van testgevallen.
  • TestNG biedt een uitstekende manier om rapporten te genereren op basis van de testresultaten.
  • TestNG is sterk getypeerd, wat het vermogen van sterke foutcontrole definieert.
  • Het biedt een eenvoudige manier om parameters door te geven en input te geven aan de testgevallen.
  • TestNG kan ook verbinding maken met externe gegevensbronnen.
  • Er is geen patroon of indeling nodig die moet worden gevolgd voor het uitvoeren van testgevallen. Annotaties bieden de mogelijkheid om de methoden aan te roepen volgens de specifieke vereisten.
  • TestNG genereert op HTML gebaseerde rapporten die de gegevens weergeven in een grafisch formaat dat gemakkelijk en gemakkelijker te begrijpen is.

Conclusie

De bovenstaande beschrijving verklaart duidelijk de verschillende annotaties van TestNG en het doel van elke annotatie bij het regelen van de stroom. Hoewel de annotaties van TestNG zeer eenvoudig te gebruiken zijn en we kunnen het volgens de vereisten gebruiken, maar een diep begrip van elke annotatie moet worden verzameld voordat u ze in de testautomatisering gebruikt.

Aanbevolen artikelen

Dit is een handleiding voor TestNG-annotaties. Hier bespreken we verschillende TestNG-annotaties met voordelen. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie-

  1. Java-annotaties
  2. Installeer TestNG
  3. AngularJS Unit testen
  4. Compatibiliteitstesten