20 most popular testng interview questions
Най-често задавани въпроси и отговори на интервю за TestNG с примери, които да ви помогнат при подготовката:
Списък с най-популярните и често задавани въпроси за интервюта и отговори на TestNG са обяснени тук в тази статия.
На съответните места се добавят прости примери за лесното ви разбиране на концепцията. Сигурен съм, че тези въпроси ще ви помогнат да пробиете успешно всяко интервю за TestNG.
Често задавани въпроси за интервю за TestNG
В # 1) Какво е TestNG?
Отговор: TestNG е рамката, създадена за изпълнение на модулни тестове в Java програма от разработчиците.
TestNG се използва и от софтуерните тестери за ефективно изпълнение на автоматизираните тестови скриптове, създадени в Selenium Webdriver. Пълната му форма е рамката „Тестване на ново поколение“.
как да конвертирате char в int в c ++
Той е вдъхновен от “JUnit”, който е друга рамка за модулно тестване на Java програми. В допълнение към всички функции в JUnit, TestNG има своите нови функции, които го правят по-мощен.
В # 2) Как ще инсталирате TestNG в Eclipse?
Отговор:
Следвайте стъпките по-долу, за да инсталирате TestNG на Eclipse:
- Отидете на Eclipse -> Щракнете върху „Помощ“ -> Щракнете върху „Инсталиране на нов софтуер“.
- Щракнете върху бутона „Добавяне“, Въведете името (за предпочитане TestNG) в текстовото поле „Напред“. Въведете в текстовото поле „Местоположение“ и кликнете върху бутона за действие „ОК“.
- Поставете отметка в квадратчето TestNG и кликнете върху бутона за действие „Напред“. Инсталацията ще започне и Eclipse ще се рестартира след инсталацията.
- Щракнете с десния бутон върху проекта в Eclipse -> Изберете път на изграждане -> Конфигуриране на пътя на изграждане.
- Изберете раздела библиотека -> Щракнете върху бутона Добавяне на библиотека -> Изберете TestNG-> Щракнете върху Напред -> Щракнете върху Край и Приложи и затворете.
В # 3) Как да стартирам скрипта TestNG?
Отговор:
За да стартирате скрипта TestNG:
Щракнете с десния бутон върху класа в Eclipse, щракнете върху „Run as“ и изберете „TestNG test“.
ИЛИ
Щракнете директно върху бутона Run в лентата с инструменти на Eclipse.
В # 4) Какви са анотациите, използвани в TestNG?
Отговор: В TestNG има три раздела за анотиране:
(i) Анотации на предварително условие: Тезиса анотациите TestNG, които се изпълняват преди теста.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod са анотациите за предварително условие.
(ii) Тестова анотация: Това е анотацията, която се споменава само преди теста (Преди метода, написан за изпълнение на теста)
@Test е тестовата анотация
(iii) Поставяне на анотация: Това са анотациите, които се изпълняват след тестовия случай. (След като методът е написан за изпълнение на тестовия случай)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod са поясненията след условие
В # 5) Каква е последователността на изпълнение на анотациите в TestNG?
Отговор: Последователността на изпълнение на анотациите е както следва:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
В # 6) Какви са предимствата на TestNG?
Отговор: Предимствата на TestNG са следните:
- Това е рамка с отворен код, поради което е лесна за конфигуриране.
- Използвайки TestNG, ние можем систематично да създаваме тестовите случаи.
- Той дава много анотации, което от своя страна улеснява създаването на тестовия случай.
- Използвайки TestNG, могат да се определят приоритетите на тестовете и последователността на изпълнение.
- Групирането е възможно с помощта на TestNG.
- Той генерира HTML отчети (Selenium Webdriver не може да генерира тестови отчети сам, той помага на SW да постигне това).
- Параметризиране на данни е възможно с помощта на TestNG.
- В допълнение към всички функционалности на JUnit, TestNG има и своите функционалности, което от своя страна го прави по-мощен.
В # 7) Как да зададете приоритети в TestNG?
Отговор: Винаги има повече от един тест или метод в класа. Ако не дадем приоритет на тези тестове или методи, тогава методите се избират по азбучен ред и се изпълняват по време на изпълнение.
Ако искаме да стартираме тестовете в желаната от нас последователност, тогава трябва да зададем приоритета заедно с анотацията @Test.
Това може да стане по следния начин:
@Test (приоритет = 1), @Test (приоритет = 2)
Обмислете следния пример:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
В горния пример ще се изпълни първо clickkelement (), тъй като приоритетът е зададен на 1.
И getText () ще се изпълни след clickkelement (), тъй като приоритетът му е зададен на 2.
В # 8) Как да споделям отчета за проекта с помощта на TestNG?
Отговор: Има няколко начина да го направите:
(i) След изпълнението на класа TestNG има един раздел, наречен „Резултат от работещ клас“, който се генерира до конзолата.
Можем да копираме това и да го споделим.
(ii) След изпълнението на класа TestNG,
- Щракнете с десния бутон върху името на проекта и опреснете
- Щракнете върху папката “Test-output”
- Щракнете с десния бутон върху файла „index.html“ и изберете свойства
- Копирайте връзката до „Местоположение“
Можем да споделим тази връзка, за да видим основния отчет за HTML теста, който се генерира от TestNG.
Това е файлът, който се генерира автоматично на вашата машина след изпълнението на класа с помощта на TestNG.
В # 9) Как ще определите групирането в TestNG?
Отговор: Можем да определим групирането в TestNG, като използваме атрибута groups, както е показано по-долу:
@ Тест (групи = ”заглавие”)
В # 10) Какво представлява зависимостта от TestNG?
Отговор: Има някои методи, от които зависят много методи.
Например, Ако искаме да тестваме някое приложение и ако страницата за вход в приложението не работи, няма да можем да тестваме останалите сценарии.
И така, LoginTest е методът, от който зависят много тестове.
Следователно ще напишем както следва:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
Горният код показва, че методът homePageLaunched () е напълно зависим от метода LoginTest ().
Ако LoginTest () бъде предаден, само тогава се изпълнява методът homePageLaunched ()
В # 11) Какво представлява InvocationCount в TestNG?
Отговор: Ако искаме да изпълним тестов случай „n“ брой пъти, тогава можем да използваме атрибута invocationCount, както е показано в долния пример.
Пример:
@Test(invocationCount=8) Public void print() { }
В горния пример методът print () ще се изпълни 8 пъти.
В # 12) Какво е timeOut в TestNG?
Отговор: Ако някой метод в скрипта отнема много време, за да се изпълни, тогава можем да прекратим този метод, използвайки “timeout” в TestNG.
@ Тест (изчакване = 5000)
В този случай методът ще бъде прекратен за 5000 ms (5 секунди) и тестовият случай е маркиран като „Failed“.
В # 13) Как да се справим с изключенията в TestNG?
Отговор: Ако има някои методи, от които очакваме някои изключения, тогава можем да споменем изключението в @Test анотация, така че тестовият случай да не се провали.
Пример: Ако се очаква метод да има изключение “numberFormatException”, тогава тестовият случай ще се провали поради това изключение, ако не е посочен блок за опит за улавяне.
Но можем да го направим в TestNG, като използваме атрибута 'оживенException', както следва.
@Test (очакванException = numberFormatException.class)
Тогава тестовият случай ще работи, без да се провали.
В # 14) Кои са често срещаните твърдения на TestNG?
Отговор: Общите твърдения за TestNG включват:
(i) Assert.assetEquals (String действителен, низ се очаква);
- Приема две струни.
- Ако и двата низа са равни, тестовият случай се изпълнява успешно, в противен случай тестовият случай се проваля.
(ii) Assert.assertEquals (String действителен, String очаквано, String съобщение)
- Приема две струни.
- Ако и двата низа са равни, тестовият случай се изпълнява успешно, в противен случай тестовият случай се проваля.
- Съобщението се отпечатва, ако тестът не успее.
(iii) Assert.assertEquals (булево действително, булево очаквано)
- Приема две логически стойности.
- Ако и двете булеви стойности са равни, тестовият случай се изпълнява успешно, в противен случай тестовият случай се проваля.
(iv) Assert.assertTrue ()
- Той приема булева стойност.
- Твърдението преминава, ако условието е True, в противен случай се показва грешка в твърдението.
(v) Assert.assertFalse ()
- Той приема булева стойност.
- Твърдението преминава, ако условието е False, в противен случай се показва грешка в твърдението.
(ние) Assert.assertTrue (, съобщение)
- Той приема булева стойност.
- Твърдението преминава, ако условието е True, в противен случай се показва грешка в твърдение със споменатото съобщение.
(идваш ли) Assert.assertFalse (, съобщение)
- Той приема булева стойност.
- Твърдението преминава, ако условието е False, в противен случай се показва грешка в твърдение със споменатото съобщение.
Въпрос # 15) Как да деактивирам тест в TestNG?
Отговор:
За да деактивираме тест в TestNG, трябва да използваме атрибута “enabled”, както следва:
@ Тест (активиран = “false”)
В # 16) Какви са типовете твърдения в TestNG?
Отговор: За да потвърдим резултатите (преминаване / неуспех), трябва да използваме твърдението.
В TestNG има два вида твърдения:
(i) твърдо твърдение:
Hard Assert е нормалното твърдение, което се използва за валидиране в класа TestNG.
Трябва да използваме Assert клас за твърдо твърдение, както следва:
Assert.assertEquals (действителна стойност, очаквана стойност);
Ако твърдото твърдение се провали, тогава нито един от кода не се изпълнява след инструкцията за твърдение.
(ii) Soft Assert:
Ако искаме да продължим изпълнението на теста, дори след като инструкцията за твърдение се провали, тогава трябва да използваме меко твърдение.
За да създадете меко твърдение, трябва да създадем обект от клас “softAssert”, както следва:
как да отворя .jar файлове
softAssert sassert = нов softAssert ();
sassert.assertAll ();
Така че сега, ако тестовият случай се провали, изпълнението не се прекратява, когато използваме меко твърдение.
Въпрос # 17) Как да предам параметър в тестовия случай чрез файла testng.xml?
Отговор: Ако имаме клас, в който е дефиниран метод за вход, тогава можем да предадем параметрите за вход към този метод за вход от файла testing.xml
Ще трябва да използваме анотацията „@parameters“, както следва:
@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); }
Сега отидете на файла testng.xml и въведете параметрите там, както следва:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
В # 18) Каква е необходимостта от създаване на файл testng.xml?
Отговор: Когато тестваме проект с помощта на Selenium Webdriver, в него има много класове. Не можем да избираме тези класове един по един и да ги поставяме за автоматизация. Следователно трябва да създадем пакет, така че всички класове да се изпълняват в един тестов пакет.
Можем да постигнем това, като създадем файл testing.xml.
Въпрос # 19) Как да създам XML файл в TestNG?
Отговор: Отидете в папката src -> щракнете върху файл -> въведете името на файла (най-вече написано testing.xml)
След това кликнете върху край.
Имаме празен XML файл. Тук трябва да споменем името на проекта и класовете, които ще се изпълняват, заедно с името на пакета, както е показано по-долу.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
За да стартираме този файл, трябва да отидем на testng.xml в десния бутон на изследователя на пакети и да стартираме като -> TestNG suite
Въпрос # 20) Как да се хвърли SKIP изключение в TestNG?
Отговор: Ако искаме да пропуснем всеки тест с помощта на тестване, тогава трябва да използваме изключението SKIP в TestNG.
Пише се по следния начин:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Пожелаваме ви всичко най-добро за вашето интервю !!
Препоръчително четене
- Интервюирайте въпроси и отговори
- Спок интервю въпроси с отговори (най-популярни)
- Топ 20+ .NET интервюта и отговори
- Въпроси и отговори за интервю за ETL тестване
- Топ 20 на най-важните въпроси и отговори за интервю за API тестване
- Топ 30+ популярни въпроси и отговори за интервю за краставици
- Топ 50 на най-популярните въпроси и отговори за интервю за CCNA
- Топ 40 популярни въпроси и отговори за интервю за J2EE, които трябва да прочетете