20 most popular testng interview questions
Preguntes i respostes més freqüents de les entrevistes TestNG amb exemples per ajudar-vos en la vostra preparació:
En aquest article s’explica una llista de les preguntes i respostes d’entrevistes més populars i més freqüents a TestNG.
S’afegeixen exemples senzills als llocs interessats per facilitar la comprensió del concepte. Estic segur que aquestes preguntes us ajudaran a trencar amb èxit qualsevol entrevista de TestNG.
Preguntes freqüents sobre l'entrevista TestNG
P # 1) Què és TestNG?
Resposta: TestNG és el marc creat pels desenvolupadors per executar proves unitàries en el programa Java.
Els provadors de programari també utilitzen TestNG per executar de manera eficient els scripts de prova automatitzats creats a Selenium Webdriver. La seva forma completa és el marc 'Prova de nova generació'.
com escriure scripts de prova automatitzats
S'inspira en 'JUnit', que és un altre marc per provar unitats de programes Java. A més de totes les funcions de JUnit, TestNG té les seves noves funcions que el fan més potent.
Q # 2) Com instal·laràs TestNG a Eclipse?
Resposta:
Seguiu els passos següents per instal·lar TestNG a Eclipse:
- Aneu a Eclipse -> Feu clic a 'Ajuda' -> Feu clic a 'Instal·la programari nou'.
- Feu clic al botó 'Afegeix', introduïu el nom (preferiblement TestNG) al quadre de text 'Següent'. Introduïu al quadre de text 'Ubicació' i feu clic al botó d'acció 'D'acord'.
- Marqueu la casella de selecció TestNG i feu clic al botó d'acció 'Següent'. La instal·lació s'iniciarà i l'Eclipse es reiniciarà després de la instal·lació.
- Feu clic amb el botó dret del ratolí al projecte a Eclipse -> Selecciona el camí de construcció -> Configura el camí de construcció.
- Seleccioneu la pestanya Biblioteca -> Feu clic al botó Afegeix biblioteca -> Seleccioneu TestNG-> Feu clic a Següent -> Feu clic a Finalitza i Aplica i tanqueu.
P # 3) Com executar l'script TestNG?
Resposta:
Per executar l'script TestNG:
Feu clic amb el botó dret a la classe d'Eclipse, feu clic a 'Executa com' i seleccioneu 'TestNG test'.
O
Feu clic directament al botó Executa de la barra d'eines de l'Eclipse.
Q # 4) Quines són les anotacions utilitzades a TestNG?
Resposta: Hi ha tres seccions d’anotació a TestNG:
(i) Anotacions de requisits previs: Aquestssón les anotacions TestNG que s'executen abans de la prova.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod són les anotacions de requisits previs.
(ii) Anotació de prova: Aquesta és l’anotació que només s’esmenta abans del cas de prova (Abans del mètode escrit per executar el cas de prova)
@Test és l’anotació de prova
(iii) Anotació de postcondició: Aquestes són les anotacions que s’executen després del cas de prova. (Un cop escrit el mètode per executar el cas de prova)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod són les anotacions de postcondició
Q # 5) Quina és la seqüència d'execució de les anotacions a TestNG?
Resposta: La seqüència d'execució de les anotacions és la següent:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
P # 6) Quins avantatges té TestNG?
Resposta: Els avantatges de TestNG són els següents:
- És un marc de codi obert, per tant és fàcil de configurar.
- Mitjançant TestNG podem crear sistemàticament els casos de prova.
- Ofereix moltes anotacions que al seu torn faciliten la creació de casos.
- Mitjançant TestNG, es poden definir les prioritats de les proves i la seqüència d’execució.
- L’agrupament és possible mitjançant TestNG.
- Genera informes HTML (Selenium Webdriver no pot generar els informes de proves sols, ajuda SW a aconseguir-ho).
- La parametrització de les dades és possible mitjançant TestNG.
- A més de totes les funcionalitats de JUnit, TestNG té les seves funcionalitats, que al seu torn el fan més potent.
Q # 7) Com establir prioritats a TestNG?
Resposta: Sempre hi ha més d’una prova o mètode a la classe. Si no prioritzem aquestes proves o mètodes, els mètodes es seleccionen alfabèticament i s’executen mentre s’executen.
Si volem executar les proves en la seqüència que vulguem, hem d’establir la prioritat juntament amb l’anotació @Test.
Això es pot fer de la següent manera:
@Test (prioritat = 1), @Test (prioritat = 2)
Penseu en el següent exemple:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
A l'exemple anterior, clickelement () s'executarà primer ja que la prioritat s'estableix en 1.
I, getText () s'executarà després de clickelement (), ja que la seva prioritat s'estableix en 2.
Q # 8) Com es pot compartir l'informe del projecte mitjançant TestNG?
Resposta: Hi ha algunes maneres de fer-ho:
(i) Després de l'execució de la classe TestNG, hi ha una pestanya anomenada 'Resultat de l'execució de la classe' que es genera al costat de la consola.
Podem copiar-ho i compartir-lo.
(ii) Després de l'execució de la classe TestNG,
- Feu clic amb el botó dret al nom del projecte i actualitzeu-lo
- Feu clic a la carpeta 'Prova de sortida'
- Feu clic amb el botó dret al fitxer 'index.html' i seleccioneu les propietats
- Copieu l'enllaç situat al costat de 'Ubicació'
Podem compartir aquest enllaç per veure l'informe bàsic de proves HTML que genera TestNG.
Aquest és el fitxer que es genera automàticament a la vostra màquina després de l'execució de la classe mitjançant TestNG.
P # 9) Com definireu l'agrupació a TestNG?
Resposta: Podem definir l'agrupació a TestNG mitjançant l'atribut de grups com es mostra a continuació:
@Test (grups = 'títol')
Q # 10) Què és una dependència de TestNG?
Resposta: Hi ha alguns mètodes dels quals depenen molts mètodes.
Per exemple, Si volem provar qualsevol aplicació i si la pàgina d'inici de sessió de l'aplicació no funciona, no podrem provar la resta d'escenaris.
Per tant, LoginTest és el mètode del qual depenen moltes proves.
Per tant, escriurem de la següent manera:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
El codi anterior mostra que el mètode homePageLaunched () depèn completament del mètode LoginTest ().
Si es passa LoginTest (), només s’executa el mètode homePageLaunched ()
Q # 11) Què és InvocationCount a TestNG?
Resposta: Si volem executar un cas de prova 'n' diverses vegades, podem utilitzar l'atribut invocationCount tal com es mostra a l'exemple següent.
Exemple:
@Test(invocationCount=8) Public void print() { }
A l'exemple anterior, el mètode print () s'executarà vuit vegades.
P # 12) Què és timeOut a TestNG?
Resposta: Si algun mètode de l'script triga a executar-se, podem finalitzar aquest mètode utilitzant el 'temps d'espera' a TestNG.
@Test (temps d'espera = 5000)
En aquest cas, el mètode finalitzarà en 5000 ms (5 segons) i el cas de prova es marcarà com a 'Fallit'.
P # 13) Com gestionar les excepcions a TestNG?
Resposta: Si hi ha alguns mètodes dels quals esperem algunes excepcions, podem esmentar l'excepció a l'anotació @Test perquè el cas de prova no falli.
Exemple: Si s’espera que un mètode tingui una excepció “numberFormatException”, el cas de prova fallarà a causa d’aquesta excepció si no s’especifica cap bloc de prova.
Però ho podem fer a TestNG mitjançant l’atribut “expectedException” de la següent manera.
@Test (expectedException = numberFormatException.class)
Aleshores, el cas de prova s’executarà sense fallar.
P # 14) Quines són les afirmacions més habituals de TestNG?
Resposta: Les afirmacions habituals de TestNG inclouen:
(i) Assert.assetEquals (Cadena real, Cadena esperada);
- Accepta dues cordes.
- Si ambdues cadenes són iguals, el cas de prova s'executa correctament en cas contrari, el cas de prova falla.
(ii) Assert.assertEquals (Cadena real, Cadena esperada, missatge Cadena)
- Accepta dues cordes.
- Si ambdues cadenes són iguals, el cas de prova s'executa correctament en cas contrari, el cas de prova falla.
- El missatge s’imprimeix si falla el cas de prova.
(Iii) Assert.assertEquals (real boolean, esperat booleà)
- Accepta dos valors booleans.
- Si els dos valors booleans són iguals, el cas de prova s'executa correctament en cas contrari, el cas de prova falla.
(iv) Assert.assertTrue ()
- Accepta un valor booleà.
- L'afirmació passa si la condició és True, en cas contrari es mostra un error d'afirmació.
(v) Assert.assertFalse ()
- Accepta un valor booleà.
- L'afirmació passa si la condició és Falsa, en cas contrari es mostra un error d'afirmació.
(nosaltres) Assert.assertTrue (, missatge)
- Accepta un valor booleà.
- L'afirmació passa si la condició és True, en cas contrari es mostra un error d'afirmació amb el missatge esmentat.
(estàs venint) Assert.assertFalse (, missatge)
- Accepta un valor booleà.
- L'afirmació passa si la condició és Falsa, en cas contrari es mostrarà un error d'afirmació amb el missatge esmentat.
P # 15) Com desactivar una prova a TestNG?
Resposta:
Per desactivar una prova a TestNG, hem d'utilitzar l'atribut 'enabled' de la manera següent:
@Test (enabled = 'false')
Q # 16) Quins són els tipus d'asserts a TestNG?
Resposta: Per validar els resultats (aprovar / suspendre), hem d'utilitzar l'afirmació.
Hi ha dos tipus d’afirmació a TestNG:
(i) Assert dur:
Hard Assert és l’assert normal que s’utilitza per fer validacions a la classe TestNG.
Hem d’utilitzar la classe Assert per a assert dur, de la manera següent:
Assert.assertEquals (valor real, valor esperat);
Si l’assert dur falla, cap dels codis s’executa després de la sentència assert.
(ii) Soft Assert:
Si volem continuar l'execució de la prova fins i tot després que falli la sentència assert, haurem d'utilitzar soft assert.
Per crear una afirmació suau, hem de crear un objecte d'una classe 'softAssert' de la següent manera:
softAssert sassert = softAssert nou ();
sassert.assertAll ();
c programació de preguntes i respostes d’entrevistes
Per tant, ara si falla el cas de prova, l'execució no s'acaba quan fem servir soft assert.
P # 17) Com passar el paràmetre en el cas de prova a través del fitxer testng.xml?
Resposta: Si tenim una classe en què es defineix un mètode d'inici de sessió, podem passar els paràmetres d'inici de sessió a aquest mètode d'inici de sessió des del fitxer testing.xml
Haurem d’utilitzar l’anotació “@parameters” de la següent manera:
@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); }
Ara aneu al fitxer testng.xml i introduïu-hi els paràmetres de la manera següent:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
P # 18) Quina és la necessitat de crear un fitxer testng.xml?
Resposta: Quan provem un projecte amb Selenium Webdriver, té moltes classes. No podem triar aquestes classes una per una i posar-les per a l'automatització. Per tant, hem de crear una suite perquè totes les classes s'executin en una sola prova.
Ho podem aconseguir creant un fitxer testing.xml.
P # 19) Com crear un fitxer XML a TestNG?
Resposta: Aneu a la carpeta src -> feu clic a fitxer -> introduïu el nom del fitxer (la majoria escrits testing.xml)
A continuació, feu clic a Finalitza.
Tenim un fitxer XML en blanc. Aquí hem d’esmentar el nom del projecte i les classes que s’executaran juntament amb el nom del paquet, tal com es mostra a continuació.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
Per executar aquest fitxer, hem d’anar a testng.xml a l’explorador de paquets, fer clic amb el botó dret i executar-ho com -> TestNG suite
P # 20) Com llançar una excepció SKIP a TestNG?
Resposta: Si volem OBRIR qualsevol prova mitjançant proves, hem d’utilitzar l’excepció SKIP a TestNG.
Està escrit de la següent manera:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Us desitgem tot el millor per a la vostra entrevista !!
Lectura recomanada
- Preguntes i respostes de l’entrevista
- Preguntes d'entrevistes de Spock amb respostes (més populars)
- Top 20+ Preguntes i respostes de l’entrevista .NET
- Preguntes i respostes d’entrevistes de proves ETL
- Top 20 de les preguntes i respostes de les entrevistes de proves API més importants
- Top 30 de les preguntes i respostes més populars de l'entrevista de cogombre
- Top 50 de les preguntes i respostes de les entrevistes CCNA més populars
- Top 40 de les preguntes i respostes populars de l'entrevista J2EE que hauríeu de llegir