Otázky k Pohovoru Selenium
Autor: Aaron Cao · Aktualizováno

Pohovory na Selenium se soustředí na wait, locatory, Page Object Model a na to, proč testy začnou být flaky. Očekávejte, že vysvětlíte rozdíl mezi implicit a explicit wait, zvolíte CSS před XPath a tuto volbu obhájíte, vyřešíte chybu stale element a popíšete, jak váš framework běží paralelně.
Na co se tazatelé ptají ohledně wait a locatorů?
Napsali jste testy, které projdou lokálně, ale selžou v pipeline, a tušíte, že odpověď souvisí s wait, aniž byste to uměli jasně formulovat. Tazatelé to vědí, proto wait otevírá většinu kol Selenium. Tato sekce ukazuje, jak zní úplná odpověď.
- Implicit versus explicit wait. Implicit wait je globální nastavení, které při každém vyhledání testuje přítomnost elementu. Explicit wait cílí na jeden element a jednu podmínku, například clickable nebo visible. Explicit se preferuje, protože jasně říká, na co se čeká.
- Proč byste je neměli míchat? Kombinace obou může sčítat timeouty způsobem, který je těžké předvídat, proto většina týmů nastaví implicit wait na nulu a všude používá explicit wait.
- Co je fluent wait? Explicit wait s konfigurovatelným intervalem pollingu a ignorovanými typy exception.
- Proč je
Thread.sleepšpatně? Je bezpodmínečný. Zpomalí test, který by prošel, a přesto nechá pomalý test selhat. - CSS selector nebo XPath? Upřednostněte stabilní identifikační atribut testu, poté CSS kvůli čitelnosti. XPath si získá své místo, když musíte projít k parentu nebo porovnávat podle textu.
- Co dělá locator křehkým? Automaticky generované názvy tříd, absolutní XPath a výběr podle indexu. Řekněte, o co byste místo toho požádali vývojáře.
Tazatelé poslouchají důvod za každou volbou. Uvedení preference bez uvedení jejích nákladů zní jako naučená odpověď.
Jak odpovídat na otázky o exception a nestabilitě?
Flaky testy jsou skutečným tématem většiny seniorních pohovorů na automatizaci, protože suite, které nikdo nevěří, je horší než žádná suite.
- Co způsobuje
StaleElementReferenceException? Reference elementu ukazuje na uzel, který už není připojený, obvykle proto, že framework znovu vykreslil tu část stránky. Element vyhledejte znovu, místo abyste opětovně použili uloženou referenci. - A co
ElementNotInteractableException? Element existuje, ale nelze na něj zapůsobit: je skrytý, disabled, zakrytý overlayem, nebo mimo obrazovku. - Jak řešíte
NoSuchElementException? Rozlište problém s časováním od skutečně chybějícího elementu a nezakrývejte to delším sleep. - Proč testy selhávají jen v pipeline? Jiná velikost viewportu, pomalejší prostředí, chybějící testovací data, animace, které skončí později, a paralelní testy kolidující na sdíleném stavu.
- Jak opravíte flaky test? Nejprve diagnostikujte kategorii, pak opravte příčinu. Auto-retry skrývá selhání a je krajním řešením, které byste měli takto pojmenovat.
- Jak řešíte frame, nová okna a alerty? Explicitním přepnutím kontextu a následným návratem zpět.
QA inženýra, který dělal pohovor na mid-level automatizační roli, se zeptali, proč jedna suite selhávala dvakrát týdně bez jakékoli změny kódu. Odpovědí, která zabodovala, nebyl detail API Selenium, ale to, že testy sdílely jeden seeded účet a předháněly se navzájem. Tazatelé oceňují právě toto pořadí diagnostiky: nejprve prostředí a data, pak API.
Další banky otázek podle role a nástroje najdete pod interview questions by role.
Jaké otázky na framework a architekturu se objevují?
Kromě API chce panel vědět, zda dokážete suite vlastnit. Tyto otázky mají největší váhu pro seniorní role.
- Vysvětlete Page Object Model. Třídy page vystavují akce a skrývají locatory, takže změna UI se dotkne jen jednoho souboru. Řekněte, jaký problém to řeší; pouhý popis struktury složek podstatu míjí.
- Co se může s Page Objecty pokazit? Vyrostou v třídy o tisících řádcích a začnou provádět assert uvnitř page metod. Assertions patří do testů.
- Jak váš framework spouští testy paralelně? Thread-safe správa driveru, aby se instance nesdílely mezi vlákny, plus nezávislá testovací data pro každý test.
- K čemu slouží Selenium Grid? K distribuci testů napříč stroji a verzemi prohlížečů, s hubem a nody, nebo s cloudovým poskytovatelem ve stejné roli.
- Co se změnilo v Selenium 4? Protokol W3C WebDriver se stal standardem a starý JSON wire protocol byl odstraněn, přibyly relative locatory a byl odhalen přístup k Chrome DevTools Protocol.
- Kdy byste Selenium nepoužili? Kontroly na úrovni API, logika testovatelná unit testem a cokoli mimo prohlížeč. Znát tuto hranici je seniorní signál.
- Jak rozhodujete, co automatizovat? Stabilní, hodnotné, opakující se cesty. Ne všechno, a ne obrazovku, která se ještě předělává.
Jak byste se měli na pohovor připravit?
Odpovědi o Selenium je neobvykle snadné znát a těžké vyslovit. Otázka na wait má konkrétně odpověď o dvou částech, definici a důvod, a kandidáti, kteří si to jen přečetli, odříkají první polovinu a pak se zaseknou.
Vezměte si zde pět otázek, kterým byste nejméně chtěli čelit, a odpovězte na každou nahlas za devadesát sekund bez otevřeného editoru. Pak nechte někoho položit navazující otázku, kterou je téměř vždy proč. Spuštění stejných promptů proti AI tazateli, který se ptá dál, je blíž reálnému kolu než opětovné čtení seznamu, a přesně proto existuje režim mock interview.
Aaron Cao, zakladatel SubcueAI, postavil trénink kolem právě této mezery v mluveném projevu, ne kolem dodávání dalších otázek. Při živém pohovoru mohou desktopová aplikace a Side Panel rozšíření prohlížeče zobrazovat strukturu, zatímco tazatel mluví, což pomáhá nejvíc u materiálu, který jste si už procvičili. Co produkt dělá a jaké hranice nepřekračuje, je popsáno na stránce security.