Articles

TestNG Interview Questions

Posted by admin

w tym kursie poświęconym TestNG staraliśmy się omówić wszystkie tematy związane z frameworkiem TestNG. Mam nadzieję, że czytelnicy ćwiczyli TestNG z mieszanką tematów poświęconych temu kursowi. Co więcej, doskonalenie się w ramach TestNG i trzymanie się jego koncepcji na podpowiedziach pomoże Ci zwiększyć swoją karierę i dodać kolejne pióro w kapeluszu. Dodatkowo otworzy to również więcej drzwi do możliwości i doświadczeń w różnych projektach i różnych korporacjach w twojej karierze zawodowej. Ale aby wykorzystać te możliwości, musisz stawić czoła jeszcze jednemu wyzwaniu, czyli rozmowie kwalifikacyjnej. Dlatego w tym artykule omówimy pytania dotyczące wywiadu TestNG.

w związku z tym, aby pomóc naszym kolegom testerom w tym samym zakresie, przygotowaliśmy listę pytań na rozmowę kwalifikacyjną TestNG dostępnych w tych postach, które są zadawane popularnie w rozmowach związanych z stanowiskami Test Engineer lub Automation Engineer. Należy jednak pamiętać, że chociaż te pytania dotykają każdej koncepcji pytań TestNG Wywiad, pozostała ciężka praca jest praktyką.

dlatego polecam, aby przejść przez wszystkie tematy i ćwiczyć je dokładnie, ponieważ nie ma twardych i szybkich ograniczeń dotyczących tego,co ankieter może zapytać rozmówcę. Ponadto wiele z tych pytań będzie odwoływać się do Selenium wraz z TestNG, ponieważ TestNG jest dość mocno używany ze sterownikiem Selenium web. Dlatego te pytania TestNG Wywiad są tylko w celach informacyjnych.

poniższe pytania zostały podzielone na podczęści, aby pomóc Ci zapamiętać koncepcję w jaśniejszy sposób.

podstawy TestNG

co to jest Framework TestNG?

TestNG framework to framework testowy służący do wykonywania testów w języku programowania java. Co więcej,” NG „w TestNG skraca się do” następnej generacji.”Cedric Beust opracował go i zainspirował się frameworkiem testowym JUnit i NUnit. Następnie możesz dowiedzieć się, czym jest TestNG Framework w szczegółach, tutaj.

jak uruchomić skrypt TestNG?

skrypt TestNG jest uruchamiany przez kliknięcie prawym przyciskiem myszy na klasie TestNG-> Uruchom jako- > TestNG Test. Następnie dowiedz się, jak zainstalować TestNG w Eclipse i IntelliJ.

jakie są zalety TestNG?

jedno z publicznych pytań na rozmowę kwalifikacyjną TestNG dotyczy zalet TestNG.

TestNG ma następujące zalety:

  • po pierwsze, TestNG jest w stanie automatycznie tworzyć raporty ze wszystkimi niezbędnymi informacjami, takimi jak nieudane testy, zaliczone testy, czasy wykonania testów itp.
  • po drugie, TestNG korzysta z adnotacji takich jak @BeforeMethod, @Test itp., które są łatwo zrozumiałe, ponieważ ich nazewnictwo jest po ich pracy.
  • Po Trzecie, TestNG dostarcza grupowanie metod, za pomocą których możemy grupować wiele metod jako jedną jednostkę. Innymi słowy, grupowanie wykonuje operacje na wszystkich testach w grupie naraz, a nie pojedynczo.
  • Po czwarte, TestNG zapewnia parametryzację metody testowej, co oznacza, że możemy podać parametry w TestNG i wywołać funkcję wielokrotnie z różnymi wartościami. Ponadto parametryzacja pomaga w testowaniu danych w TestNG.
  • Po piąte, TestNG zapewnia priorytetyzację metod. Innymi słowy, definiując priorytety metod w TestNG, możemy zmienić domyślną sekwencję wykonania metod testowych zgodnie z naszym życzeniem.
  • oprócz powyższego, TestNG umożliwia równoległe testowanie, co zwiększa wydajność i poprawia ogólny czas pracy metod badawczych.
  • dzięki frameworkowi TestNG możesz łatwo zintegrować się z innymi narzędziami, takimi jak Maven, Jenkins itp.
  • co więcej, TestNG zapewnia funkcję uruchamiania wielu metod testowych na różnych przeglądarkach w celu przetestowania problemów ze zgodnością między przeglądarkami na twojej stronie. Jest to testowanie między przeglądarkami.
  • dodatkowo TestNG pozwala nam uruchamiać testy osobno. Tak więc, jeśli uruchomisz testy i tylko jeden test nie powiedzie się, możesz uruchomić ten test niezależnie w następnym wykonaniu.
  • co więcej, TestNG pozwala na wzajemne uzależnienie metod testowania. Nazywa się to również zależnością testową w TestNG.
  • wreszcie, TestNG zapewnia kilka metod twierdzenia do testowania bardziej efektywnie.

następnie możesz dowiedzieć się więcej o zaletach TestNG framework tutaj.

TestNG Test Case And Suites

Jaka jest różnica między TestNG test a TestNG test suite?

TestNG test suite odnosi się do zbioru testów, które możemy uruchomić jednocześnie za pomocą pliku TestNG XML. Z drugiej strony, TestNG jest pojedynczym plikiem przypadku testowego, a kiedy mówimy „uruchamiamy przypadek testowy TestNG”, mamy na myśli po prostu uruchamiamy pojedynczy plik przypadku testowego.

dowiedz się więcej o TestNG Test Suite.

Określ prawidłową kolejność tagów w pliku TestNG XML.

prawidłowa kolejność uruchamiania pakietu TestNG z pliku XML jest następująca:

XHTML

1
2
3
4
5

<Apartament>
<test>
<klasy>
<Klasa>
<metody>

znaczniki zamknięcia nie pojawiają się tutaj, ponieważ jest to po prostu do celów demonstracyjnych. Następnie możesz dowiedzieć się więcej o tym, jak uruchamiać Pakiety TestNG przez XML?

adnotacje TestNG

jakie są rodzaje adnotacji używanych w TestNG (w kolejności wykonania/hierarchii)?

istnieje dziewięć rodzajów adnotacji używanych w TestNG. W kolejności ich wykonania są one następujące:

  • @BeforeSuite
  • @BeforeTest
  • @BeforeClass
  • @BeforeMethod
  • @Test
  • @Afterclass
  • @AfterTest
  • @Aftersuite

jakie są Kategorie adnotacji w TestNG?

Przypisy testowe dzielą się na trzy kategorie:

  • adnotacje warunkowe: adnotacje w tej kategorii są wykonywane przed testem. Składa się z następujących adnotacji:
    • @ BeforeMethod
    • @ BeforeClass
    • @BeforeSuite
    • @BeforeTest
  • adnotacje testowe: adnotacje w tej kategorii są zdefiniowane tuż przed metodami testowymi. Ponadto składa się z następujących adnotacji:
    • @ Test
  • adnotacje Postcondition: adnotacje w tej kategorii wykonują się po metodach testowych. Dodatkowo składa się z następujących adnotacji:
    • @ AfterMethod
    • @ AfterClass
    • @ AfterTest
    • @ AfterSuite

następnie możesz dowiedzieć się więcej na ten temat tutaj, jak korzystać z adnotacji TestNG przy użyciu Selenium.

raporty TestNG

jakie są typy raportów generowanych domyślnie w TestNG?

TestNG domyślnie generuje dwa typy raportów po zakończeniu wszystkich metod testowych. Są to:

  • raporty emailowe
  • raporty indeksowe

następnie możesz dowiedzieć się więcej na ten temat tutaj, czym są raporty emailowe i indeksowe w TestNG?

gdzie jest generowany i zapisywany raport emailable w TestNG?

dostępne raporty generują w folderze projektu i podfolderze test-output. Ten raport jest dostępny jako ” emailable-report.html ” domyślnie.

gdzie jest generowany i zapisywany raport indeksu w TestNG?

raport indeksu generuje się w folderze projektu i podfolderze test-output. Ponadto raport dostępny jest jako ” indeks.html ” domyślnie.

następnie możesz dowiedzieć się więcej o tym tutaj, Jak przeglądać i analizować raporty w TestNG?

priorytety TestNG

jakie są priorytety w TestNG?

priorytety w TestNG jest parametrem, który deklaruje priorytet konkretnej metody testowej. TestNG wykorzystuje metodę alfabetycznego wykonania do wykonania swojej metody testowej. Poprzez priorytety możemy zmieniać kolejność wykonania testu. Dodatkowo, priorytet może być ustawiony jako wartość całkowita i niższa ta wartość całkowita; wyższy jest priorytet.

w dalszej kolejności możesz dowiedzieć się więcej o tym tutaj, jakie są priorytety w TestNG?

Jak ustawić priorytety w TestNG?

priorytet TestNG jest ustawiany według następującej składni:

@Test (priority = 1)

public void func(){

//kod badania

}

przykład priorytetyzacji w TestNG może być następujący:

następnie możesz dowiedzieć się więcej o tym tutaj, jak ustawić priorytety i sekwencjonowanie w TestNG?

dlaczego tworzymy plik XML w TestNG?

używamy pliku XML w TestNG do wielu celów. Plik TestNG XML pomaga nam:

  • aby uruchomić wiele testów w jednym wykonaniu.
  • po drugie, pomaga nam również uwzględnić i wykluczyć metody i grupy testowe.
  • po trzecie, pomaga nam również dodawać zależności w grupach.
  • Po czwarte, pomaga uruchomić metody przypadku testowego za pomocą parametrów.
  • wreszcie pomaga w wykonaniu równoległego wykonania testu.

dowiedz się więcej o tym, jak dołączyć i wykluczyć grupy w TestNG za pomocą pliku XML?

parametry TestNG

co to jest parametryzacja w TestNG?

w TestNG parametryzacja uruchamia metodę testową wielokrotnie z różnymi wartościami. Inną nazwą tego procesu jest testowanie oparte na danych w TestNG. Parametryzację w TestNG możemy uzyskać na dwa sposoby:

  • po pierwsze, możemy to osiągnąć za pomocą pliku XML.
  • po drugie, możemy to osiągnąć poprzez dataproviders w TestNG.

dowiedz się więcej o uruchamianiu sparametryzowanych testów w TestNG poprzez XML i dataproviders.

jakie są opcjonalne parametry w TestNG?

parametry opcjonalne działają podobnie do domyślnego przypadku w parametryzacji w TestNG. Używamy opcjonalnego parametru, gdy żaden inny parametr nie zostanie zdefiniowany dla tej metody przypadku testowego. Dodatkowo adnotacja @ Optional deklaruje opcjonalny parametr. Nie definiujemy parametru @ opcjonalny nad definicją metody testowej, ale obok miejsca, w którym metoda jest zadeklarowana. Następnie poniższy fragment kodu demonstruje deklarację opcjonalnych parametrów w TestNG:

dowiedz się więcej o tym, jak zaimplementować opcjonalne parametry w TestNG?

zapisuje kod wycięty dla przekazania wartości 1 i 2 do parametrów val1 i val2 poprzez plik XML.

aby przekazać wartości do parametrów w TestNG, używamy znacznika < parametr> w pliku TestNG XML. Dodatkowo zawiera dwa atrybuty:

  • Nazwa: Nazwa zmiennej parametru.
  • value: Wartość do wstawienia do tej zmiennej.

Obserwuj następujący plik XML oznaczający to samo pojęcie.

dowiedz się więcej o tym, jak przekazać parametry w TestNG przez plik XML?

grupy TestNG

jakie jest znaczenie grup w TestNG?

kolejne ważne pytania dotyczące wywiadu testowego dotyczą jego znaczenia.

grupy są zbiorem wielu metod przypadków testowych połączonych w jedną jednostkę. Grupując, możemy działać bezpośrednio na grupę, co będzie odzwierciedlać wszystkie metody przypadku testowego pod nią. Co więcej, w TestNG możemy również utworzyć grupę grup jako większą jednostkę metod testowych.

dowiedz się więcej o tym, jak utworzyć grupę grup w TestNG?

jak zdefiniować grupy w TestNG?

odpowiedź na takie pytania TestNG jest taka, że definiujemy grupy w TestNG przekazując parametr „groups” do adnotacji testowej z wartością będącą nazwą grupy. W poniższym przykładzie, metoda przypadku testowego będzie pod grupą o nazwie „group1”.

@Test (groups = {„group1”})

//Metoda testu

jak wykluczyć grupę z cyklu wykonywania testu?

wykluczenie grupy w TestNG oznacza, że ta konkretna grupa powstrzymuje się od działania podczas wykonywania, a TestNG ją zignoruje. Dodatkowo nazwa grupy, którą chcemy wykluczyć, jest definiowana w pliku XML w następującej składni:

XHTML

1
2
3
4
5
6

<groups>
<run>
<exclude name = „demo”>
</exclude>
</run>
</groups>

dowiedz się więcej o tym, jak wykluczać grupy w TestNG?

Czy możemy używać wyrażenia regularnego w grupach TestNG? Napisz plik demonstracyjny XML dla tego samego.

tak, wyrażenia regularne mogą być używane w TestNG do wykonywania grup, które mają typowy wzorzec w swojej nazwie. Na przykład, jeśli chcę uruchomić wszystkie grupy o nazwie zaczynającej się od „abc”, to mogę zapisać Wyrażenie regularne jako abc.* w pliku XML.

demonstracja dla powyższego przykładu jest następująca:

dowiedz się więcej o tym, jak używać wyrażenia regularnego w grupach TestNG?

twierdzenia TestNG

co rozumiesz przez twierdzenia w TestNG?

zasób to fragment kodu, który pomaga nam zweryfikować, czy oczekiwany wynik i rzeczywisty wynik są równe, czy nie. W TestNG wykorzystujemy wbudowaną klasę „Assert”i wiele jej metod, aby określić, czy przypadek testowy przeszedł, czy nie. Dodatkowo, w TestNG, przypadek testowy działa jako „pass”, jeśli żadna z metod assert nie wyrzuca wyjątku podczas wykonywania. Składnia TestNG assert to:

Assert.Metoda (rzeczywista, oczekiwana, komunikat);

dowiedz się więcej o twierdzeniach TestNG i jak ich używać w TestNG?

opisz dowolne pięć wspólnych twierdzeń TestNG.

pięć wspólnych twierdzeń testowych to:

  • assertEqual(string actual,String expected)
  • assertEqual(String actual,String expected, String message)
  • assertEquals(Boolean actual,Boolean expected)
  • assertTrue(condition)
  • assertTrue(condition, message)
  • assertfalse(warunek)
  • assertfalse(warunek, wiadomość)

chociaż należy zauważyć, że TestNG zapewnia o wiele więcej twierdzeń. Dowiedz się więcej o typach twierdzeń w TestNG i ich składni.

jakie są różne rodzaje assert w TestNG?

istnieją dwa rodzaje twierdzeń w TestNG:

  • Soft Asserts
  • Hard Asserts

dowiedz się więcej o tym, co to jest Soft i hard assert w TestNG?

Zdefiniuj miękkie twierdzenia w TestNG i opisz, jak różnią się one od twardego twierdzenia.

miękkie twierdzenia w TestNG oznaczają, że wykonywanie testów nie zatrzyma się, nawet jeśli twierdzenie wyrzuci wyjątek pomiędzy wykonaniem. Oprócz tego TestNG nie zawiera domyślnie miękkich twierdzeń w TestNG, więc dodatkowy org.testng.twierdzenia.Wymagany jest import pakietu Softassert.

co więcej, miękkie twierdzenia różnią się od twardych twierdzeń, ponieważ twarde twierdzenia zatrzymują wykonanie przypadku testowego, gdy tylko pierwsze twierdzenie nie powiedzie się i dostarczają wyników. Hard assert domyślnie zawiera w TestNG.

dowiedz się więcej Czym są soft assert i jak ich używać w TestNG?

testy zależne od TestNG

co oznacza zależność w TestNG?

zależność w TestNG jest procesem polegającym na uzależnieniu jednego testu od drugiego. Dostarczając zależności w metodach testowych, zapewniamy, że metoda testowa B będzie działać tylko wtedy, gdy działa metoda testowa a (podane B zależy od A). Co więcej, w TestNG możemy również mieć jedną metodę testową zależną od wielu testów.

dowiedz się więcej o testach pojedynczych i wielu zależnych w TestNG.

jak tworzyć zależności w TestNG?

możemy utworzyć testy zależne w TestNG, podając parametr dependsonMethods w adnotacji @ Test. Wartość atrybutu jest nazwą metody, od której chcemy zależeć. Zastosowanie tej metody jest następujące:

tutaj metoda SignIn została uzależniona od metody OpenBrowser. Dowiedz się więcej o tym, jak tworzyć zależności w TestNG?

Jak utworzyć zależność poprzez plik XML?

TestNG pozwala nam również tworzyć zależności pomiędzy grupami poprzez plik TestNG XML. Takie zależności oznaczają zależność jednej grupy od drugiej. Poniższy kod pokazuje, jak osiągnąć ten sam cel:

tutaj Grupa logowania zależy od grupy openbrowser. Dowiedz się więcej o tym, jak tworzyć zależności grup w TestNG?

kiedy używamy „dependsOnGroups”w TestNG?

TestNG daje nam swobodę, aby pojedynczy test zależał od grupy testów. Gdy chcemy wykonać w taki sposób, używamy atrybutu dependsOnGroups w pliku przypadku testowego TestNG. Wartością tego atrybutu jest nazwa grupy, od której ma zależeć ta metoda. Poniżej znajduje się przykład demonstrujący to samo:

dowiedz się więcej o tym, jak używać dependsOnGroups w TestNG?

różne

jakie znaczenie ma „timeout” w TestNG?

w TestNG,” timeout ” jest parametrem, który określa maksymalny czas, jaki metoda może przyjąć do wykonania. Parametr timeout jest przydatny, jeśli czas wykonania jest ograniczeniem podczas testowania lub tester chce podjąć środki ostrożności przed niekończącym się wykonywaniem testów. Parametr timeout możemy zadeklarować w:

  • poziom pakietu: aby ograniczyć czas na wszystkie metody w pakiecie.
  • poziom metody: aby ustawić ograniczenie czasowe dla określonej metody.

składnia:

@Test (timeout = 1000)

co oznacza invocationCount w TestNG?

invocationCount jest atrybutem, który określa liczbę razy, jaką metoda testowa musi wykonać w jednym wykonaniu. Tak więc, jeśli invocationCount ustawia się na 5, wtedy metoda testowa będzie działać pięć razy za każdym razem, gdy wykonam TestNG przypadek testowy.

składnia dla invocationCount:

@Test (invocationCount = 5)

co oznacza równoległe wykonanie testu w TestNG?

równoległe wykonanie testu oznacza jednoczesne wykonywanie różnych metod badania, tj. równolegle w TestNG. Osiąga się to poprzez tworzenie wątków i przypisywanie tych wątków do różnych metod testowania (co odbywa się automatycznie i jest zadaniem systemu operacyjnego). Co więcej, przeprowadzanie testów równolegle, a nie sekwencyjnie, jest bardzo wydajne.

dowiedz się więcej o tym, co to jest równoległe wykonywanie testów w TestNG i jakie są jego zalety?

na jakich poziomach możemy zastosować równoległe testy w TestNG?

testy równoległe mogą być stosowane na czterech różnych poziomach w TestNG:

  • metody: spowoduje to uruchomienie równoległych testów wszystkich metod @Test w TestNG.
  • testy: wszystkie przypadki testowe obecne wewnątrz tagu< test > będą uruchamiane z tą wartością.
  • klasy: wszystkie przypadki testowe obecne wewnątrz klas istniejących w XML będą działać równolegle.
  • instancje: ta wartość uruchomi wszystkie przypadki testowe równolegle wewnątrz tej samej instancji.

dowiedz się więcej o tym, jak uruchamiać testy równolegle w TestNG na różnych poziomach za pomocą przykładów?

jak działa obsługa wyjątków w TestNG?

wykonujemy obsługę wyjątków w TestNG, definiując wyjątek na poziomie adnotacji @ Test. Jeśli będziemy postępować w taki sposób, testowy przypadek nie zawiedzie nawet po zgłoszeniu wyjątku.

przykład:

@Test (expectedException = numberFormatException.Klasa)

tester może napisać tutaj dowolny typ wyjątku zamiast numberFormatException.

Czy możemy wyłączyć test w TestNG? Jeśli tak, to jak?

tak, wyłączenie testu można osiągnąć w TestNG. Po wyłączeniu testu nie będzie on uruchamiany w następnym cyklu. Co więcej, osiągamy to za pomocą atrybutu „enabled”.

składnia:

@Test (enabled = False)

//kod

dowiedz się więcej o tym, jak pominąć testy za pomocą parametru enabled w TestNG?

dlaczego Klasa reporter jest używana w TestNG?

Klasa reporter w TestNG rejestruje zdefiniowane przez testera Wiadomości do raportów generowanych przez TestNG. Te zalogowane wiadomości są następnie drukowane w raportach, które możemy udostępnić zespołowi.

dowiedz się więcej co to jest klasa reportera w TestNG?

Zdefiniuj składnię generowania logów przez klasę reporter w TestNG.

Klasa Reporter rejestruje zdefiniowane przez testera wiadomości na raportach generowanych przez TestNG. Dodatkowo składnia dla tego samego jest następująca:

.log („message”);

dowiedz się więcej o tym, jak generować logi z klasą Reporter w TestNG?

co to jest adnotacja @ Factory w TestNG?

potrzeba uruchomienia wielu przypadków testowych w jednym teście wystarczy, używając adnotacji @Factory. Nazwa factory przypomina generowanie obiektu klasy test, który jest dostarczany przez metodę pod nią. Co więcej, jest to podobne do fabryki produkującej produkt. Poniższy przykład pokazuje adnotację fabryczną w TestNG:

Uwaga: metoda testowa pod adnotacją @ Factory zawsze zwraca tablicę obiektów.

jaka jest różnica między adnotacjami @ Factory i @ Dataprovider?

@Factory i @ Dataprovider to dwa rodzaje adnotacji dostępnych w TestNG, które wyglądają podobnie w działaniu, ale są różne.

@Fabryka: Użycie adnotacji fabrycznej jest wtedy, gdy tester musi wykonać metody testowe wiele razy, które są obecne w tej samej klasie. Dodatkowo osiągamy to poprzez tworzenie różnych instancji tej samej klasy.

@Dataprovider: adnotacja dataprovider umożliwia testerowi wielokrotne uruchomienie metody testowej przy użyciu innego zestawu danych dostarczonych przez dataprovider.

dowiedz się więcej o tym, czym są dataprovidery i ich wykorzystaniu w TestNG?

słuchacze TestNG

czym są słuchacze w TestNG?

słuchacze w TestNG są fragmentem kodu, który nasłuchuje określonych zdarzeń i wykonuje kod powiązany z tym zdarzeniem. W rezultacie, za pomocą słuchaczy TestNG, możemy zmienić domyślne zachowanie TestNG. Co więcej, w TestNG tester czerpie korzyści z wielu słuchaczy, którzy mają różne funkcjonalności.

dowiedz się więcej o tym, czym są słuchacze TestNG i ich typach?

jak są deklarowani słuchacze w TestNG?

kod słuchacza w TestNG istnieje w oddzielnym pliku niż plik przypadku TestNG. Następnie plik ten zawiera kod słuchacza, A Typ słuchacza do zaimplementowania jest wykonywany przez „implementację” klasy słuchacza w następujący sposób:

Java

1
2
3
4
5

public class ListenersTestNG implements ITestListener {
public void onStart(ITestContext context) {
System.out.println(„onStart method started”);
}
}

aby załączyć do pliku TestNG przypadek testowy o słuchaczu, deklarujemy adnotację @Listener i wymieniamy nazwę klasy słuchacza w następujący sposób:

dowiedz się więcej o tym, jak zaimplementować słuchaczy w TestNG?

czego potrzebujemy, aby wygenerować spersonalizowany raport w TestNG?

to jest jeden z wielu innych pytań testowych, które są zadawane. Dostosowany raport w TestNG generuje przy pomocy słuchaczy TestNG. Korzystając z interfejsu ITestListener w TestNG, możemy kontrolować zdarzenia takie jak method start, method pass, fail, itp. i zgodnie z tymi zdarzeniami tester może rejestrować odpowiednie wiadomości.

dowiedz się więcej o tym, co to jest i jak go używać w TestNG?

z mojej strony to były pytania z wywiadu publicznego. Ponownie, chciałbym prosić, aby nie polegać całkowicie na tych pytań TestNG wywiad i skierować je do zdobycia wiedzy na temat TestNG i jego funkcji. Więc ćwicz dalej i Wszystkiego najlepszego!!

Related Post