Tutto quello che devi sapere sulle annotazioni TestNG in selenio



Questo articolo sulle annotazioni TestNG in Selenium ti aiuterà a comprendere le varie annotazioni supportate da TestNG in Selenium con l'aiuto di esempi.

Da quando il concetto di è stato introdotto, molte metodologie di test si sono evolute, i paradigmi sono cambiati ma i requisiti in qualche modo hanno trionfato per rimanere costanti. Una di queste metodologie è TestNG che ci aiuta a raggruppare i casi di test in diverse sezioni di codice con l'aiuto delle annotazioni. Ma come funziona? Comprendiamo questo concetto tramite questo articolo sulle annotazioni TestNG in .

Tratterò gli argomenti menzionati di seguito in questo articolo:





Introduzione a TestNG

TestNG sta per Prova la prossima generazione ed è un framework di automazione dei test open source ispirato a JUnit e NUnit. Bene, TestNG non è solo ispirato, ma è una versione aggiornata di questi due framework. Allora qual è l'aggiornamento qui? L'aggiornamento con TestNG è che fornisce funzionalità aggiuntive come annotazioni di test, raggruppamento, assegnazione di priorità, parametrizzazione e tecniche di sequenziamento nel codice che non era possibile in precedenza.

Introduzione a TestNG - Annotazioni TestNG - EdurekaNon solo gestisce i casi di test, ma anche i rapporti dettagliati dei test possono essere ottenuti utilizzando TestNG. Ci sarà un riepilogo dettagliato che mostrerà il numero di casi di test che hanno avuto esito negativo. Inoltre, i bug possono essere localizzati con precisione e risolti al più presto. Ora che sai cos'è TestNG, vediamo perché usare TestNG in Selenium.



Perché usare TestNG nel selenio?

Gli sviluppatori di software di tutto il mondo concorderanno all'unanimità che scrivere codice in casi di test consente di risparmiare una buona parte del loro tempo di debug. Perché? Questo perché i casi di test aiutano nella creazione di codice robusto e privo di errori suddividendo l'intero codice in casi di test più piccoli e quindi valutando ciascuno di questi casi di test per superare / non superare le condizioni, è possibile creare codice privo di errori. Da non supporta l'esecuzione di codice nei casi di test, TestNG entra nell'immagine che aiuterà nell'esecuzione dei casi di test.

TestNG supporta anche le seguenti funzionalità:

come invertire un numero intero in python
  • Genera il report in un formato appropriato che include un numero di casi di test eseguiti, il numero di casi di test non riusciti e casi di test che sono stati ignorati.
  • Più casi di test possono essere raggruppati più facilmente convertendoli nel file TestNG.xml. Qui puoi impostare le priorità per eseguire i casi di test.
  • Utilizzando TestNG, puoi eseguire più casi di test su più browser, ad es. test cross-browser .
  • Il framework di test può essere facilmente integrato con strumenti come Maven, Jenkins, ecc.

Ora che sai cos'è TestNG e perché viene utilizzato, andiamo oltre e conosciamo le varie annotazioni supportate da TestNG in Selenium.

Annotazioni TestNG

Le annotazioni TestNG in Selenium vengono utilizzate per controllare il metodo successivo da eseguire. Le annotazioni di prova vengono definite prima di ogni metodo nel codice di prova. Nel caso in cui un metodo non sia preceduto da annotazioni, quel metodo verrà ignorato e non verrà eseguito come parte del codice di test. Per definirli, i metodi devono essere semplicemente annotati con ' @Test '.



Tipi di annotazioni TestNG:

Di seguito è riportato l'elenco delle annotazioni supportate da TestNG nel selenio.

  • @BeforeMethod: Un metodo con questa annotazione verrà eseguito prima di ogni @test metodo annotato.
  • @AfterMethod: questo l'annotazione verrà eseguita dopo ogni @test metodo annotato.
  • @Prima della lezione: Questa annotazione verrà eseguita prima primo @Test esecuzione del metodo. Viene eseguito solo una volta per classe.
  • @AfterClass: T la sua annotazione verrà eseguita dopo che tutti i metodi di test nella classe corrente saranno stati eseguiti
  • @BeforeTest: Un metodo con questa annotazione verrà eseguito prima primo @Test metodo annotato.
  • @AfterTest: Un metodo con questa annotazione verrà eseguito quando tutti @Test i metodi annotati completano l'esecuzione di quelle classi che sono insidetag in TestNG.xml file.
  • @BeforeSuite: Questa annotazione verrà eseguita solo una volta prima tutti i test nella suite sono stati eseguiti
  • @AfterSuite: Verrà eseguito un metodo con questa annotazione una volta dopo l'esecuzione di tutti i test nella suite è stata eseguita
  • @BeforeGroups: Questo metodo annotato verrà eseguito prima della prima esecuzione di prova di quel gruppo specifico.
  • @AfterGroups: Questo metodo annotato verrà eseguito dopo tutti i metodi di prova di quel gruppo completa la sua esecuzione.

Quindi questo è tutto sulle annotazioni in TestNG. Ora andiamo oltre e capiamo come scrivere un primo caso di test utilizzando TestNG.

Creazione di casi di test utilizzando le annotazioni TestNG

I vari passaggi coinvolti nella creazione di casi di test utilizzando TestNG Annotation sono i seguenti:

  1. Crea un progetto e aggiungi la libreria TestNG.
  2. Crea un file di classe e codifica il programma
  3. Infine, scrivi il file XML ed eseguilo su TestNG Suite.

Se desideri entrare in maggiori dettagli sulla scrittura di un test case utilizzando TestNG, controlla gentilmente questo articolo su Tutorial TestNG . Ora, andiamo oltre e capiamo come le annotazioni TestNG ti aiuteranno a raggruppare i casi di test e a configurare il tuo programma.

Caso di prova 1:

In questo caso di test, userò tre diverse annotazioni e codificherò il programma. Capiamo come farlo con l'esempio seguente.

pacchetto 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 ('launching Chrome browser') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = 'Formazione online con istruttore con supporto 24x7 a vita @AfterTest public void terminateBrowser () {driver.close ()}}

Fondamentalmente, voglio verificare se il titolo effettivo della pagina web di Edureka corrisponde o meno al titolo previsto. Quindi, per prima cosa utilizzo ' @BeforeTest ’ Annotazione e creazione di un'istanza del driver del browser e navigazione nel sito Web di Edureka utilizzando il driver.get () metodo. Quindi questi sono i passaggi che dovrebbero essere eseguiti prima del test.

Successivamente, durante questo test, voglio verificare se il titolo previsto e il titolo effettivo corrispondono o meno. Ecco perché sto specificando tutti i passaggi con @Test Annotation. Infine, voglio chiudere il driver e terminare il browser dopo il test. Ecco perché sto usando @AfterTest Annotazione e chiusura del driver. Quindi è così che raggruppo l'intero codice in varie annotazioni ed eseguo il test case. Eseguiamo il programma come TestNG Test e controlliamo l'output.

Puoi vedere nell'istantanea che lo scenario di test è stato eseguito correttamente su un test e una suite predefiniti. Inoltre, il test case è stato superato e non si sono verificati errori.

Vediamo ora un altro esempio per comprendere in profondità il flusso di esecuzione di varie annotazioni. È molto necessario conoscere il flusso di esecuzione delle annotazioni. Quindi, diamo un'occhiata all'istantanea di seguito per saperlo.

Il flusso di esecuzione delle annotazioni sarà come mostrato nell'istantanea sopra. Ora vediamo un altro esempio per capire lo stesso.

Caso di test 2:

pacchetto 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 Method ')} @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')}}

Nel codice sopra, sto scrivendo a caso tutti i metodi con Annotazioni. Non ne sto seguendo la sequenza. Ma, quando eseguo il programma, seguirà lo stesso ordine. Controlliamo ora l'output.

[RemoteTestNG] ha rilevato TestNG versione 6.14.2 Prima della suite Prima del test Prima della lezione Prima della lezione Prima del metodo Test Case 1 Dopo il metodo Prima del metodo Test Case 2 Dopo il metodo Dopo la lezione Dopo il test SUPERATO: testCase1 SUPERATO: testCase2 =========== ==================================== Test predefinito Test eseguiti: 2, Errori: 0, Salti: 0 =============================================== Dopo Suite = ============================================== Suite predefinita Test totali eseguire: 2, errori: 0, salti: 0 ======================================= ========

Dall'output sopra, puoi notare che ha eseguito entrambi i casi di test e Before Suite e After Suite sono stati eseguiti una sola volta. Inoltre, il test è stato eseguito correttamente sul test e sulla suite predefiniti. Ecco come è necessario eseguire i casi di test utilizzando Annotazioni.Quindi questo ci porta alla fine di questo articolo sulle annotazioni TestNG in selenio.

Spero che tu abbia capito i concetti e che abbia aggiunto valore alla tua conoscenza. Ora, se vuoi ottenere maggiori informazioni sul selenio, puoi controllare l'articolo su .

Se hai trovato questo messaggio 'TestNG Annotations in Selenium 'Rilevante, controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo.

java come terminare un programma

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di Annotazioni TestNG in selenio articolo e ti risponderemo.