Pytania na Rozmowie o Selenium
Autor: Aaron Cao · Zaktualizowano

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.sleepjest 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?
Jakiego języka powinienem użyć na rozmowie o Selenium?
Czy rozmowy o Selenium obejmują live coding?
Czy Selenium radzi sobie z CAPTCHA lub oknami wgrywania plików?
Czy asystent AI może mi pomóc podczas rozmowy z automation na żywo?
Powiązane pytania
- Jakich pytań rekrutacyjnych o Databricks mogę się spodziewać?
- Jakich pytań rekrutacyjnych z .NET mogę się spodziewać?
- Jakich pytań rekrutacyjnych dla inżyniera jakości mogę się spodziewać?
- Jakich pytań mogę się spodziewać na rozmowie quant?
- Jakich pytań o Snowflake mogę się spodziewać na rozmowie?
- Jakich pytań mogę się spodziewać na rozmowie dla nauczyciela?