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ù-
- Annotazioni Java
- Installa TestNG
- AngularJS Unit Testing
- Test di compatibilità