20 most popular testng interview questions
Le principali domande e risposte dell'intervista a TestNG con esempi per aiutarti nella tua preparazione:
Un elenco delle domande e risposte dell'intervista più popolari e frequenti su TestNG è spiegato qui in questo articolo.
Semplici esempi vengono aggiunti nei punti interessati per una facile comprensione del concetto. Sono sicuro che queste domande ti aiuterebbero a risolvere con successo qualsiasi intervista a TestNG.
Domande frequenti sui colloqui di TestNG
Q # 1) Cos'è TestNG?
Risposta: TestNG è il framework creato per l'esecuzione di unit test nel programma java dagli sviluppatori.
TestNG viene utilizzato anche dai tester del software per eseguire in modo efficiente gli script di test automatizzati creati in Selenium Webdriver. La sua forma completa è il framework 'Testing New Generation'.
domanda e risposte dell'intervista Java per le matricole
È ispirato a 'JUnit' che è un altro framework per i programmi Java di unit test. Oltre a tutte le funzionalità di JUnit, TestNG ha le sue nuove funzionalità che lo rendono più potente.
D # 2) Come installerai TestNG in Eclipse?
Risposta:
Segui i passaggi seguenti per installare TestNG su Eclipse:
- Vai su Eclipse -> Fai clic su 'Guida' -> Fai clic su 'Installa nuovo software'.
- Fare clic sul pulsante 'Aggiungi', immettere il nome (preferibilmente TestNG) nella casella di testo 'Avanti'. Entrare nella casella di testo 'Posizione' e fare clic sul pulsante di azione 'OK'.
- Selezionare la casella di controllo TestNG e fare clic sul pulsante di azione 'Avanti'. L'installazione verrà avviata e Eclipse verrà riavviato dopo l'installazione.
- Fare clic con il pulsante destro del mouse sul progetto in Eclipse -> Seleziona percorso di compilazione -> Configura percorso di compilazione.
- Seleziona la scheda della libreria -> Fai clic sul pulsante Aggiungi libreria -> Seleziona TestNG-> Fai clic su Avanti -> Fai clic su Fine, applica e chiudi.
D # 3) Come eseguire lo script TestNG?
Risposta:
Per eseguire lo script TestNG:
Fare clic con il tasto destro sulla classe in Eclipse, fare clic su 'Esegui come' e selezionare 'TestNG test'.
O
Fare clic direttamente sul pulsante Esegui sulla barra degli strumenti di Eclipse.
Q # 4) Quali sono le annotazioni utilizzate in TestNG?
Risposta: Ci sono tre sezioni di annotazione in TestNG:
(i) Annotazioni preliminari: Questisono le annotazioni TestNG che vengono eseguite prima del test.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod sono le annotazioni precondizioni.
(ii) Annotazione di prova: Questa è l'annotazione menzionata solo prima del test case (prima del metodo scritto per eseguire il test case)
@Test è l'annotazione del test
(iii) Annotazione postcondizione: Queste sono le annotazioni che vengono eseguite dopo il test case. (Dopo che il metodo è stato scritto per eseguire il test case)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod sono le annotazioni di postcondizione
Q # 5) Qual è la sequenza di esecuzione delle annotazioni in TestNG?
Risposta: La sequenza di esecuzione delle annotazioni è la seguente:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
Q # 6) Quali sono i vantaggi di TestNG?
Risposta: I vantaggi di TestNG sono i seguenti:
- È un framework open source, quindi è facile da configurare.
- Usando TestNG possiamo creare sistematicamente i casi di test.
- Fornisce molte annotazioni che a loro volta facilitano la creazione del test case.
- Utilizzando TestNG, è possibile definire le priorità dei test e la sequenza di esecuzione.
- Il raggruppamento è possibile utilizzando TestNG.
- Genera rapporti HTML (Selenium Webdriver non può generare i rapporti di prova da solo, aiuta SW a raggiungere questo obiettivo).
- La parametrizzazione dei dati è possibile utilizzando TestNG.
- Oltre a tutte le funzionalità di JUnit, TestNG ha le sue funzionalità, che a loro volta lo rendono più potente.
Q # 7) Come impostare le priorità in TestNG?
Risposta: Ci sono sempre più di un test o metodo nella classe. Se non diamo la priorità a questi test o metodi, i metodi vengono selezionati in ordine alfabetico ed eseguiti durante l'esecuzione.
Se vogliamo eseguire i test nella sequenza che vogliamo, allora dobbiamo impostare la priorità insieme all'annotazione @Test.
Questo può essere fatto come segue:
@Test (priorità = 1), @Test (priorità = 2)
Considera il seguente esempio:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
Nell'esempio precedente, clickelement () verrà eseguito per primo poiché la priorità è impostata su 1.
Inoltre, getText () verrà eseguito dopo clickelement () poiché la sua priorità è impostata su 2.
D # 8) Come condividere il report del progetto utilizzando TestNG?
Risposta: Ci sono alcuni modi per farlo:
(io) Dopo l'esecuzione della classe TestNG, c'è una scheda chiamata 'Risultato della classe in esecuzione' che viene generata accanto alla console.
Possiamo copiarlo e condividerlo.
(ii) Dopo l'esecuzione della classe TestNG,
- Fare clic con il tasto destro sul nome del progetto e aggiornare
- Fare clic sulla cartella 'Test-output'
- Fare clic con il tasto destro sul file 'index.html' e selezionare proprietà
- Copia il link accanto a 'Posizione'
Possiamo condividere questo collegamento per vedere il report di test HTML di base generato da TestNG.
Questo è il file che viene generato automaticamente sulla tua macchina dopo l'esecuzione della classe utilizzando TestNG.
Q # 9) Come definirai il raggruppamento in TestNG?
Risposta: Possiamo definire il raggruppamento in TestNG utilizzando l'attributo groups come mostrato di seguito:
@Test (gruppi = 'titolo')
Q # 10) Cos'è una dipendenza da TestNG?
Risposta: Esistono alcuni metodi da cui dipendono molti metodi.
Per esempio, Se vogliamo testare un'applicazione e se la pagina di accesso dell'applicazione non funziona, non saremo in grado di testare il resto degli scenari.
Quindi, LoginTest è il metodo da cui dipendono molti test.
Quindi, scriveremo come segue:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
Il codice sopra mostra che il metodo homePageLaunched () dipende completamente dal metodo LoginTest ().
Se viene passato LoginTest (), solo allora viene eseguito il metodo homePageLaunched ()
D # 11) Cos'è InvocationCount in TestNG?
Risposta: Se vogliamo eseguire un test case 'n' un numero di volte, possiamo usare l'attributo invocationCount come mostrato nell'esempio sotto.
Esempio:
@Test(invocationCount=8) Public void print() { }
Nell'esempio precedente, il metodo print () verrà eseguito 8 volte.
D # 12) Cos'è il timeOut in TestNG?
Risposta: Se l'esecuzione di un metodo nello script richiede molto tempo, è possibile terminare tale metodo utilizzando 'timeout' in TestNG.
@Test (timeout = 5000)
In questo caso, il metodo verrà terminato in 5000 ms (5 secondi) e lo scenario di test verrà contrassegnato come 'Non riuscito'.
Q # 13) Come gestire le eccezioni in TestNG?
Risposta: Se ci sono alcuni metodi da cui ci aspettiamo alcune eccezioni, possiamo menzionare l'eccezione nell'annotazione @Test in modo che il test case non fallisca.
Esempio: Se ci si aspetta che un metodo abbia l'eccezione 'numberFormatException', il test case fallirà a causa di questa eccezione se non viene specificato alcun blocco try-catch.
Ma possiamo farlo in TestNG utilizzando l'attributo 'expectedException' come segue.
@Test (expectedException = numberFormatException.class)
Quindi il test case verrà eseguito senza errori.
Q # 14) Quali sono le affermazioni comuni di TestNG?
Risposta: Le affermazioni comuni di TestNG includono:
(io) Assert.assetEquals (stringa effettiva, stringa prevista);
- Accetta due stringhe.
- Se entrambe le stringhe sono uguali, lo scenario di test viene eseguito correttamente, altrimenti lo scenario di test fallisce.
(ii) Assert.assertEquals (stringa effettiva, stringa prevista, messaggio stringa)
- Accetta due stringhe.
- Se entrambe le stringhe sono uguali, lo scenario di test viene eseguito correttamente, altrimenti lo scenario di test fallisce.
- Il messaggio viene stampato se il test case fallisce.
(iii) Assert.assertEquals (booleano effettivo, booleano previsto)
- Accetta due valori booleani.
- Se entrambi i valori booleani sono uguali, il test case viene eseguito correttamente altrimenti il test case fallisce.
(iv) Assert.assertTrue ()
- Accetta un valore booleano.
- L'asserzione viene accettata se la condizione è True, altrimenti viene visualizzato un errore di asserzione.
(v) Assert.assertFalse ()
- Accetta un valore booleano.
- L'asserzione viene superata se la condizione è False, altrimenti viene visualizzato un errore di asserzione.
(noi) Assert.assertTrue (, messaggio)
- Accetta un valore booleano.
- L'asserzione viene accettata se la condizione è True, altrimenti viene visualizzato un errore di asserzione con il messaggio menzionato.
(stai arrivando) Assert.assertFalse (, messaggio)
- Accetta un valore booleano.
- L'asserzione viene accettata se la condizione è False, altrimenti viene visualizzato un errore di asserzione con il messaggio citato.
Q # 15) Come disabilitare un test in TestNG?
Risposta:
Per disabilitare un test in TestNG, dobbiamo utilizzare l'attributo 'enabled' come segue:
@Test (enabled = 'false')
D # 16) Quali sono i tipi di affermazioni in TestNG?
Risposta: Per convalidare i risultati (superato / non superato), dobbiamo utilizzare l'asserzione.
Esistono due tipi di asserzione in TestNG:
(i) Affermazione dura:
Hard Assert è il normale assert utilizzato per eseguire le convalide nella classe TestNG.
Dobbiamo usare la classe Assert per l'hard assert come segue:
Assert.assertEquals (valore effettivo, valore atteso);
a cosa serve la programmazione c ++
Se l'hard assert fallisce, nessuno dei codici viene eseguito dopo l'istruzione assert.
(ii) Soft Assert:
Se vogliamo continuare l'esecuzione del test anche dopo che l'istruzione assert fallisce, dobbiamo usare soft assert.
Per creare un soft assert, dobbiamo creare un oggetto di una classe 'softAssert' come segue:
softAssert sassert = nuovo softAssert ();
sassert.assertAll ();
Quindi ora se il test case fallisce, l'esecuzione non viene terminata quando usiamo soft assert.
D # 17) Come passare un parametro nel test case attraverso il file testng.xml?
Risposta: Se abbiamo una classe in cui è definito un metodo di login, allora possiamo passare i parametri di login a questo metodo di login dal file testing.xml
Dovremo utilizzare l'annotazione '@parameters' come segue:
@Parameters({'user_name','password'}) @Test public void loginapp() { driverget(“appname”); driver.findElement(By.id(“login”)).sendkeys(user_name); driver.findElement(By.id(“password”)).sendkeys(password); }
Ora vai al file testng.xml e inserisci i parametri lì come segue:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
D # 18) Qual è la necessità di creare un file testng.xml?
Risposta: Quando testiamo un progetto usando Selenium Webdriver, ci sono molte classi su di esso. Non possiamo scegliere queste classi una per una e metterle per l'automazione. Quindi dobbiamo creare una suite in modo che tutte le classi vengano eseguite in una singola suite di test.
Possiamo ottenere ciò creando un file testing.xml.
Q # 19) Come creare un file XML in TestNG?
Risposta: Vai alla cartella src -> fai clic su file -> inserisci il nome del file (per lo più scritto testing.xml)
Quindi, fare clic su Fine.
Abbiamo un file XML vuoto. Qui, dobbiamo menzionare il nome del progetto e le classi da eseguire insieme al nome del pacchetto come mostrato di seguito.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
Per eseguire questo file, dobbiamo andare su testng.xml in Esplora pacchetti, fare clic con il pulsante destro del mouse ed eseguire come -> Suite TestNG
D # 20) Come lanciare un'eccezione SKIP in TestNG?
Risposta: Se vogliamo SALTARE qualsiasi test usando i test, dobbiamo usare l'eccezione SKIP in TestNG.
È scritto come segue:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Ti auguriamo tutto il meglio per il tuo colloquio !!
Lettura consigliata
- Domande e risposte dell'intervista
- Domande dell'intervista di Spock con risposte (le più popolari)
- Top 20+ .NET Intervista Domande e Risposte
- ETL Testing Interview Domande e risposte
- Le 20 domande e risposte più importanti dell'intervista sui test API
- Top 30+ domande e risposte popolari per l'intervista al cetriolo
- Le 50 domande e risposte dell'intervista CCNA più popolari
- Le 40 principali domande e risposte dell'intervista J2EE da leggere