20 most popular testng interview questions
Cele mai frecvente întrebări și răspunsuri la interviu TestNG cu exemple pentru a vă ajuta în pregătirea dvs.:
O listă cu cele mai populare și frecvente întrebări și răspunsuri la interviu pe TestNG sunt explicate aici în acest articol.
Exemple simple sunt adăugate în locurile vizate pentru înțelegerea ușoară a conceptului. Sunt sigur că aceste întrebări vă vor ajuta să spargeți cu succes orice interviu TestNG.
Întrebări frecvente despre interviu TestNG
Q # 1) Ce este TestNG?
Răspuns: TestNG este cadrul creat pentru executarea testelor unitare în program java de către dezvoltatori.
TestNG este, de asemenea, utilizat de testerii software pentru a rula eficient scripturile de testare automate create în Selenium Webdriver. Forma sa completă este cadrul „Testarea noii generații”.
cum se deschid fișiere bin pe Windows 10
Este inspirat de „JUnit”, care este un alt cadru pentru testarea unității de programe Java. În plus față de toate caracteristicile din JUnit, TestNG are noile sale caracteristici care îl fac mai puternic.
Q # 2) Cum veți instala TestNG în Eclipse?
Răspuns:
Urmați pașii de mai jos pentru a instala TestNG pe Eclipse:
- Accesați Eclipse -> Faceți clic pe „Ajutor” -> Faceți clic pe „Instalați software nou”.
- Faceți clic pe butonul „Adăugați”, introduceți numele (de preferință TestNG) în caseta de text „Următorul”. Introduceți în caseta de text „Locație” și faceți clic pe butonul de acțiune „OK”.
- Bifați caseta de validare TestNG și faceți clic pe butonul de acțiune „Următorul”. Instalarea va începe și Eclipse va reporni după instalare.
- Faceți clic dreapta pe proiect în Eclipse -> Selectați calea de construire -> Configurați calea de construire.
- Selectați fila bibliotecă -> Faceți clic pe butonul Adăugare bibliotecă -> Selectați TestNG-> Faceți clic pe Următorul -> Faceți clic pe Finalizare și Aplicați și închideți.
Î # 3) Cum se execută scriptul TestNG?
Răspuns:
Pentru a rula scriptul TestNG:
Faceți clic dreapta pe clasa din Eclipse, faceți clic pe „Run as” și selectați „TestNG test”.
SAU
Faceți clic direct pe butonul Executare de pe bara de instrumente a Eclipsei.
Q # 4) Care sunt adnotările utilizate în TestNG?
Răspuns: Există trei secțiuni de adnotare în TestNG:
(i) Adnotări de condiții prealabile: Acestesunt adnotările TestNG care sunt executate înainte de test.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod sunt adnotările precondiționate.
(ii) Adnotarea testului: Aceasta este adnotarea care este menționată numai înaintea cazului de testare (Înaintea metodei scrise pentru a executa cazul de testare)
@Test este adnotarea testului
(iii) Adnotare postcondiționată: Acestea sunt adnotările care se execută după testul cazului. (După ce metoda este scrisă pentru a executa cazul de testare)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod sunt adnotările postcondiționate
Q # 5) Care este secvența de execuție a adnotărilor în TestNG?
Răspuns: Secvența de execuție a adnotărilor este după cum urmează:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
Q # 6) Care sunt avantajele TestNG?
Răspuns: Avantajele TestNG sunt următoarele:
- Este un cadru open-source, prin urmare este ușor de configurat.
- Folosind TestNG putem crea sistematic cazurile de testare.
- Oferă o mulțime de adnotări care, la rândul lor, facilitează crearea cazului de testare.
- Folosind TestNG, pot fi definite prioritățile testelor și secvența de execuție.
- Gruparea este posibilă folosind TestNG.
- Acesta generează rapoarte HTML (Selenium Webdriver nu poate genera singur rapoartele de testare, îl ajută pe SW să realizeze acest lucru).
- Parametrizarea datelor este posibilă folosind TestNG.
- În plus față de toate funcționalitățile JUnit, TestNG are funcționalitățile sale, ceea ce, la rândul său, îl face mai puternic.
Q # 7) Cum să stabiliți priorități în TestNG?
Răspuns: Există întotdeauna mai multe teste sau metode în clasă. Dacă nu acordăm prioritate acestor teste sau metode, atunci metodele sunt selectate alfabetic și executate în timpul execuției.
Dacă vrem să rulăm testele în secvența pe care o dorim, atunci trebuie să setăm prioritatea împreună cu adnotarea @Test.
Acest lucru se poate face după cum urmează:
@Test (prioritate = 1), @Test (prioritate = 2)
Luați în considerare următorul exemplu:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
În exemplul de mai sus, clickelement () va fi executat mai întâi, deoarece prioritatea este setată la 1.
Și, getText () va fi executat după clickelement (), deoarece prioritatea sa este setată la 2.
Q # 8) Cum să distribuiți raportul de proiect folosind TestNG?
Răspuns: Există câteva modalități de a face acest lucru:
(i) După executarea clasei TestNG, există o filă numită „Rezultatul clasei de rulare“ care este generată lângă consolă.
Putem copia acest lucru și îl putem partaja.
(ii) După executarea clasei TestNG,
- Faceți clic dreapta pe numele proiectului și actualizați
- Faceți clic pe folderul „Test-output”
- Faceți clic dreapta pe fișierul „index.html” și selectați proprietăți
- Copiați linkul de lângă „Locație”
Putem partaja acest link pentru a vedea raportul de test HTML de bază generat de TestNG.
Acesta este fișierul care se generează automat pe mașina dvs. după executarea clasei folosind TestNG.
Q # 9) Cum veți defini gruparea în TestNG?
Răspuns: Putem defini gruparea în TestNG folosind atributul de grupuri așa cum se arată mai jos:
@Test (grupuri = ”titlu”)
Q # 10) Ce este o dependență de TestNG?
Răspuns: Există câteva metode de care depind multe metode.
De exemplu, Dacă dorim să testăm orice aplicație și dacă pagina de autentificare a aplicației nu funcționează, nu vom putea testa restul scenariilor.
Deci, LoginTest este metoda de care depind multe teste.
Prin urmare, vom scrie după cum urmează:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
Codul de mai sus arată că metoda homePageLaunched () este complet dependentă de metoda LoginTest ().
Dacă se trece LoginTest (), abia atunci se execută metoda homePageLaunched ()
Q # 11) Ce este InvocationCount în TestNG?
Răspuns: Dacă vrem să executăm un caz de testare „n” de mai multe ori, atunci putem folosi atributul invocationCount așa cum se arată în exemplul de mai jos.
Exemplu:
@Test(invocationCount=8) Public void print() { }
În exemplul de mai sus, metoda print () va fi executată de 8 ori.
Q # 12) Ce este timeOut în TestNG?
cum se adaugă elemente matrice în java
Răspuns: Dacă orice metodă din script durează mult să se execute, atunci putem termina acea metodă folosind „timeout” în TestNG.
@Test (timeout = 5000)
În acest caz, metoda va fi terminată în 5000 ms (5 secunde), iar cazul de testare este marcat ca „Eșuat”.
Q # 13) Cum să gestionați excepțiile din TestNG?
Răspuns: Dacă există unele metode de la care ne așteptăm la unele excepții, atunci putem menționa excepția în adnotarea @Test, astfel încât cazul de test să nu eșueze.
Exemplu: Dacă se așteaptă ca o metodă să aibă excepția „numberFormatException”, atunci cazul de testare va eșua din cauza acestei excepții dacă nu este specificat niciun bloc try-catch.
Dar o putem face în TestNG folosind atributul „expectedException” după cum urmează.
@Test (exceptionException = numberFormatException.class)
Apoi, cazul de testare va rula fără a da greș.
Q # 14) Care sunt afirmațiile comune TestNG?
Răspuns: Afirmațiile comune TestNG includ:
(i) Assert.assetEquals (Șir real, șir așteptat);
- Acceptă două șiruri.
- Dacă ambele șiruri sunt egale, cazul de testare se execută cu succes, altfel cazul de testare eșuează.
(ii) Assert.assertEquals (Șir efectiv, Șir așteptat, mesaj Șir)
- Acceptă două șiruri.
- Dacă ambele șiruri sunt egale, cazul de testare se execută cu succes, altfel cazul de testare eșuează.
- Mesajul este tipărit dacă cazul de testare eșuează.
(iii) Assert.assertEquals (real boolean, boolean așteptat)
- Acceptă două valori booleene.
- Dacă ambele valori booleene sunt egale, cazul de testare se execută cu succes, altfel cazul de testare eșuează.
(iv) Assert.assertTrue ()
- Acceptă o valoare booleană.
- Afirmația trece dacă condiția este Adevărată, altfel se afișează o eroare de afirmație.
(v) Assert.assertFalse ()
- Acceptă o valoare booleană.
- Afirmația trece dacă condiția este Falsă, altfel se afișează o eroare de afirmare.
(noi) Assert.assertTrue (, mesaj)
- Acceptă o valoare booleană.
- Afirmația trece dacă condiția este Adevărată, altfel se afișează o eroare de afirmare cu mesajul menționat.
(vii) Assert.assertFalse (, mesaj)
- Acceptă o valoare booleană.
- Afirmația trece dacă condiția este Falsă, altfel se afișează o eroare de afirmare cu mesajul menționat.
Q # 15) Cum se dezactivează un test în TestNG?
Răspuns:
Pentru a dezactiva un test în TestNG, trebuie să folosim atributul „activate” după cum urmează:
@Test (enabled = ”false”)
Q # 16) Care sunt tipurile de aserți din TestNG?
Răspuns: Pentru a valida rezultatele (trece / eșuează), trebuie să folosim afirmația.
Există două tipuri de afirmații în TestNG:
(i) Hard Assert:
Hard Assert este afirmarea normală care este utilizată pentru a face validări în clasa TestNG.
Trebuie să folosim clasa Assert pentru afirmarea dură după cum urmează:
Assert.assertEquals (valoarea reală, valoarea așteptată);
Dacă afirmarea dură eșuează, atunci niciunul dintre coduri nu este executat după declarația de afirmare.
(ii) Soft Assert:
Dacă vrem să continuăm execuția testului chiar și după ce declarația assert eșuează, atunci trebuie să folosim soft assert.
Pentru a crea o afirmare ușoară, trebuie să creăm un obiect al unei clase „softAssert” după cum urmează:
softAssert sassert = new softAssert ();
sassert.assertAll ();
Deci, acum, dacă testul eșuează, execuția nu se termină atunci când folosim soft assert.
Q # 17) Cum se trece parametrul în cazul testului prin fișierul testng.xml?
Răspuns: Dacă avem o clasă în care este definită o metodă de conectare, atunci putem trece parametrii de conectare la această metodă de conectare din fișierul testing.xml
Va trebui să folosim adnotarea „@parameters” după cum urmează:
@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); }
Acum, accesați fișierul testng.xml și introduceți parametrii acolo după cum urmează:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
Q # 18) Care este nevoia de a crea un fișier testng.xml?
Răspuns: Când testăm un proiect folosind Selenium Webdriver, acesta are multe clase. Nu putem alege aceste clase unul câte unul și să le punem pentru automatizare. Prin urmare, trebuie să creăm o suită, astfel încât toate clasele să ruleze într-o singură suită de testare.
Putem realiza acest lucru creând un fișier testing.xml.
Q # 19) Cum se creează un fișier XML în TestNG?
Răspuns: Mergeți la folderul src -> faceți clic pe fișier -> introduceți numele fișierului (în mare parte scris testing.xml)
Apoi, faceți clic pe finisare.
Avem un fișier XML gol. Aici, trebuie să menționăm numele proiectului și clasele care trebuie executate împreună cu numele pachetului, așa cum se arată mai jos.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
Pentru a rula acest fișier, trebuie să mergem la testng.xml în exploratorul de pachete, faceți clic dreapta și rulați ca -> TestNG suite
Q # 20) Cum se aruncă o excepție SKIP în TestNG?
Răspuns: Dacă dorim să SKIPăm orice test folosind testarea, atunci trebuie să folosim excepția SKIP în TestNG.
Este scris după cum urmează:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Vă dorim tot binele pentru interviul dvs. !!
Lectură recomandată
- Întrebări și răspunsuri la interviu
- Întrebări de interviu cu răspunsuri Spock (Cele mai populare)
- Top 20+ .NET Întrebări și răspunsuri la interviu
- Întrebări și răspunsuri la interviuri de testare ETL
- Top 20 Cele mai importante API Testarea întrebărilor și răspunsurilor la interviu
- Top 30+ Întrebări și răspunsuri populare la interviu cu Castravete
- Top 50 Cele mai populare întrebări și răspunsuri ale interviului CCNA
- Top 40 Întrebări și răspunsuri populare de interviu J2EE pe care ar trebui să le citiți