💬 Portfolio

Pytania rekrutacyjne Playwright

Language
date
Feb 17, 2024
slug
pytania-rekrutacyjne-playwright
author
status
Public
tags
Playwright
Porady
summary
Czego możesz spodziewać się na rozmowie?
type
Post
thumbnail
playwright-rekrutacja.jpg
updatedAt
Feb 23, 2024 03:30 PM
category
💬 Portfolio
🚧
Uwaga! Jest to post, który znajduje się w aktywnym rozwoju

Wprowadzenie

 
Oto zbiór pytań, które mogą paść dla różnych pozycji zarówno junior w bardzo ogólnym aspekcie, jak i senior w dość dokładnym. Ważne jest zrozumienie zarówno teoretycznych podstaw, jak i praktycznych zastosowań frameworka Playwright.
 

1. Podstawy Playwright

  • Różnice między Playwright Test a biblioteką Playwright
 

2. Organizacja Testów

  • Standardy projektowe
    • Omówienie, jak przygotować standardy projektu, w tym wtyczki, linty, git hooki (Husky), formatowanie, aliasy.
    • Jak przygotować dane:
      • Narzędzia (faker)
      • Czym jest seeding danych
      • Jakie wyzwania niesie przygotowanie danych przed każdym testem
      • Jak sprzątać dane - i czy powinniśmy
 

3. Zaawansowane Techniki Testowania

  • Hooki vs Fixtures
    • Wyjaśnienie zalet używania hooków w Playwright i co powinno znaleźć się w danej abstrakcji.
    • Jak fixtures mają się do hooków, jakie są wbudowane fixtures i z czego się składają, gdzie można to sprawdzić
 

4. CI/CD i Optymalizacja

  • Integracja z CI/CD
    • Wskazówki dotyczące optymalizacji testów i kiedy warto używać sharding.
    • Jak zorganizować artefakty, co powinno się w nich znaleźć
    • Cachowanie w kontekście frameworka i testów (biblioteki i przeglądarki)
  • Własności Playwright w kontekście CI/CD
    • Omówienie kluczowych funkcji, takich jak fully parallel, retry, annotations
 

5. Debugowanie

  • Przedstawienie narzędzi oferowanych przez Playwright Test dla efektywnego debugowania.
 

6. Testy wspomagane przez API

  • Wskazówki, jak wykorzystać komunikację z API do wspomagania testów GUI
  • Pisanie testów API i związane z tym wyzwania w Playwright
 

7. Architektura Frameworka

  • Wzorce projektowe
    • Kiedy stosować PageObject, fabryki, buildery, modele
    • Podział abstrakcji, po co stosować BasePage, komponenty etc
  • Dobre praktyki frameworka
    • Omówienie praktyk takich jak decision log, ADR, zarządzanie długiem technologicznym.
 

8. Zasady Projektowania i Konfiguracje

  • Principles KISS, DRY, SRP, DI
    • Wyjaśnienie, jak te zasady wpływają na projekt i rozwój testów.
  • Ustawienia przeglądarki
    • Przegląd dostępnych opcji, takich jak emulacja, geolokalizacja, permissions (np. dostęp do schowka).
  • Zarządzanie sesją, różnice między logowaniem GUI a API, co zwierają pliki sesji, czy się różni token od sesji
 

9. Funkcje Playwright

  • Lokatory
    • Różne typy lokatorów, lokatory z TestingLibrary, ich zalety i ryzyka
    • Jak wykorzystać tradycyjne lokatory CSS czy XPath
    • Zalety i wady stosowania np. dataTestID, filtrowania i zagnieżdżenia lokatorów
    • Na czym polega dynamiczne czekanie, jak to wiąże się z webFirstAssertions
  • Nowe okna, taby, frame, popup.
    • Czy Playwright je obsługuje, jak nimi zarządzać, największe problemy (np. debugowanie: brak rozróżnienia kodu dla danych okien w TraceViewer)
  • Timeouts
    • Wyjaśnienie, jak zarządzać timeoutami i jakie mogą być konsekwencje niewłaściwych ustawień.
    • Na jakich poziomach możemy używać timeouts
  • Visual testing i związane z nim wyzwania (weryfikacja tylko danych komponentów, ignorowanie obszarów)
  • Generowanie testów, praktyczne wady i zalety
  • Typy testów i czym się różnią, kiedy mogą się pojawić: flaky, skipped
  • Jak wykonać dwie akcje równocześnie za pomocą Playwright (Promise.All etc)
 

10. O Playwright

  • Jak działa Playwright (czym jest komunikacja po CDP, czym jest nowe okno przeglądarki)
  • Czym się różni od bibliotek takich jak Cypress czy Selenium (wbudowana komunikacja, webdriver, CDP, webdriver BIDI)
  • Do jakich testów, projektów nie nadaje się Playwright (mobile, wbudowane, zaawansowane wydajnościowe)
  • Jakie są znane integracje Playwright do testów niefuncjonalnych (dostępność, wydajność backend, frontend, bezpieczeństwo)
 
💡
Większość z tych konceptów realizujemy w Programie Playwright, gdzie budując profesjonalny framework poznajemy nie tylko Playwright ale także cały ekosystem tworzenia wydajnych testów automatycznych: 🔗https://jaktestowac.pl/playwright/
 

Podsumowanie

 
Powyższe przykłady są bardzo ogólnymi pytaniami, które mogą być zgłębiane (uszczegóławiane) w zależności oczekiwań od kandydata. Oczywiście na rozmowie jako tester automatyzujący w Playwright możesz się spotkać z zupełnie innym zestawem pytań. Czasem może się zdarzyć, że sam rekrutujący jeszcze nie ma doświadczenia z Playwright, bo dopiero zespół zastanawia się nad jego wprowadzeniem. Dlatego pytania mogą być całkowicie inne. Mogą być rozwijane koncepty takie jak:
  • Twoje doświadczenie w automatyzacji
  • Narzędzia jakie stosowałeś
  • Znajomość języka programowania (live coding, np w JS, TS)
  • Ogólnie o dobrych praktykach testowania
  • Cykl życia i tworzenia oprogramowania
  • Metodyki pracy w zespole
👉
Jeśli chcesz się naprawdę dobrze przygotować do rekrutacji to zapisz się z linka poniżej i zgarnij mega checklistę: https://jaktestowac.pl/rekrutacja/
 

Bonus

 
  • Skorzystaj z ChatGPT, aby zasymulować taką rozmowę (wkrótce udostępnimy prompt)
  • Zweryfikuj dokumentację Playwright, gdyż to narzędzie cały czas się rozwija i niektóre koncepty zmieniają się z dnia na dzień (np. w wersji 1.42 wchodzi nowe podejście do tagów). Warto skupić się na Release Notes: https://playwright.dev/docs/release-notes