Musisz przeczytać 30 pytań i odpowiedzi na wywiad z selenem: Najlepszy przewodnik 2022
Opublikowany: 2021-01-04Czy bierzesz udział w ważnej rozmowie kwalifikacyjnej i zastanawiasz się, jakie są wszystkie pytania podczas rozmowy kwalifikacyjnej Selenium , przez które przejdziesz?
Stworzyliśmy ten najczęściej czytany przewodnik po pytaniach i odpowiedziach dotyczących wywiadu Selenium, aby pomóc Ci zrozumieć głębię pytań i zmierzyć się z nimi z pewnością.
Ponadto, ponieważ są ręczne, są podatne na błędy. Testowanie ręczne nie pomaga na dłuższą metę, więc automatyczne testowanie, takie jak Selenium, zyskuje na popularności w branży. Jeśli rozwijasz swoją karierę w automatycznym testowaniu i masz nadchodzącą rozmowę kwalifikacyjną w Selenium, ten blog jest przeznaczony dla Ciebie.
Na tym blogu omówimy tutaj najczęstsze pytania dotyczące wywiadów Selenium. Są to zarówno pytania dla początkujących , jak i pytania do rozmowy kwalifikacyjnej Selenium dla doświadczonych.
Selenium Pytania i odpowiedzi na wywiad 2022
P.1) Dlaczego warto wybierać Selenium zamiast innych automatycznych narzędzi testowych?
Selen jest oprogramowaniem typu open source. Jest bardzo łatwy do dostosowania w porównaniu z innymi zautomatyzowanymi narzędziami na rynku. Z tego powodu wiele firm wybiera automatyczne testy Selenium zamiast innych tradycyjnych metod.

P.2) Wymień niektóre zalety Selenium w porównaniu z narzędziami takimi jak TestComplete i QTP. A jakie są wady?
Selenium nie wymaga licencji, w przeciwieństwie do TestComplete i QTP, ponieważ nie obciąża kieszeni. Społeczność internetowa oferuje ogromne wsparcie. Cykle wydania są mniejsze, a informacja zwrotna jest szybka w porównaniu z TestComplete i QTP. Co więcej, Selenium działa również na komputerach Mac, Linux i Windows.
Wręcz przeciwnie, Selenium wymaga od programisty wysokich umiejętności kodowania. Podczas gdy QTP i TestComplete wymagają odpowiednio niskiego do umiarkowanego poziomu umiejętności kodowania.
P.3) Jakie zmiany zaszły w różnych aktualizacjach wersji Selenium?
W pierwszej wersji Selenium, Selenium v1, zawierał tylko trzy zestawy narzędzi, którymi są Selenium IDE, RC i Grid. Brakowało sterownika internetowego. Dopiero w drugiej wersji Selenium, Selenium v2, wprowadzono Webdriver. Po wykonaniu tej czynności Selenium RC nie był już używany.
Można je znaleźć na rynku, ale wsparcie nie jest dostępne. Kolejna wersja Selenium to Selenium v3. Składa się z Webdriver, IDE i Grid. Jest obecnie w użyciu. Nowsza wersja, Selenium v4, jest już dostępna.
Selenium IDE służy głównie do nagrywania i odtwarzania. Webdriver służy do testowania dynamicznych aplikacji internetowych za pomocą interfejsu programistycznego. Grid służy do przeprowadzania testów na zdalnych maszynach hosta.
Musisz używać IDE do nagrywania i odtwarzania testów. WebDriver służy do testowania aktywnych aplikacji internetowych za pomocą interfejsu programistycznego, a Grid służy do wdrażania testów na odizolowanych maszynach hosta.
P.4) Jakie są różne wyjątki w Selenium WebDriver?
Tak jak w każdym innym języku programowania, w Selenium można znaleźć wyjątki. W Selenium WebDriver możesz znaleźć następujące wyjątki:
TimeoutException: Ten wyjątek pojawia się, gdy polecenie nie wykonuje akcji w określonym czasie.
NoSuchElementException: Ten wyjątek pojawia się, gdy nie może znaleźć elementu o podanych atrybutach na stronie internetowej.
ElementNotVisibleException: ten wyjątek pojawia się, gdy element jest dostępny w modelu obiektowym dokumentu, ale nie jest widoczny na stronie internetowej.
StaleElementException: Ten wyjątek pojawia się, gdy element nie jest dołączony do modelu obiektu dokumentu lub został usunięty.
P.5) Wyjaśnij test wyjątków selenu
Wyjątkiem, którego oczekujesz, że zostanie wyrzucony wewnątrz klasy testowej, jest test wyjątku. Jeśli piszesz przypadek testowy, który ma na celu zgłoszenie wyjątku, musisz użyć adnotacji @test, a także wspomnieć w parametrach, który wyjątek zostanie zgłoszony. Na przykład,
@Test(expectedException = NoSuchElementException.class)
P.6) Czy w projekcie jest potrzebny arkusz Excela? Czy tak, jak?
Arkusze Excela są używane jako źródło danych podczas testowania. Co więcej, przechowuje również zestaw danych podczas wykonywania testów opartych na danych. Gdy arkusze programu Excel są używane jako źródło danych, mogą przechowywać:
Adres URL aplikacji: programiści mogą podać adres URL środowiska, pod którym wykonywane są testy. Na przykład środowisko testowe, środowisko programistyczne, środowisko QA, środowisko produkcyjne lub środowisko pomostowe.
Informacje o nazwie użytkownika i haśle: Arkusze programu Excel mogą przechowywać dane uwierzytelniające dostęp, takie jak nazwa użytkownika hasła w różnych środowiskach. Deweloperzy mogą szyfrować i przechowywać te dane ze względów bezpieczeństwa.
Przypadki testowe: Deweloperzy mogą stworzyć tabelę, w której jedna kolumna zawiera nazwę przypadku testowego, a druga mówi, że ma zostać wykonany lub nie.
Jeśli zamierzasz używać arkuszy Excela do DataDriven Test, możesz łatwo przechowywać informacje o różnych duplikacjach, które mają być wykonane podczas testów. Na przykład wszystkie dane, które należy zapisać w polu tekstowym do testowania na stronie internetowej, można przechowywać w arkuszach programu Excel.
P.7) Co to jest POM? Wymień jego zalety?
POM to skrót od Page Object Model. Jest to wzorzec projektowy do tworzenia repozytorium obiektów dla elementów interfejsu internetowego. Każda strona internetowa w aplikacji musi mieć swoją własną odpowiednią klasę strony, która jest odpowiedzialna za wyszukiwanie elementów WebElement na tej stronie, a następnie wykonywanie na nich operacji.
Zalety korzystania z modelu obiektowego Page to:
- Sprawia, że kod jest czytelny, umożliwiając programistom oddzielenie operacji i przepływów interfejsu użytkownika od weryfikacji.
- Kilka testów może używać tego samego repozytorium obiektów, ponieważ jest ono niezależne od przypadków testowych.
- Kod staje się wielokrotnego użytku.
P.8) Co to jest fabryka stron?
Page Factory oferuje ulepszoną metodę wykonywania Page Object Model poprzez efektywne wykorzystanie pamięci, a wykonanie odbywa się przy użyciu projektowania zorientowanego obiektowo.
Implementacja POM | |
Z fabryką stron | Bez fabryki stron |
Używa według() | Używa @FindBy() |
Nie są wymagane żadne importy | Importuje fabrykę strony |
Brak pamięci podręcznej | Wyszukiwanie w pamięci podręcznej jest szybsze |
Page Factory inicjuje elementy Page Object lub tworzy wystąpienie Page Objects. Można również tworzyć adnotacje dla elementów. W rzeczywistości jest to lepszy sposób, ponieważ opisujące właściwości mogą nie być wystarczająco wyraziste, aby odróżnić jeden obiekt od drugiego
Jeśli POM jest używany bez fabryki stron, zamiast używać „FindElements”, @FindBy służy do wyszukiwania elementu WebElement, a initElements służy do inicjowania elementów sieci Web z klasy Page Factory.
@FindBy może akceptować atrybuty takie jak tagName, name, partialLinkText , linkText, id, className , css i xpath.
Q.9) Jak osiągnąć synchronizację w WebDriver? Lub opowiedz nam o różnych typach instrukcji oczekiwania Selenium Web Driver?
W sterowniku sieciowym Selenium można znaleźć dwie instrukcje oczekiwania, a mianowicie Implicit Wait i Explicit Wait.
Niejawne czekanie nakazuje sterownikowi WebDriver trochę poczekać przez odpytywanie DOM. Jest obecny przez cały okres istnienia instancji sterownika internetowego po zadeklarowaniu niejawnego oczekiwania. Wstępnie ustawiona wartość to zero. Jeśli ustawisz go na więcej niż zero, zachowanie będzie regularnie odpytywać DOM na podstawie implementacji sterownika.
Wyraźne czekanie nakazuje wykonanie, aby poczekać trochę, aż zostanie osiągnięty warunek, taki jak:
- element, który można kliknąć
- obecnośćOfElementLocated
- elementDoWyboru
Przeczytaj: Pytania i odpowiedzi do wywiadu wiosennego
10) Do czego służy JavaScriptExecutor?
Możesz uruchomić JavaScript przez Selenium Websriver za pomocą JavaScriptExecutor. Jest to interfejs, który oferuje ten mechanizm. Daje metody takie jak „executescript” i „executeAsyncScript” do uruchamiania JavaScript w stanie aktualnie wybranej ramki lub okna. Przykładem tego jest:
JavascriptExecutor js = (JavascriptExecutor) sterownik;
js.executeScript(Skrypt,Argumenty);
Q.11) Która funkcja pozwala przewijać stronę w dół za pomocą JavaScript w Selenium?
Funkcja window.scrollBy() pomaga przewijać stronę w dół za pomocą JavaScript w Selenium. Na przykład:
(Sterownik (JavascriptExecutor)).executeScript(„window.scrollBy(0,500”);
P.12) Jak radzisz sobie z działaniami myszy i klawiatury przy użyciu Selenium?
Specjalne akcje myszy i klawiatury są obsługiwane za pomocą interfejsu Advanced User Interactions API. Składa się z Akcji i Klasy Akcji, które są wymagane do wykonania tych zdarzeń. Najczęściej używane zdarzenia myszy i klawiatury są podane przez klasę Action:
dragAndDrop(): To zdarzenie wykonuje kliknięcie i przytrzymanie w pozycji elementu źródłowego, porusza się.
source, target(): Przechodzi do pozycji elementu docelowego i zwalnia mysz.
clickAndHold(): klika bieżącą lokalizację myszy.
P.13) Jakie są różne rodzaje frameworków Selenium?
Różne rodzaje frameworków Selenium to:
- Framework oparty na słowach kluczowych: W tej strukturze operacje i instrukcje są zapisywane w osobnym pliku, takim jak Excel.
- Struktura oparta na danych: W tej strukturze pełne dane testowe są pobierane z niektórych zewnętrznych plików źródłowych, takich jak XML, Excel, CSV lub jakaś inna tabela bazy danych.
- Hybrid Framework: ten framework jest połączeniem zarówno frameworka opartego na słowach kluczowych, jak i frameworka opartego na danych.
Q.14) Wymień kilka plików, które służą jako źródło danych dla różnych frameworków Selenium.
Mogą to być pliki XML, Excel, CSV, a nawet pliki tekstowe.
P.15) Co to jest selenese?
Selenese to grupa poleceń selenu do testowania aplikacji internetowych. Deweloperzy mogą używać asercji, akcji i akcesorów. Asercje są używane jako punkty kontrolne. Akcje służą do uruchamiania operacji, a akcesory służą do przechowywania wartości zmiennej.
P.16) Jaka jest główna różnica między fabryką stron a modelem obiektów strony (POM)?
Typowe pytanie z wywiadu selenowego. Fabryka stron to metoda inicjowania elementów sieci Web w obiekcie strony podczas tworzenia instancji. Z drugiej strony model obiektowy strony to klasa, która określa stronę internetową i przechowuje jej funkcje.
P.17) Czy Selenium obsługuje obsługę wyskakujących okienek?
Nie. Selenium nie obsługuje obsługi wyskakujących okienek. Alert, który jest wyskakującym okienkiem, wyświetla komunikat ostrzegawczy na ekranie. Możesz to osiągnąć za pomocą kilku metod, takich jak:

Unieważnij odrzucenie (): ta metoda jest wywoływana po kliknięciu przycisku anulowania w polu alertu.
Void accept(): Po kliknięciu przycisku „OK” alertu ta metoda jest wywoływana.
String getText(): Jeśli chcesz przechwycić komunikat ostrzegawczy, musisz wywołać tę metodę.
Unieważnij sendKeys(String stringToSed): Jeśli chcesz wysłać jakieś informacje do okna alertu, musisz wywołać tę metodę.
Przeczytaj: Pytania i odpowiedzi podczas wywiadu React
P.18) Wyjaśnij klasę robota
Klasa Robot daje kontrolę nad urządzeniami klawiatury i myszy.
Metody obejmują:
- KeyPress(): wywoływana w przypadku zdarzenia, w którym chcesz nacisnąć klawisz.
- KeyRelease(): Wywoływana w zdarzeniu w celu zwolnienia naciśniętego klawisza.
- MouseMove(): wywoływana w przypadku, gdy musisz przesunąć wskaźnik myszy we współrzędnych X i Y.
- MousePress(): wywoływana w przypadku naciśnięcia lewego przycisku myszy.
- MouseMove(): wywoływana w przypadku zwolnienia wciśniętego przycisku myszy.
P.19) Jak obsługiwać wiele okien w Selenium?
Klamka okienna to specjalny identyfikator, który zawiera adresy wszystkich okien. Służy jako wskaźnik do okna zwracającego wartość w ciągu.
- get.windowhandle(): Pobiera uchwyt bieżącego okna.
- get.windowhandles(): Pobiera uchwyty wszystkich otwartych okien.
- switch to: Pomaga w przełączaniu się między oknami.
- set: Ustawia klamki okienne, które ma postać ciągu.
- akcja: pomaga wykonać określone akcje w oknach.
P20) Kim są słuchacze?
Interfejs, który zmienia zachowanie systemu, nazywa się w Selenium słuchaczami. Umożliwiają dostosowywanie dzienników i raportów. Są dwojakiego rodzaju: odbiorniki TestNG i odbiorniki Webdriver.
Q.21) Wyjaśnij polecenia potwierdzenia i weryfikacji
Asert: Asercja służy do rozróżnienia między rzeczywistym wynikiem a oczekiwanym wynikiem.
Weryfikuj: wykonywanie testów nie jest wstrzymywane bez względu na to, czy warunek weryfikacji jest prawdziwy czy fałszywy.
P.22) W jaki sposób można nawigować tam iz powrotem na stronie internetowej?
Jest to jedno z najczęstszych pytań podczas wywiadu selenowego.
Możesz użyć poniższych metod, aby nawigować tam iz powrotem.
kierowca.nawiguj.do przodu
kierowca.zarządzaj.nawiguj
kierowca.zarządzanie.wstecz
kierowca.nawiguj.do(„URL”)
Q.23) Jak wysłać klawisz ALT/SHIFT/CONTROL w Selenium WebDriver?
Zazwyczaj używając klawiszy takich jak ALT, Shift lub Control, łączymy je z innymi klawiszami, aby aktywować funkcję. Nie możemy po prostu kliknąć ich w pojedynkę. Musimy zdefiniować dwie metody w celu trzymania tych kluczy, podczas gdy następujące klucze są
wciśnięto: keyUp(modifier_key) i keyDown(modifier_key)
Parametry: Modifier_key (keys.ALT lub Keys.SHIFT lub Keys.CONTROL)
Cel: Celem jest wykonanie naciśnięcia klawisza modyfikującego bez zwalniania klawisza modyfikującego. Kolejne interakcje mogą zakładać, że jest wciśnięty.
Parametry: Modifier_key (keys.ALT lub Keys.SHIFT lub Keys.CONTROL)
Cel: Celem jest wykonanie zwolnienia klucza.
Dzięki połączeniu tych dwóch metod możemy uchwycić specjalną funkcję konkretnego klawisza.
Q.24) Jak robimy zrzuty ekranu w Selenium WebDriver?
Funkcja TakeScreenshot pomaga zrobić zrzut ekranu w Selenium Webdriver. Ponadto możesz zapisać zrzut ekranu za pomocą metody getScreenshotAs().
File scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);
P. 25) Czy możemy ustawić rozmiar okna przeglądarki za pomocą Selenium? Jeśli tak, to w jaki sposób?
TAk. Jeśli chcesz zmaksymalizować rozmiar okna przeglądarki, musisz użyć kodu
driver.manage().window().maximize();
Jeśli chcesz zmienić rozmiar bieżącego okna na określony wymiar, musisz użyć metody setSize(). Na przykład:
System.out.println(driver.manage().window().getSize());
Wymiar d = nowy wymiar (420 600);
driver.manage().window().setSize(d);
Jeśli chcesz ustawić okno na określony rozmiar, musisz użyć metody window.resizeTo().
Na przykład:
((JavascriptExecutor)driver).executeScript(“window.resizeTo(1024, 768);”);
Q.26) Jak wybrać wartość z listy rozwijanej? Jak obsłużyć listę rozwijaną?
Najprawdopodobniej zostaniesz zapytany o pytanie dotyczące listy rozwijanej i wyboru wartości, ponieważ jest to również trochę skomplikowane i techniczne.
Najważniejszym szczegółem, który musisz wiedzieć, jest to, że aby pracować z rozwijanym menu w Selenium, ważne jest użycie tagu html: „wybierz”. Nie możesz obsługiwać list rozwijanych bez użycia tagu select. Spójrz na poniższy kod:
<select id="mySelect">
<option value=”option1″>Ciasta</option>
<option value=”option2″>Czekoladki</option>
<option value=”option3″>Cukierki</option>
</select>
W powyższym kodzie do zdefiniowania elementu rozwijanego używany jest tag HTML „select”. Identyfikator tagu select to myselect. Na liście rozwijanej podajemy trzy opcje: Ciasta, Czekoladki i Cukierki. Widać, że każdy z tych wyborów ma dołączony atrybut wartości. Na przykład w przypadku ciastka wartość to Option1, w przypadku czekoladek to Option2, a w przypadku cukierków jest to Option3.
Aby wybrać wartość, musisz:
Zidentyfikuj element html „select” za pomocą findelement()
Przykład:
WebElement mySelectElement = driver.findElement(By.id("mySelect"));
Wybierz rozwijane = new Select(mySelectElement);
Wybierz opcję z tego elementu rozwijanego.
Aby wybrać opcję z tego menu, są trzy sposoby:
dropdown.selectByVisibleText("Czekoladki"); → Wybór opcji na podstawie widocznego tekstu.
dropdown.selectByIndex(„1”); → Wybór opcji za pomocą numeru indeksu tej opcji.
dropdown.selectByValue("opcja2"); → Wybór opcji przy użyciu wartości tej opcji.
Zwróć uwagę, że we wszystkich przypadkach opcja „Czekoladki” jest wybierana z menu rozwijanego. Punkty 1 i 3 są oczywiste, a punkt drugi; mówimy „1”, ponieważ indeksowanie zaczyna się od zera.
Przeczytaj: Najpopularniejsze pytania i odpowiedzi na wywiad z Nagios
Q.27) Jak przeskoczyć do nowej karty, która otwiera się po kliknięciu łącza?
Po kliknięciu łącza na stronie internetowej musisz użyć polecenia switchTo(), aby zmienić fokus sterownika Webdriver. Przykład: driver.switchTo().window();
gdzie 'windowName' jest nazwą okna, na które chcesz się przełączyć.
Jeśli nie znasz nazwy okna, możesz użyć polecenia driver.getWindowHandle(), aby pobrać nazwy wszystkich okien, które zostały zainicjowane przez sterownik WebDriver. Pamiętaj, że nigdy nie poda Ci nazw okien, których Webdriver nie zainicjował.
Po otrzymaniu nazwy musisz przejść przez pętlę, aby dostać się do tego okna. Oto przykład:
String handle= driver.getWindowHandle();
for (obsługa ciągu : driver.getWindowHandles())
{
driver.switchTo().window(uchwyt);
}
Q.28) Jak można przesłać plik w Selenium WebDriver?
Polecenie element.send_keys(ścieżka pliku) służy do przesyłania pliku w Selenium Webdriver. Ale zanim to zrobisz, musisz użyć tagu html: 'input', gdzie typem atrybutu powinien być 'file'. Oto przykład, aby lepiej to zrozumieć:
<typ wejścia=”plik” name=”mój_przesłany_plik” size=”50″ class=”pole_plik”>
element = driver.find_element_by_id(”mój_przesłany_plik”)
element.send_keys("C:mojplik.txt")
P.29) Jakie jest znaczenie testng.xml?
Jeśli przeprowadzasz rozmowę kwalifikacyjną dla Selenium, z pewnością wiesz, jak ważne są testy. Selenium nie obsługuje generowania raportu ani zarządzania przypadkami testowymi. Dlatego używamy frameworka TestNG z Selenium. Jest o wiele zaawansowany w porównaniu do Junit i łatwiej jest zaimplementować adnotacje, dzięki czemu framework TestNG jest wyborem z Selenium Webdriver.
Możesz zdefiniować zestawy testów i grupowanie klas testowych w TestNG, pobierając polecenia z pliku testing.xml. Jest reprezentowany w pliku XML, a nie w zestawie testów w testowym kodzie źródłowym, ponieważ zestaw jest funkcją wykonywania. Zestaw testów to grupa lub kolekcja przypadków testowych.
Plik testng.xml powinien zawierać nazwy wszystkich metod i klas, które chcesz wykonać jako część tego przepływu wykonywania.
Niektóre z zalet korzystania z pliku testng.xml to:
- Pozwala na wykonanie wielu przypadków testowych z wielu klas
- Pozwala na wykonywanie przypadków testowych w grupach, gdzie pojedynczy test może należeć do wielu grup.
- Pozwala na równoległe wykonywanie.
Pytanie 30) Wyjaśnij dostawców danych w TestNG. Czy można wywołać metodę jednego dostawcy danych dla wielu funkcji i klas?
Jedno z zaawansowanych pytań do wywiadu selenowego. DataProvider to funkcja TestNG, umożliwiająca programistom pisanie testów DataDriven. Obsługuje testowanie DataDriven, co oznacza, że ta sama metoda testowa może być uruchamiana wiele razy z różnymi zestawami danych. DataProvider to tylko metoda przekazywania parametrów do metody testowej.
@DataProvider to metoda dostarczania danych do metody testowej. Metoda z adnotacjami musi zwracać Object[], gdzie każdy Object[] może być przypisany do listy parametrów metody testowej.

TAk. Możliwe jest wywołanie metody jednego dostawcy danych dla wielu funkcji i klas. Ten sam DataProvider może być używany w kilku funkcjach i klasach, deklarując DataProvider w oddzielnej klasie, a następnie używając go ponownie w wielu klasach.
P. 31) Jakie są cechy TestNG?
- Adnotacje przed i po
- Konfiguracja testów oparta na XML
- Wykonanie wielowątkowe
- Otwórz API
- Lepsze raportowanie
- Testy oparte na danych
- Grupy zależne.
- Metody zależne
Pobierz kurs rozwoju oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
Zbliżając się do końca przewodnika po pytaniach i odpowiedziach na rozmowę kwalifikacyjną Selenium , mamy nadzieję, że pomoże ci to w znalezieniu pracy. Pytania do rozmowy kwalifikacyjnej Selenium dla doświadczonych są bardziej techniczne, ale przy ostrej rywalizacji o pracę zawsze dobrze jest być dobrze przygotowanym do rozmowy kwalifikacyjnej.
Jeśli jesteś zainteresowany nauką o Selenium, DevOps i wszystkim na temat rozwoju Full Stack, sprawdź program Executive PG IIIT-B i upGrad w programie rozwoju oprogramowania Full Stack.
