Pytania rekrutacyjne Playwright (Senior) z odpowiedziami
77 pytań na rozmowę rekrutacyjną z tematu Playwright (Senior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Zestaw Playwright trwa w CI 50 minut. Jaki pierwszy krok jest zwykle najskuteczniejszy?
- 2.Jak
--shard=2/4dzieli pracę? - 3.Dlaczego
fullyParallelpomaga równoważyć shardy? - 4.Jak dostać jeden raport z czterech shardowanych jobów CI?
- 5.Co robi
--only-changed? - 6.W czym pomaga
maxFailuresw konfiguracji? - 7.Co ogranicza
globalTimeout? - 8.Dlaczego testy E2E nie powinny pokrywać każdej reguły biznesowej?
- 9.Jak zdecydować, które ścieżki zasługują na testy E2E?
- 10.Jak zaprojektować fixtures dla puli kont testowych w uruchomieniach równoległych?
- 11.Dlaczego zapisany
storageStatemoże psuć testy po kilku dniach? - 12.Jak testować aplikację, która loguje przez zewnętrznego dostawcę SSO?
- 13.Jak testy E2E mogą obsłużyć 2FA z aplikacją TOTP?
- 14.Jak przetestować ścieżkę, która wysyła e-mail z potwierdzeniem?
- 15.Mockowanie wszystkich API przyspiesza testy E2E. Jakie jest główne ryzyko?
- 16.Jak nie dopuścić, by mocki HAR się zestarzały?
- 17.Dlaczego
page.routemoże nie złapać niektórych zapytań? - 18.Jak zamockować serwer WebSocket w teście Playwright?
- 19.Jakie są ograniczenia emulacji mobilnej w Playwright?
- 20.Test przechodzi w Chromium, ale pada w WebKit. Co rozsądnie zrobić?
- 21.Dlaczego uruchomienia headless i headed mogą działać inaczej?
- 22.Jak debugować awarię, która występuje tylko w CI?
- 23.Który wzorzec często daje niestabilne testy po kliknięciu, które nawiguje?
- 24.Dlaczego pisanie w pole wyszukiwania z debounce może dawać niestabilne wyniki?
- 25.Dlaczego kliknięcie może trafić w zły element listy, która wjeżdża z animacją?
- 26.Jak mierzyć niestabilność zestawu w czasie?
- 27.Co zrobić z testem, który często jest flaky?
- 28.Jaki jest kompromis wspólnej strony dla testów przez fixture workera?
- 29.Dlaczego konteksty przeglądarki są tanie w porównaniu z uruchamianiem przeglądarek?
- 30.Jak dodać własny matcher jak
toHaveCartTotal? - 31.Co daje
expect.configure({ timeout: 15_000 })? - 32.Kiedy napisać własny reporter?
- 33.Co robi
box: truewtest.step? - 34.Jak fixture może oblać testy, które wypisują błędy w konsoli?
- 35.Gdzie test powinien zapisywać pliki tymczasowe, by testy równoległe się nie zderzały?
- 36.Jaki jest główny problem utrzymania ogromnego page objectu od wszystkiego?
- 37.Jaka jest alternatywa dla głębokiego dziedziczenia page objectów?
- 38.Jak wybierać lokatory w aplikacji z kilkoma językami?
- 39.Co powinna mówić zasada zespołu o
data-testid? - 40.Kiedy rozsądnie jest wstawiać dane bezpośrednio do bazy?
- 41.Jak sprzątać dane utworzone przez testy E2E?
- 42.Po co uruchamiać testy E2E na wdrożeniach preview każdego pull requesta?
- 43.Jakie jest rozsądne użycie testów Playwright na produkcji?
- 44.Dlaczego Playwright to słabe narzędzie do testów obciążeniowych?
- 45.Jak Playwright może zbierać dane o wydajności strony?
- 46.Jaki jest kompromis używania sesji CDP w testach Playwright?
- 47.Jakie są ograniczenia testów komponentów w Playwright?
- 48.Kiedy opłacają się wizualne testy regresji?
- 49.Jak uczynić testy zrzutów stabilnymi na różnych maszynach?
- 50.Co robi
toHaveScreenshot, by zmniejszyć niestabilność przed porównaniem? - 51.Czym są agenci testowi Playwright?
- 52.Jakie jest główne ryzyko, gdy agent AI „leczy” padające testy?
- 53.Jakie są ograniczenia kodu nagranego przez
codegen? - 54.Jak uruchamiać Playwright dla kilku aplikacji w monorepo?
- 55.Jak uruchomić kilka usług przed testami?
- 56.Jak testować ścieżkę płatności w E2E?
- 57.Dlaczego po wysłaniu formularza może być potrzebne
page.waitForURL? - 58.Jak zespół powinien traktować testy, które trwają minuty, np. duże importy?
- 59.Co nocne pełne uruchomienie dodaje do uruchomień mniejszego zestawu na PR?
- 60.Jak sprawdzić, że żadna trasa nie ma poważnych naruszeń dostępności?
- 61.Co pozwala przetestować
page.clock.install(), gdy prawdziwe timery są niewygodne? - 62.Jak przetestować aplikację Electron przez Playwright?
- 63.Dlaczego fixtures nie powinny ukrywać głównej akcji testu?
- 64.Jaka jest rozsądna zasada dla
test.skipifixmew dużym zestawie? - 65.Dlaczego w dużych zestawach warto trzymać małe pliki trace?
- 66.Jak upewnić się, że testy nie zależą od kolejności uruchomienia?
- 67.Co sprawdzić najpierw, gdy test pada z timeoutem na
click()? - 68.Jak sprawdzić, że funkcja za flagą działa w obu stanach?
- 69.Dlaczego testy przechodzące z jednym workerem mogą padać z wieloma?
- 70.Jak przeglądać kod testów E2E?
- 71.Do czego służą
test.info().annotations? - 72.Dlaczego duży zestaw powinien unikać
beforeAll, który tworzy wspólny stan dla pliku? - 73.Jak poradzić sobie z zewnętrznymi skryptami jak widżety czatu, które spowalniają testy?
- 74.Jaka jest główna korzyść uruchamiania każdego języka lub tenanta jako projektu Playwright?
- 75.Kiedy sprawdzanie warstwy sieci w testach E2E jest lepsze niż sprawdzanie UI?
- 76.Jaki komunikat o porażce E2E jest dobry dla zespołu?
- 77.Jaka jest rola Playwright w strategii testów obok testów jednostkowych i API?