Pytania na Rozmowie o Selenium

Autor: Aaron Cao · Zaktualizowano

Pytania na Rozmowie o Selenium
Rozmowy o Selenium skupiają się na wait, locatorach, Page Object Model i przyczynach, dla których testy stają się flaky. Spodziewaj się wyjaśnienia różnicy między implicit a explicit wait, wyboru CSS zamiast XPath i obrony tego wyboru, rozwiązania błędu stale element oraz opisu, jak twój framework działa równolegle.

Rozmowy o Selenium skupiają się na wait, locatorach, Page Object Model i przyczynach, dla których testy stają się flaky. Spodziewaj się wyjaśnienia różnicy między implicit a explicit wait, wyboru CSS zamiast XPath i obrony tego wyboru, rozwiązania błędu stale element oraz opisu, jak twój framework działa równolegle.

O co pytają rekruterzy w temacie wait i locatorów?

Napisałeś testy, które przechodzą lokalnie, a zawodzą w pipeline, i podejrzewasz, że odpowiedź dotyczy wait, choć nie potrafisz tego jasno ująć. Rekruterzy o tym wiedzą, dlatego wait otwiera większość rund Selenium. Ta sekcja pokazuje, jak brzmi pełna odpowiedź.

  • Implicit kontra explicit wait. Implicit wait to globalne ustawienie, które sprawdza obecność elementu przy każdym wyszukaniu. Explicit wait celuje w jeden element i jeden warunek, na przykład clickable lub visible. Explicit jest preferowany, bo jasno określa, na co się czeka.
  • Dlaczego nie należy ich mieszać? Łączenie obu może sumować timeouty w trudny do przewidzenia sposób, dlatego większość zespołów ustawia implicit wait na zero i wszędzie używa explicit wait.
  • Czym jest fluent wait? Explicit wait z konfigurowalnym interwałem odpytywania i ignorowanymi typami exception.
  • Dlaczego Thread.sleep jest błędem? Jest bezwarunkowy. Spowalnia test, który by przeszedł, i wciąż nie ratuje wolnego testu przed porażką.
  • CSS selector czy XPath? Preferuj stabilny atrybut identyfikujący test, potem CSS dla czytelności. XPath sprawdza się, gdy musisz przejść do elementu nadrzędnego lub dopasować po tekście.
  • Co czyni locator kruchym? Automatycznie generowane nazwy klas, absolutny XPath i selekcja oparta na indeksie. Powiedz, o co poprosiłbyś developera zamiast tego.

Rekruterzy słuchają uzasadnienia stojącego za każdym wyborem. Wymienienie preferencji bez podania jej kosztu brzmi jak wyuczona odpowiedź.

Jak odpowiadać na pytania o exception i niestabilność testów?

Flaky testy to prawdziwy temat większości rozmów na senior automation, bo suite, któremu nikt nie ufa, jest gorszy niż brak suite'u.

  • Co powoduje StaleElementReferenceException? Referencja elementu wskazuje na węzeł, który już nie jest podłączony, zwykle dlatego, że framework przerenderował tę część strony. Wyszukaj element ponownie zamiast używać zapisanej referencji.
  • A co z ElementNotInteractableException? Element istnieje, ale nie da się na nim wykonać akcji: jest ukryty, disabled, zasłonięty przez overlay, albo poza ekranem.
  • Jak obsłużyć NoSuchElementException? Odróżnij problem z timingiem od elementu, który naprawdę nie istnieje, i nie maskuj tego dłuższym sleep.
  • Dlaczego testy zawodzą tylko w pipeline? Inny rozmiar viewportu, wolniejsze środowisko, brakujące dane testowe, animacje kończące się później i równoległe testy kolidujące na współdzielonym stanie.
  • Jak naprawić flaky test? Najpierw zdiagnozuj kategorię, potem napraw przyczynę. Auto-retry ukrywa błędy i jest ostatecznością, którą trzeba nazwać wprost.
  • Jak obsłużyć frame'y, nowe okna i alerty? Jawnie przełączając kontekst i wracając do niego potem.

Inżyniera QA rekrutowanego na stanowisko automation mid-level zapytano, dlaczego jeden suite zawodził dwa razy w tygodniu bez zmian w kodzie. Trafną odpowiedzią nie był szczegół API Selenium, tylko fakt, że testy współdzieliły jedno seeded konto i wyścigiwały się nawzajem. Rekruterzy nagradzają taką kolejność diagnozy: najpierw środowisko i dane, potem API.

Więcej banków pytań według roli i narzędzia znajdziesz pod interview questions by role.

Jakie pytania o framework i architekturę się pojawiają?

Poza API panel chce wiedzieć, czy potrafisz utrzymać suite. Te pytania mają największą wagę przy rolach senior.

  • Wyjaśnij Page Object Model. Klasy page eksponują akcje i ukrywają locatory, więc zmiana UI dotyka jednego pliku. Powiedz, jaki problem to rozwiązuje; opisanie samej struktury folderów mija się z sednem.
  • Co może pójść nie tak z Page Object? Rozrastają się w klasy liczące tysiące linii i zaczynają asertować wewnątrz metod page. Asercje należą do testów.
  • Jak twój framework uruchamia testy równolegle? Thread-safe zarządzanie driverem, tak by instancje nie były współdzielone między wątkami, plus niezależne dane testowe na test.
  • Do czego służy Selenium Grid? Do rozdzielania testów między maszynami i wersjami przeglądarek, z hubem i node'ami, albo z dostawcą chmury pełniącym tę samą rolę.
  • Co zmieniło się w Selenium 4? Protokół W3C WebDriver stał się standardem, a stary JSON wire protocol został usunięty, pojawiły się relative locatory i odsłonięto dostęp do Chrome DevTools Protocol.
  • Kiedy nie użyłbyś Selenium? Do sprawdzeń na poziomie API, logiki testowalnej unit testami i wszystkiego poza przeglądarką. Znajomość tej granicy to sygnał seniorski.
  • Jak decydujesz, co automatyzować? Stabilne, wartościowe, powtarzalne ścieżki. Nie wszystko, i nie ekran wciąż przechodzący redesign.

Jak ćwiczyć przed rozmową?

Odpowiedzi o Selenium są niezwykle łatwe do poznania, a trudne do wypowiedzenia. Pytanie o wait w szczególności ma odpowiedź dwuczęściową, definicję i uzasadnienie, a kandydaci, którzy tylko to przeczytali, podają pierwszą połowę i się gubią.

Weź pięć pytań stąd, których najbardziej nie chciałbyś dostać, i odpowiedz na każde na głos w dziewięćdziesiąt sekund bez otwartego edytora. Potem poproś kogoś o pytanie pogłębiające, którym niemal zawsze jest dlaczego. Uruchamianie tych samych promptów wobec AI interviewera, który dopytuje, jest bliższe prawdziwej rundzie niż ponowne czytanie listy, i po to właśnie istnieje tryb mock interview.

Aaron Cao, założyciel SubcueAI, zbudował tę praktykę wokół tej luki w mówieniu, zamiast wokół dostarczania kolejnych pytań. Podczas rozmowy na żywo aplikacja desktopowa i Side Panel rozszerzenia przeglądarki mogą pokazywać strukturę, gdy mówi rekruter, co pomaga najbardziej przy materiale, który już przećwiczyłeś. To, co robi produkt, i granice, których nie przekracza, opisano na stronie security.

FAQ

Czy warto jeszcze uczyć się Selenium, skoro są Playwright i Cypress?

Tak, dla wielu zespołów z dużymi, istniejącymi suite'ami Selenium, a koncepcje przenoszą się wprost. Rekruterzy coraz częściej proszą o ich porównanie, więc bądź gotów wymienić auto-waiting i architekturę jednoprocesową jako powody, dla których zespoły wybierają nowsze narzędzia.

Jakiego języka powinienem użyć na rozmowie o Selenium?

Tego z ogłoszenia o pracę, zwykle Java lub Python. API jest niemal identyczne między bindingami, więc język ma znaczenie głównie dla pytań o framework, test runner, zarządzanie zależnościami i strukturę projektu.

Czy rozmowy o Selenium obejmują live coding?

Często tak. Typowe ćwiczenie to zautomatyzowanie logowania lub wyszukiwania na publicznej stronie, przy czym rekruter obserwuje twoje wybory locatorów i to, czy sięgasz po sleep. Opowiadaj na głos, dlaczego wybierasz każdy locator w trakcie pracy.

Czy Selenium radzi sobie z CAPTCHA lub oknami wgrywania plików?

CAPTCHA jest zaprojektowana, by zatrzymywać automatyzację, więc akceptowaną odpowiedzią jest wyłączenie jej w środowiskach testowych albo użycie tokena obchodzącego zabezpieczenie. Natywne okna plików systemu operacyjnego są poza przeglądarką, więc ścieżkę wysyłasz bezpośrednio do elementu input.

Czy asystent AI może mi pomóc podczas rozmowy z automation na żywo?

Może pokazywać strukturę, gdy mówi rekruter, co działa najlepiej przy materiale, który już znasz. Nie zastępuje ćwiczeń, a udostępnianie ekranu, nagrania, nadzorowane oceny i urządzenia zarządzane przez firmę pozostają poza zakresem.

Powiązane pytania

← Więcej o Pytania rekrutacyjne według roli i tematu