Introduzione alle annotazioni TestNG

Come sappiamo, TestNG è un framework di automazione dei test che viene utilizzato insieme al framework Selenium per facilitare il processo di automazione dei test. Ma sorge la domanda che cos'è l'annotazione e perché vengono utilizzati? Le annotazioni in TestNG sono un'istruzione / codice che viene aggiunto nel codice per indicare al compilatore di controllare il flusso dell'esecuzione del test case in base ai requisiti specifici. Poiché esiste una sequenza di metodi, variabili e funzioni che devono essere seguite per eseguire correttamente i casi di test. Le annotazioni TestNG guidano questo al compilatore con le annotazioni semplici e facili da capire e quindi non è necessario utilizzare il metodo statico principale nel programma che specifica l'inizio dell'esecuzione del codice.

TestNG Annotations

Esistono varie annotazioni TestNG e ogni annotazione viene utilizzata per uno scopo diverso. Le annotazioni con le loro spiegazioni sono menzionate di seguito:

1. @BeforeSuite: questo metodo annotato viene eseguito prima di eseguire tutti i test in una suite di test.

2. @AfterSuite: questo metodo annotato viene eseguito dopo l'esecuzione di tutti i test in una particolare suite di test.

3. @BeforeTest: questo metodo annotato viene eseguito prima di qualsiasi metodo di test correlato alla classe definita all'interno del tag.

4. @AfterTest: questo metodo annotato viene eseguito dopo l'esecuzione di ogni metodo di test correlato alla classe definita all'interno del tag.

5. @BeforeClass: questo metodo annotato viene eseguito una sola volta e viene eseguito prima del primo metodo di test della classe menzionata.

6. @AfterClass: questo metodo annotato viene eseguito una sola volta e viene eseguito dopo l'esecuzione di tutti i metodi di test della classe indicata / corrente.

7. @Test: questo metodo annotato contrassegna qualsiasi classe o metodo come parte di un test che deve essere testato. Ha vari parametri che sono menzionati di seguito:

  • alwaysRun: il metodo di test viene sempre eseguito se impostato su true, indipendentemente dal caso di test da cui dipende.
  • dataProvider: definisce il nome del fornitore di dati per il caso di test.
  • dipende dai metodi: definisce l'elenco dei metodi da cui dipende quel particolare metodo.
  • dipendeOnGroups : definisce l'elenco di gruppi da cui dipende quel particolare metodo.
  • Descrizione : definisce la descrizione del metodo
  • Abilitato : definisce se il metodo è abilitato o meno. Se è impostato su false, tale metodo non viene eseguito o viene considerato come non presente.
  • Priorità : definisce la priorità del particolare metodo di prova in base al quale deve essere eseguita. I valori con priorità inferiore vengono programmati per primi e se nei casi di test non vengono definiti valori di priorità, TestNG assegna un valore di priorità predefinito (0).
  • successPercentage : definisce la percentuale di successo che ci si aspetta da quel metodo.
  • invocationCount : come suggerisce il nome, specifica il numero di volte in cui viene chiamato il metodo.
  • timeOut : definisce il numero massimo di volte che un determinato caso di test dovrebbe richiedere per l'esecuzione. È definito in millisecondi.
  • InvocationTimeOut : come timeOut, specifica il numero di millisecondi che un metodo dovrebbe impiegare per completare tutti i conteggi delle chiamate. I suoi valori sono sempre forniti in millisecondi.

8. @BeforeMethod: questo metodo annotato viene eseguito prima di ogni metodo di prova.

9. @AfterMethod: questo metodo annotato verrà eseguito dopo ogni metodo di prova.

10. @BeforeGroups: questo metodo annotato verrà eseguito prima del primo metodo di test del rispettivo gruppo che fa parte dell'esecuzione.

11. @AfterGroups: questo metodo annotato verrà eseguito dopo tutti i metodi di test o dopo che è stato invocato l'ultimo metodo del rispettivo gruppo che fa parte dell'esecuzione.

12. @DataProvider: questo metodo annotato viene utilizzato per fornire i dati al metodo di prova. Può essere utilizzato con qualsiasi metodo @test per fornire l'input. Viene utilizzato per fornire i parametri complessi ai metodi @test che non possono essere forniti nel file XML. Ogni @DataProvider deve restituire Object () () in cui a ciascun Object () viene assegnato l'elenco dei parametri del metodo di prova. Ha un attributo come 'nome' che deve essere fornito, se non è menzionato dal programmatore, quindi il suo valore è impostato sul nome del metodo. Ha un attributo con il nome "parallelo" che è di default "falso". Se impostato su true, tutti i casi di test

13. @Listeners: questa annotazione viene utilizzata per definire i listener in un metodo di prova.

14. @Parameters: questa annotazione viene utilizzata per definire i parametri in un metodo di prova. L'attributo 'Valore' viene utilizzato contenente tutti i nomi delle variabili che vengono utilizzati come parametri.

15. @Factory: questa annotazione viene utilizzata per contrassegnare qualsiasi metodo di test come factory e restituisce l'oggetto (Object ()) utilizzato come classi TestNG dal file TestNG.

Vantaggi delle annotazioni TestNG

Di seguito sono riportati alcuni dei vantaggi delle annotazioni TestNG:

  • TestNG è un framework utilizzato con Selenium con annotazioni che forniscono un modo facile e semplice da usare per controllare il flusso di esecuzione di casi di test automatizzati.
  • TestNG aiuta a eseguire / eseguire i casi di test in modo parallelo.
  • TestNG offre la possibilità di stabilire le priorità dei casi di test in base ai requisiti del programmatore.
  • TestNG aiuta a raggruppare i casi di test e ad eseguirli di conseguenza.
  • TestNG fornisce un modo eccellente per la generazione di report in base ai risultati del test.
  • TestNG è fortemente tipizzato e definisce la capacità di un forte controllo degli errori.
  • Fornisce un modo semplice per passare i parametri e fornire input ai casi di test.
  • TestNG può anche connettersi a origini dati esterne.
  • Non è necessario seguire un modello o un formato da seguire per l'esecuzione dei casi di test. Le annotazioni forniscono la possibilità di chiamare i metodi in base ai requisiti specifici.
  • TestNG genera report basati su HTML che rappresentano i dati in un formato grafico che è facile e più conveniente da capire.

Conclusione

La descrizione di cui sopra spiega chiaramente le varie annotazioni di TestNG e lo scopo di ciascuna annotazione nel controllo del flusso. Sebbene le annotazioni di TestNG siano molto facili da usare e possiamo usarle in base ai requisiti, ma prima di utilizzarle nell'automazione del test è necessario raccogliere una comprensione approfondita di ciascuna annotazione.

Articoli consigliati

Questa è una guida alle annotazioni TestNG. Qui discutiamo di varie annotazioni TestNG con vantaggi. Puoi anche consultare i nostri altri articoli correlati per saperne di più-

  1. Annotazioni Java
  2. Installa TestNG
  3. AngularJS Unit Testing
  4. Test di compatibilità

Categoria: