20 most popular testng interview questions
De vanligaste frågorna om testNG-intervjuer och svar med exempel som hjälper dig i din förberedelse:
En lista över de mest populära och vanliga intervjufrågorna och svaren på TestNG förklaras här i den här artikeln.
Enkla exempel läggs till på berörda platser för att du enkelt ska förstå konceptet. Jag är säker på att dessa frågor kan hjälpa dig att knäcka alla TestNG-intervjuer framgångsrikt.
Vanliga frågor om TestNG-intervjuer
F # 1) Vad är TestNG?
Svar: TestNG är ramverket som skapats för att utföra enhetstester i Java-programmet av utvecklarna.
TestNG används också av programvarutestarna för att effektivt köra de automatiska testskript som skapats i Selenium Webdriver. Dess fullständiga form är ramverket 'Testing New Generation'.
coola saker du kan göra med c ++
Det är inspirerat av ”JUnit” som är ett annat ramverk för enhetstestning av Java-program. Förutom alla funktioner i JUnit har TestNG sina nya funktioner som gör den mer kraftfull.
F # 2) Hur installerar du TestNG i Eclipse?
Svar:
Följ stegen nedan för att installera TestNG på Eclipse:
- Gå till Eclipse -> Klicka på 'Hjälp' -> Klicka på 'Installera ny programvara'.
- Klicka på knappen 'Lägg till', ange namnet (helst TestNG) i textrutan 'Nästa'. Ange i textrutan 'Plats' och klicka på åtgärdsknappen 'OK'.
- Markera kryssrutan TestNG och klicka på åtgärdsknappen ”Nästa”. Installationen startar och Eclipse startar om efter installationen.
- Högerklicka på projektet i Eclipse -> Välj byggvägen -> Konfigurera byggvägen.
- Välj biblioteksfliken -> Klicka på knappen Lägg till bibliotek -> Välj TestNG-> Klicka på Nästa -> Klicka på Slutför och tillämpa och stäng.
F # 3) Hur kör jag testNG-skriptet?
Svar:
Så här kör du TestNG-skriptet:
Högerklicka på klassen i Eclipse, klicka på 'Kör som' och välj 'TestNG-test'.
ELLER
Klicka direkt på Run-knappen i verktygsfältet i Eclipse.
F # 4) Vilka är anteckningarna som används i TestNG?
Svar: Det finns tre avsnitt av kommentarer i TestNG:
(i) Förutsättningsannoteringar: Dessaär TestNG-anteckningarna som körs före testet.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod är förutsättningsnoteringarna.
(ii) Testanteckning: Detta är anteckningen som bara nämns före testfallet (Innan metoden skriven för att utföra testfallet)
@Test är testanteckningen
(iii) Kommentar efter villkor: Det här är anteckningarna som utförs efter testfallet. (Efter att metoden har skrivits för att utföra testfallet)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod är postcondition-anteckningarna
F # 5) Vilken sekvens är exekveringen av anteckningarna i TestNG?
Svar: Sekvensen för verkställandet av anteckningarna är som följer:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
F # 6) Vilka är fördelarna med TestNG?
Svar: Fördelarna med TestNG är följande:
- Det är ett ramverk med öppen källkod, därför är det enkelt att konfigurera.
- Med hjälp av TestNG kan vi systematiskt skapa testfall.
- Det ger många kommentarer som i sin tur gör det enkelt att skapa testfallet.
- Med hjälp av TestNG kan testens prioriteringar och sekvensen för exekvering definieras.
- Gruppering är möjlig med TestNG.
- Den genererar HTML-rapporter (Selenium Webdriver kan inte generera testrapporterna ensam, det hjälper SW att uppnå detta).
- Dataparameterisering är möjlig med TestNG.
- Förutom alla funktioner i JUnit har TestNG sina funktioner, vilket i sin tur gör det mer kraftfullt.
F # 7) Hur ställer jag in prioriteringar i TestNG?
Svar: Det finns alltid mer än ett test eller en metod i klassen. Om vi inte prioriterar dessa tester eller metoder väljs metoderna alfabetiskt och körs under körning.
Om vi vill köra testerna i den sekvens vi vill ha, måste vi ställa in prioriteten tillsammans med @Test-kommentaren.
Detta kan göras enligt följande:
@Test (prioritet = 1), @Test (prioritet = 2)
Tänk på följande exempel:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
I exemplet ovan kommer clickelement () att köras först eftersom prioriteten är 1.
Och getText () körs efter clickelement () eftersom dess prioritet är 2.
F # 8) Hur delar jag projektrapporten med TestNG?
Svar: Det finns några sätt att göra det:
(i) Efter körningen av TestNG-klassen finns det en flik som heter 'Resultat av löpande klass' som genereras bredvid konsolen.
Vi kan kopiera detta och dela det.
(ii) Efter genomförandet av TestNG-klassen,
- Högerklicka på projektnamnet och uppdatera
- Klicka på mappen 'Test-output'
- Högerklicka på filen 'index.html' och välj egenskaper
- Kopiera länken bredvid ”Plats”
Vi kan dela den här länken för att se den grundläggande HTML-testrapporten som genereras av TestNG.
Det här är filen som genereras automatiskt på din maskin efter körning av klassen med TestNG.
F # 9) Hur definierar du gruppering i TestNG?
Svar: Vi kan definiera gruppering i TestNG med hjälp av gruppattribut som visas nedan:
@Test (grupper = ”titel”)
F # 10) Vad är beroende av TestNG?
Svar: Det finns några metoder som många metoder är beroende av.
Till exempel, Om vi vill testa någon applikation och om inloggningssidan för applikationen inte fungerar kan vi inte testa resten av scenarierna.
Så LoginTest är den metod som många test är beroende av.
Därför kommer vi att skriva enligt följande:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
Ovanstående kod visar att homePageLaunched () -metoden är helt beroende av LoginTest () -metoden.
Om LoginTest () passeras, körs bara homePageLaunched () -metoden
F # 11) Vad är InvocationCount i TestNG?
Svar: Om vi vill utföra ett testfall 'n' antal gånger, kan vi använda attributet invocationCount som visas i exemplet nedan.
Exempel:
@Test(invocationCount=8) Public void print() { }
I exemplet ovan kommer metoden print () att köras åtta gånger.
F # 12) Vad är timeout i TestNG?
Svar: Om någon metod i skriptet tar lång tid att utföra kan vi avsluta den metoden med hjälp av 'timeout' i TestNG.
@Test (timeout = 5000)
I det här fallet avslutas metoden på 5000 ms (5 sekunder) och testfallet markeras som “Misslyckades”.
F # 13) Hur hanterar man undantag i TestNG?
Svar: Om det finns några metoder som vi förväntar oss några undantag från, kan vi nämna undantaget i @Test-anteckningen så att testfallet inte misslyckas.
Exempel: Om en metod förväntas ha 'numberFormatException' -undantag misslyckas testfallet på grund av detta undantag om inget försöksfång-block anges.
Men vi kan göra det i TestNG genom att använda attributet 'expectException' enligt följande.
@Test (expectException = numberFormatException.class)
Då körs testfallet utan att misslyckas.
F # 14) Vilka är de vanligaste testNG-påståendena?
Svar: Vanliga testNG-påståenden inkluderar:
(i) Assert.assetEquals (faktisk sträng, förväntad sträng);
- Den accepterar två strängar.
- Om båda strängarna är lika utförs testfallet framgångsrikt, annars misslyckas testfallet.
(ii) Assert.assertEquals (String faktisk, String förväntad, String meddelande)
- Den accepterar två strängar.
- Om båda strängarna är lika utförs testfallet framgångsrikt, annars misslyckas testfallet.
- Meddelandet skrivs ut om testfallet misslyckas.
(iii) Assert.assertEquals (booleskt faktiskt, booleskt förväntat)
- Den accepterar två booleska värden.
- Om båda de booleska värdena är lika, körs testfallet framgångsrikt, annars misslyckas testfallet.
(iv) Assert.assertTrue ()
- Det accepterar ett booleskt värde.
- Påståendet passerar om villkoret är sant, annars visas ett påståendefel.
(v) Assert.assertFalse ()
- Det accepterar ett booleskt värde.
- Påståendet passerar om villkoret är Falsk, annars visas ett påståendefel.
(vi) Assert.assertTrue (, meddelande)
- Det accepterar ett booleskt värde.
- Påståendet passerar om villkoret är sant, annars visas ett påståendefel med det nämnda meddelandet.
(kommer du) Assert.assertFalse (, meddelande)
- Det accepterar ett booleskt värde.
- Påståendet passerar om villkoret är Falsk, annars visas ett påståendefel med nämnda meddelande.
F # 15) Hur inaktiverar jag ett test i TestNG?
Svar:
För att inaktivera ett test i TestNG måste vi använda attributet 'aktiverat' enligt följande:
@Test (aktiverat = ”falskt”)
F # 16) Vilka typer av påståenden i TestNG?
Svar: För att validera resultaten (pass / fail) måste vi använda påståendet.
Det finns två typer av påståenden i TestNG:
(i) Hård påstående:
Hard Assert är den normala påståendet som används för att göra valideringar i TestNG-klassen.
Vi måste använda Assert-klassen för hård påstående enligt följande:
Assert.assertEquals (faktiskt värde, förväntat värde);
Om den hårda påståendet misslyckas körs ingen av koden efter påståendet.
(ii) Soft Assert:
Om vi vill fortsätta testkörningen även efter att påståendet misslyckas måste vi använda soft assert.
För att skapa ett mjukt påstående, vi måste skapa ett objekt av en 'softAssert' -klass enligt följande:
softAssert sassert = ny softAssert ();
sassert.assertAll ();
Så om testfallet misslyckas avslutas inte körningen när vi använder soft assert.
F # 17) Hur skickar man parameter i testfallet genom testng.xml-filen?
Svar: Om vi har en klass där en inloggningsmetod är definierad, kan vi skicka inloggningsparametrarna till den här inloggningsmetoden från filen testing.xml
Vi måste använda anteckningen '@parameters' enligt följande:
@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); }
Gå nu till filen testng.xml och ange parametrarna där enligt följande:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
F # 18) Vad är behovet av att skapa en testng.xml-fil?
Svar: När vi testar ett projekt med Selenium Webdriver har det många klasser på det. Vi kan inte välja dessa klasser en efter en och lägga dem för automatisering. Därför måste vi skapa en svit så att alla klasser körs i en enda testsvit.
Vi kan uppnå detta genom att skapa en testing.xml-fil.
F # 19) Hur skapar jag en XML-fil i TestNG?
Svar: Gå till src-mappen -> klicka på fil -> ange namnet på filen (mestadels skriven testing.xml)
skillnad mellan testning av svart låda och testning av vitlåda
Klicka sedan på finish.
Vi har en tom XML-fil. Här måste vi nämna projektnamnet och klasserna som ska köras tillsammans med paketnamnet som visas nedan.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
För att köra den här filen måste vi gå till testng.xml i paketutforskaren högerklicka och köra som -> TestNG-svit
F # 20) Hur kastar jag ett SKIP-undantag i TestNG?
Svar: Om vi vill HOPPA över något test med hjälp av testning, måste vi använda SKIP-undantaget i TestNG.
Den är skriven enligt följande:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Vi önskar dig all lycka till din intervju !!
Rekommenderad läsning
- Intervjufrågor och svar
- Spock intervjufrågor med svar (mest populära)
- Topp 20+ .NET-intervjufrågor och svar
- ETL Testing Intervju Frågor och svar
- Topp 20 viktigaste API-testintervjuer och frågor
- Topp 30+ populära gurkaintervjuer och frågor
- Topp 50 mest populära CCNA-intervjufrågor och svar
- Topp 40 populära J2EE intervjufrågor och svar du bör läsa