20 most popular testng interview questions
Najczęściej zadawane pytania i odpowiedzi podczas rozmowy kwalifikacyjnej TestNG z przykładami, które pomogą Ci w przygotowaniu:
Lista najpopularniejszych i najczęściej zadawanych pytań podczas wywiadów oraz odpowiedzi na TestNG została wyjaśniona w tym artykule.
W odpowiednich miejscach dodano proste przykłady, aby ułatwić zrozumienie koncepcji. Jestem pewien, że te pytania pomogą Ci pomyślnie przejść każdą rozmowę kwalifikacyjną TestNG.
Często zadawane pytania podczas rozmowy kwalifikacyjnej TestNG
P # 1) Co to jest TestNG?
Odpowiedź: TestNG to framework stworzony przez programistów do wykonywania testów jednostkowych w programie java.
TestNG jest również używany przez testerów oprogramowania do wydajnego uruchamiania automatycznych skryptów testowych utworzonych w Selenium Webdriver. Jego pełną formą jest framework „Testing New Generation”.
jak wydrukować tablicę w odwrotnej kolejności
Inspiracją jest „JUnit”, który jest kolejną platformą do testowania jednostkowego programów Java. Oprócz wszystkich funkcji JUnit, TestNG ma nowe funkcje, które czynią go bardziej wydajnym.
Pytanie 2) Jak zainstalujesz TestNG w Eclipse?
Odpowiedź:
Wykonaj poniższe kroki, aby zainstalować TestNG na Eclipse:
- Przejdź do Eclipse -> kliknij „Pomoc” -> kliknij „Zainstaluj nowe oprogramowanie”.
- Kliknij przycisk „Dodaj”, wprowadź nazwę (najlepiej TestNG) w polu tekstowym „Dalej”. Wpisz w pole tekstowe „Lokalizacja” i kliknij przycisk akcji „OK”.
- Zaznacz pole wyboru TestNG i kliknij przycisk akcji „Dalej”. Instalacja rozpocznie się, a Eclipse uruchomi się ponownie po instalacji.
- Kliknij prawym przyciskiem myszy projekt w Eclipse -> Wybierz ścieżkę kompilacji -> Konfiguruj ścieżkę kompilacji.
- Wybierz zakładkę biblioteki -> Kliknij przycisk Dodaj bibliotekę -> Wybierz TestNG-> Kliknij Dalej -> Kliknij Zakończ i Zastosuj i zamknij.
Pytanie 3) Jak uruchomić skrypt TestNG?
Odpowiedź:
Aby uruchomić skrypt TestNG:
Kliknij prawym przyciskiem myszy klasę w Eclipse, kliknij „Uruchom jako” i wybierz „TestNG test”.
LUB
Bezpośrednio kliknij przycisk Uruchom na pasku narzędzi Eclipse.
P # 4) Jakie adnotacje są używane w TestNG?
Odpowiedź: W TestNG istnieją trzy sekcje adnotacji:
(i) Uwagi dotyczące warunków wstępnych: Teto adnotacje TestNG, które są wykonywane przed testem.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod to adnotacje warunku wstępnego.
(ii) Adnotacja dotycząca testu: To jest adnotacja, o której wspomina się tylko przed przypadkiem testowym (przed metodą napisaną w celu wykonania przypadku testowego)
@Test to adnotacja testowa
(iii) Adnotacja dotycząca warunków końcowych: Są to adnotacje, które są wykonywane po przypadku testowym. (Po napisaniu metody w celu wykonania przypadku testowego)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod to adnotacje warunku końcowego
P # 5) Jaka jest kolejność wykonywania adnotacji w TestNG?
Odpowiedź: Kolejność wykonywania adnotacji jest następująca:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
P # 6) Jakie są zalety TestNG?
Odpowiedź: Zalety TestNG są następujące:
- Jest to framework open source, dzięki czemu jest łatwy w konfiguracji.
- Korzystając z TestNG możemy systematycznie tworzyć przypadki testowe.
- Daje wiele adnotacji, co z kolei ułatwia tworzenie przypadków testowych.
- Za pomocą TestNG można zdefiniować priorytety testów i kolejność wykonywania.
- Grupowanie jest możliwe za pomocą TestNG.
- Generuje raporty HTML (Selenium Webdriver nie może sam generować raportów z testów, pomaga to osiągnąć SW).
- Parametryzacja danych jest możliwa za pomocą TestNG.
- Oprócz wszystkich funkcji JUnit, TestNG ma swoje funkcje, co z kolei sprawia, że jest bardziej wydajny.
Q # 7) Jak ustawić priorytety w TestNG?
Odpowiedź: W klasie zawsze jest więcej niż jeden test lub metoda. Jeśli nie nadamy priorytetu tym testom lub metodom, to metody są wybierane alfabetycznie i wykonywane podczas wykonywania.
Jeśli chcemy uruchomić testy w wybranej przez nas kolejności, to musimy ustawić priorytet wraz z adnotacją @Test.
Można to zrobić w następujący sposób:
@Test (priorytet = 1), @Test (priorytet = 2)
Rozważmy następujący przykład:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
W powyższym przykładzie element clickelement () zostanie wykonany jako pierwszy, ponieważ priorytet jest ustawiony na 1.
Funkcja getText () zostanie wykonana po kliknięciu elementu clickelement (), ponieważ jej priorytet jest ustawiony na 2.
P # 8) Jak udostępnić raport z projektu za pomocą TestNG?
Odpowiedź: Można to zrobić na kilka sposobów:
(ja) Po wykonaniu klasy TestNG pojawia się jedna zakładka o nazwie „Wynik uruchomionej klasy”, która jest generowana obok konsoli.
Możemy to skopiować i udostępnić.
(ii) Po wykonaniu klasy TestNG,
- Kliknij prawym przyciskiem myszy nazwę projektu i odśwież
- Kliknij folder „Test-output”
- Kliknij prawym przyciskiem myszy plik „index.html” i wybierz właściwości
- Skopiuj link obok „Lokalizacja”
Możemy udostępnić ten link, aby zobaczyć podstawowy raport z testu HTML, który jest generowany przez TestNG.
Jest to plik, który jest generowany automatycznie na twoim komputerze po wykonaniu klasy przy użyciu TestNG.
P # 9) Jak zdefiniujesz grupowanie w TestNG?
Odpowiedź: Grupowanie możemy zdefiniować w TestNG za pomocą atrybutu groups, jak pokazano poniżej:
@Test (grupy = „tytuł”)
P # 10) Jaka jest zależność od TestNG?
Odpowiedź: Istnieje kilka metod, od których zależy wiele metod.
Na przykład, Jeśli chcemy przetestować dowolną aplikację, a strona logowania do aplikacji nie działa, nie będziemy mogli przetestować pozostałych scenariuszy.
Tak więc LoginTest jest metodą, od której zależy wiele testów.
Dlatego napiszemy w następujący sposób:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
Powyższy kod pokazuje, że metoda homePageLaunched () jest całkowicie zależna od metody LoginTest ().
Jeśli przekazano LoginTest (), wykonywana jest tylko metoda homePageLaunched ()
P # 11) Co to jest InvocationCount w TestNG?
Odpowiedź: Jeśli chcemy wykonać przypadek testowy „n” kilka razy, możemy użyć atrybutu invocationCount, jak pokazano w poniższym przykładzie.
Przykład:
@Test(invocationCount=8) Public void print() { }
W powyższym przykładzie metoda print () zostanie wykonana 8 razy.
P # 12) Co to jest TimeOut w TestNG?
Odpowiedź: Jeśli wykonanie dowolnej metody w skrypcie zajmuje dużo czasu, możemy zakończyć tę metodę za pomocą „limitu czasu” w TestNG.
@Test (limit czasu = 5000)
W takim przypadku metoda zostanie zakończona w ciągu 5000 ms (5 sekund), a przypadek testowy zostanie oznaczony jako „Failed”.
Pytanie # 13) Jak radzić sobie z wyjątkami w TestNG?
Odpowiedź: Jeśli istnieją metody, od których oczekujemy wyjątków, możemy wspomnieć o wyjątku w adnotacji @Test, aby przypadek testowy nie zawiódł.
Przykład: Jeśli metoda ma mieć wyjątek „numberFormatException”, przypadek testowy zakończy się niepowodzeniem z powodu tego wyjątku, jeśli nie określono bloku try-catch.
Ale możemy to zrobić w TestNG za pomocą atrybutu „spodziewany wyjątek” w następujący sposób.
@Test (spodziewanyException = numberFormatException.class)
Wtedy przypadek testowy zostanie uruchomiony bez awarii.
P # 14) Jakie są typowe stwierdzenia TestNG?
Odpowiedź: Typowe stwierdzenia TestNG obejmują:
(ja) Assert.assetEquals (String rzeczywisty, oczekiwano String);
- Akceptuje dwa ciągi.
- Jeśli oba łańcuchy są równe, przypadek testowy jest wykonywany pomyślnie, w przeciwnym razie przypadek testowy kończy się niepowodzeniem.
(ii) Assert.assertEquals (ciąg rzeczywisty, oczekiwano ciągu, komunikat ciągu)
- Akceptuje dwa ciągi.
- Jeśli oba łańcuchy są równe, przypadek testowy jest wykonywany pomyślnie, w przeciwnym razie przypadek testowy kończy się niepowodzeniem.
- Komunikat jest drukowany, jeśli przypadek testowy się nie powiedzie.
(iii) Assert.assertEquals (wartość logiczna rzeczywista, oczekiwana wartość logiczna)
- Akceptuje dwie wartości logiczne.
- Jeśli obie wartości logiczne są równe, przypadek testowy jest wykonywany pomyślnie, w przeciwnym razie przypadek testowy kończy się niepowodzeniem.
(iv) Assert.assertTrue ()
- Przyjmuje wartość logiczną.
- Asercja przechodzi, jeśli warunek ma wartość True, w przeciwnym razie zostanie wyświetlony błąd potwierdzenia.
(v) Assert.assertFalse ()
- Przyjmuje wartość logiczną.
- Asercja przechodzi, jeśli warunek jest fałszywy, w przeciwnym razie zostanie wyświetlony błąd potwierdzenia.
(my) Assert.assertTrue (, wiadomość)
- Przyjmuje wartość logiczną.
- Potwierdzenie przechodzi, jeśli warunek ma wartość Prawda, w przeciwnym razie wraz ze wspomnianym komunikatem wyświetlany jest błąd potwierdzenia.
(idziesz) Assert.assertFalse (, wiadomość)
- Przyjmuje wartość logiczną.
- Asercja przechodzi, jeśli warunek jest fałszywy, w przeciwnym razie wraz ze wspomnianym komunikatem zostanie wyświetlony błąd potwierdzenia.
Pytanie # 15) Jak wyłączyć test w TestNG?
Odpowiedź:
Aby wyłączyć test w TestNG, musimy użyć atrybutu „enabled” w następujący sposób:
@Test (enabled = ”false”)
P # 16) Jakie są typy potwierdzeń w TestNG?
Odpowiedź: Aby zweryfikować wyniki (pass / fail), musimy użyć asercji.
Istnieją dwa rodzaje potwierdzenia w TestNG:
(i) Twarde potwierdzenie:
Hard Assert to normalne potwierdzenie, które jest używane do sprawdzania poprawności w klasie TestNG.
Musimy użyć klasy Assert do twardej asercji w następujący sposób:
Assert.assertEquals (wartość rzeczywista, wartość oczekiwana);
Jeśli twarde potwierdzenie nie powiedzie się, żaden kod nie zostanie wykonany po instrukcji assert.
jak uruchomić plik jar java
(ii) Soft Assert:
Jeśli chcemy kontynuować wykonywanie testu nawet po niepowodzeniu instrukcji assert, musimy użyć soft assert.
Aby stworzyć miękką asercję, musimy utworzyć obiekt klasy „softAssert” w następujący sposób:
softAssert sassert = nowy softAssert ();
sassert.assertAll ();
Więc teraz, jeśli przypadek testowy się nie powiedzie, wykonanie nie jest przerywane, gdy używamy soft assert.
P # 17) Jak przekazać parametr w przypadku testowym za pośrednictwem pliku testng.xml?
Odpowiedź: Jeśli mamy klasę, w której jest zdefiniowana metoda logowania, to możemy przekazać parametry logowania do tej metody logowania z pliku testing.xml
Będziemy musieli użyć adnotacji „@parameters” w następujący sposób:
@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); }
Teraz przejdź do pliku testng.xml i wprowadź tam parametry w następujący sposób:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
P # 18) Jaka jest potrzeba tworzenia pliku testng.xml?
Odpowiedź: Kiedy testujemy projekt przy użyciu Selenium Webdriver, zawiera on wiele klas. Nie możemy wybierać tych klas pojedynczo i umieszczać ich w automatyzacji. Dlatego musimy stworzyć zestaw, aby wszystkie klasy działały w jednym zestawie testów.
Możemy to osiągnąć, tworząc plik testing.xml.
P # 19) Jak stworzyć plik XML w TestNG?
Odpowiedź: Przejdź do folderu src -> kliknij plik -> wprowadź nazwę pliku (głównie napisane testing.xml)
Następnie kliknij Zakończ.
Mamy pusty plik XML. Tutaj musimy wspomnieć o nazwie projektu i klasach do wykonania wraz z nazwą pakietu, jak pokazano poniżej.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
Aby uruchomić ten plik, musimy przejść do testng.xml w eksploratorze pakietów, kliknąć prawym przyciskiem myszy i uruchomić jako -> pakiet TestNG
P # 20) Jak zgłosić wyjątek SKIP w TestNG?
Odpowiedź: Jeśli chcemy POMINIĆ dowolny test za pomocą testowania, musimy użyć wyjątku SKIP w TestNG.
Jest napisane w następujący sposób:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Życzymy wszystkiego najlepszego podczas rozmowy kwalifikacyjnej !!
rekomendowane lektury
- Pytania i odpowiedzi do wywiadu
- Pytania do wywiadu Spocka z odpowiedziami (najpopularniejsze)
- 20+ najczęściej zadawanych pytań i odpowiedzi do wywiadów .NET
- ETL Testing Interview Pytania i odpowiedzi
- 20 najważniejszych pytań i odpowiedzi do wywiadów dotyczących testowania API
- Top 30+ popularnych pytań i odpowiedzi do wywiadów z ogórkami
- 50 najpopularniejszych pytań i odpowiedzi do wywiadów CCNA
- Top 40 popularnych pytań i odpowiedzi do wywiadów J2EE, które powinieneś przeczytać