learn how use testng annotations selenium
TestNG is, zoals de meesten van jullie weten, een automatisering framework dat veel wordt gebruikt in Selenium Het is belangrijk dat alle testers de annotaties begrijpen die worden gebruikt tijdens het werken met TestNG.
Simpel gezegd, TestNG-annotaties zijn coderegels die in de programma- / bedrijfslogica worden ingevoegd om te bepalen hoe de onderstaande methoden moeten worden uitgevoerd.
In dit artikel ga ik me concentreren op het belang van verschillende soorten annotaties en hun gebruik.
Hieronder heb ik de opstelling gedeeld die voor mijn project is gebruikt. Dit hoeft niet per se gevolgd te worden voor uw project.
De annotaties verschillen afhankelijk van uw projectvereisten. De uitvoeringsstroom zal echter hetzelfde zijn.
Voorwaarden:
- Installeer TestNG in Eclipse. Controleren deze tutorial over Installatiehandleiding
- JDK - Java-ontwikkelingskit
- Annotaties kunnen alleen worden gebruikt met Java 1.5-versie of hoger
Voordat we testscripts schrijven of een project opzetten, moeten we de hiërarchie kennen waarin de annotaties werken. De uitvoering blijft altijd hetzelfde.
Bijvoorbeeld, compileer en voer het onderstaande script uit en let op de uitvoeringsopdracht. Het zal als volgt zijn:
- BeforeSuite
- BeforeTest
- Voor klas
- BeforeMethod
- Testgeval 1
- AfterMethod
- BeforeMethod
- Testgeval 2
- AfterMethod
- Na de les
- AfterTest
- AfterSuite
Voorbeeld
We kunnen het testscriptproces opsplitsen in onderstaande stappen:
- Schrijf de bedrijfslogica van uw test en voeg hierboven in TestNG-annotaties in uw code
- Voeg de informatie over uw test toe (bijv. De klassenaam, de groepen, methoden die u wilt uitvoeren, enz.) In een testng.xml het dossier.
- Voer TestNG uit
Maar de vraag blijft: welke informatie moeten we in de bovenstaande annotaties verstrekken?
Bekijk de belangrijke stappen die we kunnen bereiken met behulp van de bovenstaande annotaties:
# 1) @Test
Dit is het belangrijkste deel van ons automatiseringsscript waarin we de bedrijfslogica zullen schrijven, de dingen die we willen automatiseren. We kunnen attributen doorgeven aan onze testmethode.
Hieronder staan de lijsten met attributen die we kunnen doorgeven aan onze testmethode:
- altijd rennen : Dit wordt gebruikt als we er zeker van willen zijn dat een methode altijd werkt, zelfs als de parameters waarvan de methode afhankelijk is, mislukken. Indien ingesteld op true, wordt deze testmethode altijd uitgevoerd. Bijv .: @Test (alwaysRun = true)
- data provider : TestNG dataProvider wordt gebruikt om gegevens te verstrekken voor parametrering. Bijv. @Test (dataProvider = 'Hallo').
- dataProviderClass : Dit is de klasse van waaruit we de gegevens doorgeven aan de gegevensprovider. In ons geval is de klassenaam van dataProvider 'Hallo'.
- afhankelijkOnGroups : Het is de lijst met groepen waarvan deze methode afhankelijk is. Bijv .: @Test (groups = {'Stad', 'Staat'})
- dependOnMethods: Deze opdracht wordt gebruikt om een methode uit te voeren op basis van de afhankelijke methode. Bijv .: @Test (afhankelijkOnMethods = {'OpenBrowser', 'database is up'})
- Omschrijving : Het is de beschrijving van de methode. Bijv .: @Test (description = 'testmethode')
- invocationCount : Het verwijst naar het aantal keren dat een methode moet worden aangeroepen. Het werkt als een lus. Bijv .: @Test (invocationCount = 7) Daarom wordt deze methode 7 keer uitgevoerd.
- invocationTimeOut : Dit verwijst naar het maximale aantal milliseconden dat een methode moet duren voordat alle invocationCount is voltooid. Dit kenmerk wordt genegeerd als invocationCount niet is opgegeven. Bijv .: @Test (invocationCount = 7, invocationTimeOut = 30)
- prioriteit : Deze opdracht stelt de prioriteit van de testmethode in. Lagere prioriteiten worden eerst ingepland. Bijv .: @Test (prioriteit = 1)
#twee)@BeforeSuite en @AfterSuite
In @BeforeSuite geannoteerde methode, kunt u instellen en starten selenium chauffeurs en in @AfterSuite geannoteerde methode, kunt u Selenium-stuurprogramma's stoppen
Voorbeeld
# 3)@BeforeClass en @AfterClass
In @Voor klas geannoteerde methode, kunt u uw firefox-eigenschappen instellen, uw stuurprogramma initialiseren enzovoort en in @Na de les geannoteerde methode, kunt u het stuurprogramma stoppen
Voorbeeld
# 4)@BeforeMethod en @AfterMethod
In @Bekijkhet_nu geannoteerde methode, kunt u de databaseverbinding controleren voordat u uw testmethode uitvoert en in @AfterMethod geannoteerde methode, kunt u uw databaseverbinding verbreken
Voorbeeld
# 5)@BeforeTest en @AfterTest
In @BeforTest methode, kunt u uw firefox-profielvoorkeuren instellen en in @AfterTest methode, kunt u een code plaatsen die het testresultaat genereert en deze naar de belanghebbenden mailen
Voorbeeld
Het belangrijkste aspect dat hier moet worden opgemerkt tijdens het werken met annotaties is dat uw systeem moet zijn uitgerust met de Java 1.5-versie of hoger, anders kan Eclipse een foutmelding geven dat annotaties niet worden ondersteund op uw systeem.
Overweeg nu een geval waarin uw systeem de juiste versie van Java heeft die nodig is voor annotaties, maar de fout nog steeds verschijnt.
Iets als hieronder:
Syntaxisfout, annotaties zijn alleen beschikbaar als het bronniveau 1.5 of hoger is.
Wat ga je nu doen? Er zijn drie opties om deze situatie recht te zetten.
Laten we het een voor een doornemen:
Optie 1:
- Ga naar Eclipse en klik met de rechtermuisknop op uw project
- Selecteer Eigenschappen
- Klik op Java Compiler
- Zorg ervoor dat uw compiler-nalevingsniveau 1.5 of hoger is
- Sla de instellingen op en uw probleem is opgelost
Optie 2:
- Ga naar het tabblad Venster in Eclipse
- Selecteer voorkeuren
- Klik op Java en vervolgens op Compiler
- Zorg ervoor dat uw compiler-nalevingsniveau 1.5 of hoger is
- Sla de instellingen op en uw probleem is opgelost
Optie # 3:
Controleer uw Java Home Path door de juiste Java-omgevingspadvariabele in te stellen.
Gevolgtrekking:
In dit artikel hebben we geprobeerd enkele van de belangrijke annotaties en attributen te bespreken die vaak door testers worden gebruikt. Er zijn echter meer annotaties in TestNG die niet vaak worden gebruikt, zoals @AfterGroups, @BeforeGroups enzovoort die worden gebruikt wanneer u met groepen in uw projecttestscript werkt.
Gebruik dus de bovenstaande annotaties volgens uw vereisten. Het is altijd raadzaam om uw projectopstelling niet in testmethode uit te voeren. Schrijf in de testmethode de kernlogica van het bedrijf die moet worden getest.
oracle sql pl sql sollicitatievragen
Zorg ervoor dat uw systeem is uitgerust met Java 1.5-versies of hoger, anders kan Eclipse een foutmelding geven dat annotaties niet worden ondersteund op uw systeem.
Ik hoop dat dit artikel je helpt met TestNG-annotaties. Laat het ons weten als u opmerkingen of vragen heeft.
Aanbevolen literatuur
- TestNG Framework gebruiken voor het maken van Selenium-scripts - TestNG Selenium-zelfstudie # 12
- Selenium Find Element By Text Tutorial met voorbeelden
- 30+ beste selenium-zelfstudies: leer selenium met echte voorbeelden
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- Efficiënte Selenium-scripts en scenario's voor probleemoplossing - Selenium-zelfstudie # 27
- Selenium-scripts debuggen met logboeken (Log4j-zelfstudie) - Selenium-zelfstudie # 26
- Python DateTime-zelfstudie met voorbeelden