Selenium od lat dominowało obszar automatyzacji testów, zdobywając popularność jako jedno z najważniejszych narzędzi do testowania aplikacji webowych. Dzięki swojej wszechstronności, a także wsparciu dla różnych przeglądarek oraz języków programowania, stał się wyborem numer jeden dla wielu zespołów QA. Jednak jak wiadomo, świat IT zmiennym jest – obecnie Selenium zaczyna być zastępowane przez bardziej nowoczesne rozwiązania, takie jak Playwright, czy Cypress. Te narzędzia oferują wyższą prędkość, prostsze API oraz lepsze wsparcie dla testowania w środowiskach złożonych, co powoduje, że coraz więcej firm decyduje się na migrację do tych rozwiązań.
Czy to oznacza, że dni Selenium są policzone? Niekoniecznie. Moim zdaniem to narzędzie nie zniknie z dnia na dzień. Poniżej wypisałem punkty argumentujące tę tezę:
1. Selenium nie składa broni
Selenium nadal jest aktywnie rozwijane. Pod koniec 2021 roku wypuszczono wersję 4, czyli sporą aktualizację, która do ekosystemu Selenium wniosła między innymi takie usprawnienia jak:
- Ulepszony Selenium Grid
- Relatywne lokatory (np. element na prawo od…)
- Lepsza obsługa zarządzania oknami i kartami
- Nowa architektura WebDriver
i kilka innych. Fakt ciągłej aktualizacji tego narzędzia pokazuje, że jego twórcy starają się dostosować Selenium do wymagań rynku.
2. Elastyczność i kompatybilność
Nie można zapomnieć o tym, że Selenium oferuje wsparcie dla wielu języków programowania (Java, C#, Python, JavaScript, itp.), co jest przewagą w porównaniu np. do Cypress.
Dodatkowo, zapewnia kompatybilność z wieloma przeglądarkami (Chrome, Firefox, Edge, Safari) i z systemami operacyjnymi (Windows, macOS, Linux), choć jest to już standard na rynku.
3. Społeczność i zasoby edukacyjne
Selenium, będąc jednym z najstarszych i najbardziej popularnych narzędzi do automatyzacji testów, zbudowało wokół siebie dużą społeczność, która wspiera jego rozwój, utrzymanie i codzienne zastosowanie. Selenium jest obecne na forach, grupach dyskusyjnych (np. Stack Overflow) i na konferencjach testerskich. Jeśli szukasz odpowiedzi na pytanie w tematyce pisania testów w Selenium, jest duża szansa na to, że na wspomnianym Stack Overflow ktoś kiedyś zadał takie samo pytanie i uzyskał na nie odpowiedź. W Internecie można znaleźć ogromną liczbę przykładów kodu, które ilustrują, jak korzystać z Selenium w różnych językach programowania oraz jak implementować testy automatyczne dla specyficznych scenariuszy.
W sieci znajduje się sporo tutoriali i kursów Selenium – zarówno darmowych, jak i płatnych. Liczbe blogi i kanały na YouTube są aktualizowane o treści związane z tym narzędziem.
Podsumowując – rozbudowana społeczność oraz duża dostępność materiałów edukacyjnych i przykładów jest czymś, co zdecydowanie wyróżnia Selenium na tle konkurencji.
4. Podejście firm i zespołów QA
Wiele firm oparło swoje procesy testowania oprogramowania o Selenium. O ile wybór nowszego narzędzia niekoniecznie będzie problematyczne dla mniejszych organizacji, o tyle duże firmy często mają dość konserwatywne podejście do zmiany narzędzi z których korzystają zespoły projektowe. Przejście z Selenium na inny framework oznacza potrzebę zmian w procesach QA, szkolenia specjalistów, modyfikacji wymogów rekrutacyjnych itd. – a to wymaga czasu i pieniędzy.
Dodatkowo, zwykle dużym wyzwaniem są umiejętności techniczne specjalistów w zespole QA – no bo jak z dnia na dzień zespół biegły w stacku Java + Selenium ma na poziomie eksperckim pisać testy automatyczne w TypeScript i Playwright?
Na jednej z ostatnich konferencji testerskich na jakich byłem, jeden z obecnych tam architektów testów na pytanie „którego frameworka do automatyzacji testów użyłbyś w nowym projekcie”, odpowiedział: „Wciąż wybrałbym Selenium. Wiem że Playwright jest lepszy, ale w Selenium piszę od lat, sprawdza się, znam jego bolączki i radzę sobie z nimi”.
Sam jestem zwolennikiem nowszych narzędzi (takich jak wspomniany Playwright) ale cytowane podejście jestem w stanie zrozumieć – szczególnie jeśli pracuje się w organizacji dość opornej na zmiany.
5. Utrzymanie już napisanych testów
Selenium zostanie z nami jeszcze przez chwilę jeszcze z jednego, dość prostego powodu – w wielu projektach, wdrożone są duże projekty testów automatycznych w Selenium i przepisywanie tych setek, tysięcy testów jest po prostu nieopłacalne. Jeszcze przez kilka dobrych lat potrzeba będzie specjalistów by te testy rozwijać i utrzymywać 🙂
Słowo końcowe
Czy Selenium z dnia na dzień przestanie być obecne w świecie testowania oprogramowania? Nie.
Czy Selenium straci pozycję lidera wśród narzędzi do automatyzacji testów, w perspektywie kilku najbliższych lat? Tak.
Według mnie Playwright wciąż będzie dynamicznie zdobywał udział w rynku i będzie się to odbywać kosztem między innymi Selenium, jednak udział Selenium nie będzie zredukowany do zera.