Tot el que heu de saber sobre les anotacions TestNG al seleni



Aquest article sobre les anotacions TestNG a Selenium us ajudarà a entendre les diverses anotacions que TestNG admet a Selenium amb l'ajut d'exemples.

Des del concepte de s’han introduït, han evolucionat moltes metodologies de proves, han canviat els paradigmes, però els requisits d’alguna manera han triomfat per mantenir-se constants. Una d’aquestes metodologies és TestNG cosa que ens ajuda a agrupar els casos de prova en diferents seccions de codi amb l'ajut d'Anotacions. Però, com funciona? Comprenguem aquest concepte a través d’aquest article sobre les anotacions TestNG a .

En aquest article tractaré els temes esmentats a continuació:





programació de sòcol de servidor client en Java

Introducció a TestNG

TestNG significa Prova la següent generació i és un marc d’automatització de proves de codi obert inspirat en JUnit i NUnit. Bé, TestNG no només està inspirat, sinó que és una versió actualitzada d’aquests dos marcs. Quina és l’actualització aquí? L'actualització amb TestNG és que proporciona funcionalitats addicionals, com ara anotacions de prova, agrupació, priorització, parametrització i tècniques de seqüenciació al codi que abans no era possible.

Introducció a TestNG - TestNG Annotations - EdurekaNo només gestiona casos de proves, sinó que fins i tot es poden obtenir informes detallats de proves mitjançant TestNG. Hi haurà un resum detallat que mostrarà el nombre de casos de prova que han fallat. A més, els errors es poden localitzar amb precisió i solucionar-los al més aviat possible. Ara que ja sabeu què és TestNG, vegem per què s’utilitza TestNG a Selenium.



Per què utilitzar TestNG al seleni?

Els desenvolupadors de programari de tot el món acceptaran per unanimitat que escriure codi en casos de prova estalvia bona part del temps de depuració. Per què? Això es deu al fet que els casos de prova ajuden a crear codi robust i lliure d'errors dividint tot el codi en casos de prova més petits i, a continuació, avaluant cadascun d'aquests casos de prova per superar / fallar les condicions, podeu crear codi sense errors. Des de no admet l'execució de codi en casos de prova, TestNG apareix a la imatge que ajudarà a l'execució dels casos de prova.

TestNG també admet les funcions següents:

  • Genera l'informe en un format adequat que inclou una sèrie de casos de prova executats, el nombre de casos de prova fallits i casos de prova que s'han omès.
  • Es poden agrupar diversos casos de prova més fàcilment convertint-los en un fitxer TestNG.xml. Aquí podeu establir les prioritats per executar els casos de prova.
  • Amb TestNG, podeu executar diversos casos de prova en diversos navegadors, és a dir, proves entre navegadors .
  • El marc de proves es pot integrar fàcilment amb eines com Maven, Jenkins, etc.

Ara que ja sabeu què és TestNG i per què s’utilitza, anem més enllà i coneixem les diverses anotacions que TestNG admet al Seleni.

Anotacions TestNG

Les anotacions TestNG a Selenium s’utilitzen per controlar el següent mètode que s’executarà. Les anotacions de prova es defineixen abans de tots els mètodes del codi de prova. En cas que cap mètode no estigui prefixat amb anotacions, aquest mètode s'ignorarà i no s'executarà com a part del codi de prova. Per definir-los, els mètodes només s’han d’anotar amb ‘ @Prova '.



Tipus d'anotacions TestNG:

A continuació es mostra la llista d’anotacions que TestNG admet en seleni.

  • @BeforeMethod: Un mètode amb aquesta anotació s'executarà abans de cada @test mètode anotat.
  • @AfterMethod: això anotació s'executarà després de cada @test mètode anotat.
  • @BeforeClass: Aquesta anotació s'executarà abans primer @Test execució del mètode. S’executa només una vegada per classe.
  • @AfterClass: T la seva anotació s'executarà després d'executar tots els mètodes de prova de la classe actual
  • @BeforeTest: Abans s'executarà un mètode amb aquesta anotació primer @Test mètode anotat.
  • @AfterTest: Un mètode amb aquesta anotació s'executarà quan tot @Prova els mètodes anotats completen l'execució d'aquestes classes que no estan incloses en TestNG.xml dossier.
  • @BeforeSuite: Aquesta anotació s’executarà només una vegada abans totes les proves de la suite s'han executat
  • @AfterSuite: S’executarà un mètode amb aquesta anotació un cop després s'han executat totes les proves de la suite
  • @BeforeGroups: Aquest mètode anotat s’executarà abans de la primera prova d’aquest grup específic.
  • @AfterGroups: Aquest mètode anotat s’executarà després de tots els mètodes de prova d'aquest grup completa la seva execució.

Per tant, tot això tracta d’anotacions a TestNG. Ara anem més enllà i entenem com escriure un primer cas de prova mitjançant TestNG.

Creació de casos de prova mitjançant anotacions TestNG

Els diversos passos per crear casos de prova mitjançant l'anotació TestNG són els següents:

troba l’element més gran de la matriu java
  1. Creeu un projecte i afegiu la biblioteca TestNG.
  2. Creeu un fitxer de classe i codifiqueu el programa
  3. Finalment, escriviu un fitxer XML i executeu-lo a TestNG Suite.

Si voleu obtenir més detalls sobre com escriure un cas de prova mitjançant TestNG, consulteu aquest article a Tutorial de TestNG . Ara anem més enllà i entenem com les anotacions TestNG us ajudaran a agrupar els casos de prova i configurar el programa.

Cas de prova 1:

En aquest cas de prova, utilitzaré tres anotacions diferents i codificaré el programa. Vegem com fer-ho amb l’exemple següent.

package co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('inici del navegador Chrome') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = 'Formació en línia dirigida per un instructor amb assistència permanent 24X7 @AfterTest public void terminateBrowser () {driver.close ()}}

Bàsicament, vull comprovar si el títol real de la pàgina web Edureka coincideix amb el títol esperat o no. Per tant, primer faig servir ‘ @BeforeTest ' Anotació i creació d'una instància del controlador del navegador i navegació pel lloc web Edureka mitjançant el driver.get () mètode. Aquests són els passos que cal seguir abans de la prova.

A continuació, durant aquesta prova, vull comprovar si el títol esperat i el títol real coincideixen o no. Per això, estic especificant tots els passos amb @Test Annotation. Finalment, vull tancar el controlador i acabar el navegador després de la prova. Per això estic fent servir @AfterTest Anotació i tancament del conductor. Així és com agrupo tot el codi en diverses anotacions i executo el cas de prova. Executem el programa com TestNG Test i comprovem la sortida.

Podeu veure a la instantània que el cas de prova s’executa correctament en una prova i un conjunt predeterminats. A més, el cas de prova ha passat i tampoc no hi ha cap error.

Vegem ara un exemple més per entendre el flux d’execució de diverses anotacions en profunditat. És molt necessari conèixer el flux d’execució de les anotacions. Per tant, fem una ullada a la instantània següent per conèixer-la.

El flux d'execució de les anotacions serà el que es mostra a la instantània anterior. Ara vegem un exemple més per entendre el mateix.

Cas de prova 2:

package co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.println ('Test Case 1')} // Test Case 2 @Test public void testCase2 () {System.out.println ('Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Before Mètode ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'After Suite')}}

Al codi anterior, escric a l’atzar tots els mètodes amb Anotacions. No en segueixo la seqüència. Però, quan executi el programa, seguirà el mateix ordre. Ara comprovem la sortida.

[RemoteTestNG] detectat TestNG versió 6.14.2 Abans de la prova Abans de la prova Abans de la classe Abans del mètode Prova cas 1 Després del mètode Abans del mètode Prova cas 2 Després del mètode després de la classe Després de la prova PASSAT: testCase1 PASSAT: testCase2 =========== ==================================== Prova de prova predeterminada Execució de proves: 2, Fracassos: 0, Omet: 0 ================================================ After Suite = =============================================== Suite predeterminada Total de proves execució: 2, fracassos: 0, omet: 0 ======================================= ========

De la sortida anterior, podeu notar que va executar tant els casos de prova com Before Suite i After Suite només una vegada. A més, la prova s'ha executat amb èxit a la prova i el paquet predeterminat. Així és com heu d’executar els casos de prova mitjançant Anotacions.Això ens porta al final d’aquest article sobre les anotacions TestNG al seleni.

Espero que hagueu entès els conceptes i aportés un valor afegit al vostre coneixement. Ara, si voleu obtenir més informació sobre Selenium, podeu consultar l'article .

Si heu trobat aquest “TestNG Annotations in Selenium 'Rellevant, fes un cop d'ull al per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món.

system.exit (0) java

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris de Anotacions TestNG al seleni article i ens posarem en contacte amb vosaltres.