Czas czytania: około 13 minut
Selenium ma dwadzieścia lat, kilka pokoleń następców i nadal jest pierwszym narzędziem, o które pytają rekruterzy w ogłoszeniach dla testerów automatyzujących. Nie dlatego, że jest najwygodniejsze, tylko dlatego, że jest standardem: sposób, w jaki steruje przeglądarką, stał się specyfikacją W3C, a testy napisane w nim dziesięć lat temu nadal da się uruchomić. Jeżeli zaczynacie automatyzację testów webowych, Selenium jest miejscem, w którym nauczycie się rzeczy, które przenoszą się na każde inne narzędzie.
W tym tekście wyjaśniamy, czym jest Selenium i jak działa WebDriver, z czego składa się cały projekt, w jakim języku pisać testy, jak napisać pierwszy test krok po kroku, jak lokalizować elementy i czekać na nie, jak zorganizować projekt, kiedy zamiast Selenium wybrać Playwright albo Cypress, jak wpiąć testy w CI/CD i jakie błędy popełniają początkujący. Piszemy jako zespół, który napisał ponad 450 000 testów automatycznych i szkoli z Selenium od lat.
Selenium to otwarty zestaw narzędzi do automatyzacji przeglądarek, którego główny składnik, Selenium WebDriver, pozwala z poziomu kodu w Javie, Pythonie, C#, JavaScripcie, Ruby lub Kotlinie otwierać strony, klikać, wpisywać tekst i sprawdzać wynik w Chrome, Firefoksie, Edge i Safari. Steruje przeglądarką przez protokół WebDriver, który jest standardem W3C, dzięki czemu producenci przeglądarek sami dostarczają sterowniki. Najczęściej służy do testów regresyjnych i end to end aplikacji webowych, a w wersji 4 dostał automatyczne zarządzanie sterownikami, lokatory względne i dostęp do zdarzeń przeglądarki przez BiDi.
Spis treści
- Czym jest Selenium?
- Jak działa Selenium WebDriver?
- Z czego składa się Selenium: WebDriver, IDE i Grid
- W jakim języku pisać testy w Selenium?
- Jak napisać pierwszy test w Selenium krok po kroku?
- Jak lokalizować elementy i czekać na nie, żeby testy były stabilne?
- Jak zorganizować projekt testów: Page Object, framework, raporty
- Selenium, Playwright czy Cypress: kiedy które?
- Jak wpiąć testy Selenium w CI/CD i uruchamiać je równolegle?
- Jakie błędy najczęściej popełniają początkujący w Selenium?
- Jak nauczyć się Selenium: ścieżka od zera do pierwszego frameworka
- Najczęstsze pytania o Selenium

Czym jest Selenium?
Selenium to projekt open source (licencja Apache 2.0) do automatyzacji przeglądarek internetowych, używany przede wszystkim do testów aplikacji webowych; powstał w 2004 roku w ThoughtWorks, a dziś jest utrzymywany przez społeczność i rozwijany jako standard, na którym opiera się specyfikacja W3C WebDriver.
Według historii projektu Selenium zaczęło się w 2004 roku w Chicago, gdy Jason Huggins z ThoughtWorks zbudował narzędzie do testowania aplikacji wewnętrznej przez przeglądarkę. Kolejne lata przyniosły połączenie z projektem WebDriver, wersję 2 w 2011 roku, a w październiku 2021 roku Selenium 4, w którym protokół WebDriver stał się w pełni zgodny ze standardem W3C. Projekt jest nadal aktywnie rozwijany: strona selenium.dev ogłasza kolejne wydania serii 4 co kilka tygodni.
Selenium nie jest jednym programem, tylko zestawem trzech narzędzi o różnym przeznaczeniu, o których piszemy niżej. Gdy ktoś mówi „piszę testy w Selenium”, prawie zawsze ma na myśli Selenium WebDriver: bibliotekę, którą dołącza się do projektu w wybranym języku programowania. Selenium nie ma własnego języka ani własnego środowiska. Test w Selenium to zwykły program w Javie albo Pythonie, który zamiast liczyć faktury, klika w przeglądarce.
Jak działa Selenium WebDriver?
Selenium WebDriver działa w trzech warstwach: kod testu w wybranym języku wysyła polecenia w protokole WebDriver do sterownika przeglądarki (chromedriver, geckodriver, msedgedriver, safaridriver), a sterownik wykonuje je w prawdziwej przeglądarce i odsyła wynik; od wersji 4.6 sterowniki pobiera automatycznie Selenium Manager.
WebDriver to specyfikacja W3C opisująca zdalny interfejs sterowania przeglądarką: jak otworzyć adres, znaleźć element, kliknąć, odczytać tekst. Ponieważ to standard, sterowniki piszą sami producenci przeglądarek, a Selenium dostarcza biblioteki klienckie w językach programowania, które ten protokół wywołują. Test w Selenium jest więc czarną skrzynką: widzi to, co widzi użytkownik, i nie ma dostępu do wnętrza aplikacji, co jest jednocześnie ograniczeniem i gwarancją, że test sprawdza to, czego doświadczy klient.
Do wersji 4.6 największym problemem początkujących było ręczne pobieranie sterownika w wersji zgodnej z przeglądarką, który przestawał działać po każdej jej aktualizacji. Selenium Manager, wbudowany w biblioteki od tej wersji, sam pobiera i dopasowuje sterownik, więc pierwszy test uruchamia się bez konfiguracji. Selenium 4 dodało też BiDi, dwukierunkowy protokół dający dostęp do zdarzeń przeglądarki, na przykład logów konsoli i żądań sieciowych, których klasyczny WebDriver nie widział.
Z czego składa się Selenium: WebDriver, IDE i Grid
Projekt Selenium składa się z trzech narzędzi: WebDriver (biblioteka do pisania testów w kodzie, podstawa wszystkiego), IDE (wtyczka do przeglądarki nagrywająca i odtwarzająca kliknięcia, do szybkich prototypów) oraz Grid (serwer rozdzielający testy na wiele przeglądarek i maszyn równolegle).
| Narzędzie | Co to jest | Do czego | Uwaga |
|---|---|---|---|
| Selenium WebDriver | biblioteka w Javie, Pythonie, C#, JavaScripcie, Ruby, Kotlinie sterująca przeglądarką przez protokół WebDriver | testy regresyjne i end to end w kodzie, w repozytorium, w pipeline | to jest „Selenium” w ogłoszeniach o pracę |
| Selenium IDE | wtyczka do Chrome, Firefoksa i Edge nagrywająca kliknięcia i odtwarzająca je bez kodu | prototyp scenariusza, pokaz dla biznesu, nauka lokatorów | nagrane testy są kruche i nie skalują się; punkt startu, nie docelowe narzędzie |
| Selenium Grid | serwer, który przyjmuje testy i rozdziela je na wiele przeglądarek, systemów i maszyn | równoległe uruchamianie regresji, testy na wielu przeglądarkach, integracja z farmami w chmurze | wymaga infrastruktury; małe zespoły zaczynają od równoległości w samym frameworku |
Opisy wszystkich trzech: WebDriver, Selenium IDE, Selenium Grid. W dalszej części tekstu piszemy o WebDriverze, bo to on decyduje o tym, czy automatyzacja w Waszym projekcie zadziała.
W jakim języku pisać testy w Selenium?
Testy w Selenium pisze się w tym języku, w którym pisze zespół developerski albo w którym tester już programuje: Java w większości polskich firm i ogłoszeń, Python przy najkrótszej drodze od zera do pierwszego testu, C# w zespołach .NET, JavaScript tam, gdzie front i testy mają wspólny stos; sam WebDriver działa tak samo w każdym z nich.
| Język | Framework testowy | Zalety | Ograniczenia | Dla kogo |
|---|---|---|---|---|
| Java | JUnit 5 albo TestNG, Maven lub Gradle | najwięcej ogłoszeń w Polsce, największa liczba przykładów, dojrzałe frameworki, ten sam język co Appium | najdłuższa droga od zera, dużo składni na start | tester bez języka celujący w rynek pracy, zespoły javowe |
| Python | pytest | najkrótsza droga do pierwszego testu, czytelny kod, ten sam język do API i danych | mniej ogłoszeń typowo pod Selenium, mniej wzorców frameworkowych w firmach | tester zaczynający od zera, zespoły pythonowe, testy API plus UI |
| C# | NUnit, xUnit | naturalny w zespołach .NET, mocne narzędzia | poza zespołami .NET rzadki | zespoły .NET |
| JavaScript, TypeScript | Mocha, Jest, WebdriverIO | wspólny język z frontem, WebdriverIO daje gotowy framework | w tym języku częściej wybiera się Playwright albo Cypress | zespoły frontendowe, które mimo wszystko potrzebują WebDrivera |
Jeżeli nie macie jeszcze języka, decyzję rozkładamy w tekście Jaki język programowania wybrać do automatyzacji testów. Krótko: Java, jeśli celujecie w ogłoszenia, Python, jeśli chcecie jak najszybciej napisać coś, co działa. Oba uczymy od podstaw na szkoleniach Java dla testerów i Python dla testerów.

Jak napisać pierwszy test w Selenium krok po kroku?
Pierwszy test w Selenium powstaje w sześciu krokach: instalacja języka i biblioteki, utworzenie projektu z frameworkiem testowym, uruchomienie przeglądarki przez WebDriver, znalezienie elementu i wykonanie akcji, sprawdzenie wyniku asercją oraz uruchomienie testu z wiersza poleceń; od wersji 4.6 nie trzeba pobierać sterownika ręcznie.
Pierwszy test w Selenium, Python i pytest (Selenium 4.6 lub nowsze, sterownik pobiera Selenium Manager)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def test_wyszukiwanie_szkolenia():
driver = webdriver.Chrome()
try:
driver.get("https://qualityisland.pl/szkolenia/")
pole = WebDriverWait(driver, 10).until(
EC.visibility_of_element_located((By.CSS_SELECTOR, "input[type='search']")))
pole.send_keys("Selenium")
pole.submit()
wynik = WebDriverWait(driver, 10).until(
EC.visibility_of_element_located((By.CSS_SELECTOR, "h2.woocommerce-loop-product__title")))
assert "Selenium" in wynik.text
finally:
driver.quit()
Trzy rzeczy w tym przykładzie są ważniejsze niż reszta: jawne oczekiwanie na element zamiast stałego uśpienia, zamknięcie przeglądarki w bloku finally niezależnie od wyniku oraz asercja na końcu. Oficjalny opis pierwszych kroków w każdym języku: Getting Started w dokumentacji Selenium.
Jak lokalizować elementy i czekać na nie, żeby testy były stabilne?
Stabilność testu w Selenium zależy od dwóch decyzji: jak znajdujecie elementy (identyfikatory i atrybuty testowe przed XPath po strukturze) i jak na nie czekacie (jawne oczekiwanie na warunek zamiast stałych opóźnień i zamiast oczekiwania niejawnego); większość „niestabilnych testów Selenium” to testy z lokatorem po pozycji i uśpieniem na trzy sekundy.
| Lokator | Zaleta | Pułapka |
|---|---|---|
| Identyfikator (id) | najstabilniejszy, jeśli developerzy nadają stałe identyfikatory | generowane automatycznie identyfikatory zmieniają się przy każdym wydaniu |
| Atrybut testowy (data-testid) | stały, niezależny od wyglądu i tekstu, umowa z developerami | wymaga współpracy z zespołem developerskim |
| Selektor CSS | szybki, czytelny, wystarcza w większości przypadków | selektor po klasach stylów psuje się przy zmianie wyglądu |
| XPath | jedyny sposób na tekst i relacje w górę drzewa | XPath po strukturze (div[3]/div[2]) psuje się przy każdej zmianie układu |
| Lokatory względne (Selenium 4) | „pole poniżej etykiety Hasło”, czytelne dla ludzi | wolniejsze, nadal zależne od układu |
| Tekst linku | czytelny | psuje się przy tłumaczeniu i zmianie treści |
Oczekiwanie: Selenium ma oczekiwanie niejawne (ustawione raz dla całej sesji) i jawne (na konkretny warunek, na przykład widoczność elementu). Mieszanie obu daje nieprzewidywalne czasy, dlatego dokumentacja zaleca jawne. Stałe uśpienie (sleep) nie jest oczekiwaniem: za krótkie na wolnym środowisku, za długie na szybkim, zawsze ukrywa realny czas odpowiedzi. Szczegóły w naszych tekstach o selektorach w Selenium i o waitach w Selenium WebDriver, a o sprawdzaniu wyniku w tekście o asercjach w Selenium.
Jak zorganizować projekt testów: Page Object, framework, raporty
Projekt testów w Selenium organizuje się wzorcem Page Object: każda strona albo komponent ma klasę z lokatorami i akcjami, a test opisuje tylko scenariusz; do tego framework testowy z raportami, konfiguracja środowisk i przeglądarek w jednym miejscu oraz dane testowe poza kodem.
- Page Object. Klasa StronaLogowania ma metody zaloguj(email, haslo) i komunikatBledu(). Test wywołuje metody, nie zna lokatorów. Zmiana układu strony to zmiana w jednej klasie, nie w pięćdziesięciu testach. Wzorzec opisuje dokumentacja Selenium.
- Framework i raporty. JUnit, TestNG albo pytest dają uruchamianie, grupowanie, powtarzanie i raport. Raport z zrzutem ekranu przy padnięciu (Allure, ExtentReports, wbudowany HTML w pytest) skraca diagnozę z godzin do minut.
- Konfiguracja. Adres środowiska, przeglądarka, tryb bezgłowy, limity czasu w jednym pliku albo zmiennych środowiskowych. Test nie ma w sobie adresu „https://test.firma.pl”.
- Dane testowe. Konta, produkty, kody poza kodem testu, w plikach albo tworzone przez API przed testem. Test, który zależy od tego, że w bazie jest użytkownik jan@test.pl, pada w dniu, w którym ktoś go usunie.
- Warstwa API. Logowanie, przygotowanie danych i sprzątanie przez API, nie przez interfejs. Test przez przeglądarkę sprawdza tylko to, co użytkownik naprawdę widzi.
Wzorce projektowe frameworka rozkładamy w tekście Automatyzacja testów Selenium WebDriver: wzorce projektowe, a to, ile testów przez interfejs w ogóle powinno być, w tekście o piramidzie testów.
Liczby z projektu dla Argos, potwierdzone przez klienta. Testy interfejsu w tym projekcie zostały, ale tylko dla ścieżek krytycznych; reszta zeszła niżej. To najważniejsza lekcja o Selenium: narzędzie działa dobrze wtedy, gdy nie prosi się go o sprawdzanie wszystkiego.
Selenium, Playwright czy Cypress: kiedy które?
Selenium wybiera się dla wielu języków, wielu przeglądarek z Safari włącznie, istniejących zespołów javowych i integracji z Appium; Playwright dla nowych projektów w JavaScripcie, Pythonie, Javie lub C# z naciskiem na szybkość i stabilność; Cypress dla zespołów frontendowych piszących w JavaScripcie testy blisko komponentów.
| Kryterium | Selenium | Playwright | Cypress |
|---|---|---|---|
| Języki | Java, Python, C#, JavaScript, Ruby, Kotlin | JavaScript, TypeScript, Python, Java, C# | JavaScript, TypeScript |
| Przeglądarki | Chrome, Firefox, Edge, Safari, przez sterowniki producentów | Chromium, Firefox, WebKit, wbudowane | Chrome, Firefox, Edge, Electron, WebKit eksperymentalnie |
| Architektura | protokół WebDriver, sterownik jako osobny proces | własny protokół, bezpośrednie sterowanie | działa wewnątrz przeglądarki |
| Oczekiwanie | ręczne, jawne | automatyczne na akcje | automatyczne na akcje |
| Mocne strony | standard, ekosystem, Grid, Appium tym samym API | szybkość, stabilność, nagrywanie, śledzenie | wygoda dla frontendu, podgląd na żywo |
| Słabe strony | więcej kodu na oczekiwania i konfigurację, wolniejsze | młodszy ekosystem, mniej ogłoszeń | jeden język, ograniczenia wielu kart i domen |
| Kiedy | zespół javowy, wiele przeglądarek, Appium, istniejący zestaw | nowy projekt, szybkość, JavaScript lub Python | zespół frontendowy, testy komponentów |
Pełne porównanie w tekście Selenium WebDriver, Cypress czy Playwright. Umiejętności z Selenium przenoszą się na oba pozostałe narzędzia: lokatory, oczekiwania, Page Object i architektura frameworka wyglądają tak samo, zmienia się składnia. Dlatego naukę automatyzacji webowej warto zacząć od Selenium nawet wtedy, gdy docelowo zespół pisze w Playwrighcie, którego uczymy na szkoleniu Automatyzacja testów z narzędziem Playwright.

Jak wpiąć testy Selenium w CI/CD i uruchamiać je równolegle?
W CI/CD testy Selenium uruchamia się w trybie bezgłowym na agencie z zainstalowaną przeglądarką albo w kontenerze, równolegle przez framework testowy lub Selenium Grid, z raportem i zrzutami przy padnięciu; zestaw dzieli się na smoke testy przy każdej zmianie i pełną regresję raz dziennie.
- Tryb bezgłowy. Przeglądarka bez okna, ta sama logika. Szybciej i bez zależności od pulpitu na agencie CI.
- Kontenery. Oficjalne obrazy Selenium z przeglądarką i sterownikiem w środku; pipeline nie zależy od tego, co zainstalowano na maszynie.
- Równoległość. Najpierw w frameworku (pytest-xdist, JUnit równoległy, TestNG), potem Grid, gdy testów jest więcej niż jedna maszyna udźwignie. Warunek: testy niezależne od siebie i od kolejności.
- Warstwy. Smoke test krytycznych ścieżek przy każdym scaleniu, pełna regresja w nocy i przed wydaniem, z limitem czasu na każdą warstwę.
- Artefakty. Raport, zrzut ekranu i log przeglądarki z każdego padnięcia. Padnięcie bez zrzutu na agencie CI jest nie do zdiagnozowania.
Jak układać regresję warstwami i co robić z testami niestabilnymi, opisujemy w tekstach o testach regresyjnych i shift left testing. Budowę takich potoków prowadzimy w ramach budowy procesów CI/CD.
Jakie błędy najczęściej popełniają początkujący w Selenium?
Najczęstsze błędy początkujących to stałe uśpienia zamiast oczekiwań, XPath po strukturze strony, lokatory w testach zamiast w Page Objectach, jeden gigantyczny test zamiast wielu małych, logowanie przez interfejs w każdym teście, brak asercji, brak zamykania przeglądarki i automatyzowanie wszystkiego przez interfejs, co da się sprawdzić przez API.
- Uśpienie zamiast oczekiwania. time.sleep(3) w każdym kroku. Test trwa pięć minut i nadal pada na wolnym środowisku.
- XPath po strukturze. //div[3]/div[2]/button pada po dodaniu jednego elementu. Identyfikatory, atrybuty testowe, potem CSS.
- Lokatory w teście. Ten sam przycisk opisany w czterdziestu testach. Zmiana układu to czterdzieści poprawek. Page Object rozwiązuje to od pierwszego dnia.
- Jeden test na wszystko. Scenariusz na dwieście kroków, który pada w kroku 87 i nie mówi, co dalej działa. Testy małe, niezależne, z jedną intencją.
- Logowanie przez interfejs w każdym teście. Sto testów, sto logowań przez formularz. Logowanie przez API albo ciasteczko, interfejs logowania testowany raz.
- Brak asercji. Test, który klika i kończy się zielono, bo niczego nie sprawdził.
- Wszystko przez interfejs. Sto wariantów naliczania rabatu klikanych w koszyku. To praca dla testów API, o czym piszemy w tekście o testach integracyjnych.
Jak nauczyć się Selenium: ścieżka od zera do pierwszego frameworka
Nauka Selenium od zera zajmuje kilka miesięcy w czterech etapach: podstawy jednego języka programowania, pierwszy test i lokatory, Page Object i framework z raportami, a na końcu wpięcie w CI/CD i praca na realnej aplikacji; osoby z doświadczeniem w testach manualnych mają przewagę, bo wiedzą, co testować, i uczą się tylko jak.
Etapy 2 i 3 to program szkolenia Automatyzacja testów Selenium WebDriver, a wszystkie cztery, ze stażem na komercyjnej aplikacji na końcu, składają się na projekt szkoleniowo-stażowy dla testera automatyzującego. Jeżeli dopiero wchodzicie do zawodu, kolejność opisujemy w przewodniku jak zostać testerem oprogramowania, gdzie automatyzacja jest drugim etapem, nie pierwszym. Kiedy automatyzacja się opłaca, a kiedy nie, rozkładamy w tekście o zaletach i wadach automatyzacji testów. Wiedzę dla liderów jakości publikujemy na portalu Strefa QA.
Najczęstsze pytania o Selenium
Co to jest Selenium?
Selenium to otwarty zestaw narzędzi do automatyzacji przeglądarek, używany głównie do testów aplikacji webowych. Główny składnik, Selenium WebDriver, pozwala z poziomu kodu w Javie, Pythonie, C#, JavaScripcie, Ruby lub Kotlinie sterować Chrome, Firefoksem, Edge i Safari przez protokół WebDriver, który jest standardem W3C.
Do czego służy Selenium?
Do automatyzacji testów aplikacji webowych: regresyjnych, end to end, smoke testów, uruchamianych w pipeline CI/CD i na wielu przeglądarkach. Nie służy do testów API ani aplikacji desktopowych, a do aplikacji mobilnych używa się Appium, które korzysta z tego samego protokołu.
Czy Selenium jest darmowe?
Tak. Selenium jest projektem open source na licencji Apache 2.0. Płatne bywają usługi wokół niego: farmy przeglądarek w chmurze, narzędzia raportowania, szkolenia.
Jaki język wybrać do Selenium?
Java, jeśli celujecie w ogłoszenia o pracę w Polsce i zespoły javowe. Python, jeśli chcecie najkrótszą drogę do pierwszego działającego testu. C# w zespołach .NET, JavaScript tam, gdzie front i testy dzielą stos. WebDriver działa tak samo w każdym języku.
Czy Selenium jest trudne do nauki?
Sam WebDriver nie: pierwszy test powstaje w godzinę. Trudne jest to, co wokół: język programowania, lokatory, oczekiwania, Page Object, framework i CI/CD. Nauka od zera do własnego frameworka zajmuje zwykle kilka miesięcy.
Selenium czy Playwright?
Selenium dla wielu języków, wielu przeglądarek z Safari, zespołów javowych, integracji z Appium i istniejących zestawów. Playwright dla nowych projektów w JavaScripcie, Pythonie, Javie lub C# z naciskiem na szybkość i stabilność. Umiejętności przenoszą się między nimi.
Czy trzeba pobierać chromedriver?
Nie od Selenium 4.6. Wbudowany Selenium Manager sam pobiera i dopasowuje sterownik do zainstalowanej przeglądarki. W starszych wersjach sterownik trzeba było pobierać ręcznie i aktualizować po każdej aktualizacji przeglądarki.
Dlaczego testy w Selenium są niestabilne?
Najczęściej przez stałe uśpienia zamiast jawnych oczekiwań, lokatory XPath po strukturze strony, testy zależne od siebie i od danych w bazie oraz automatyzowanie przez interfejs logiki, którą powinny sprawdzać testy API. Selenium poprawnie użyte jest stabilne.
Co zabrać z tego artykułu
01Selenium to standard, nie najwygodniejsze narzędzie. Umiejętności z niego przenoszą się na Playwright i Cypress, w drugą stronę niekoniecznie.
02Test w Selenium to zwykły program w Javie albo Pythonie. Bez podstaw języka Selenium jest kopiowaniem fragmentów bez zrozumienia.
03Od Selenium 4.6 nie pobieracie sterowników ręcznie. Selenium Manager robi to sam.
04Stabilność to dwie decyzje: identyfikatory i atrybuty testowe zamiast XPath po strukturze oraz jawne oczekiwania zamiast uśpień.
05Page Object od pierwszego dnia. Lokatory w testach to czterdzieści poprawek po każdej zmianie układu.
06Przez interfejs tylko ścieżki krytyczne. Logika biznesowa należy do testów API i jednostkowych.
Chcecie zacząć automatyzację w Selenium od frameworka, który przetrwa pierwszą refaktoryzację, a nie od skryptów, które trzeba będzie wyrzucić? Na szkoleniu budujemy go od pierwszego testu po Page Object, raporty i pipeline, na realnej aplikacji, w Javie albo Pythonie.
Powiązane na blogu Quality Island
- Lokalizowanie elementów: selektory w Selenium
- Explicit Wait vs Implicit Wait: waity w Selenium WebDriver
- Asercje w Selenium
- Automatyzacja testów Selenium WebDriver: wzorce projektowe
- Selenium WebDriver, Cypress czy Playwright: porównanie narzędzi
- Jaki język programowania wybrać do automatyzacji testów?
Pełna lista źródeł
- Selenium, selenium.dev: WebDriver, Getting Started, Selenium Manager, Waiting Strategies, Locator strategies, Page Object Models, Grid, IDE
- Selenium, History oraz Announcing Selenium 4 (13.10.2021)
- W3C, WebDriver, specyfikacja protokołu
- Kod źródłowy: SeleniumHQ/selenium na GitHubie, licencja Apache 2.0
- Dane własne Quality Island z projektu dla Argos, e-commerce, liczby potwierdzone przez klienta; ponad 450 000 napisanych testów automatycznych