Trwa sprzedaż biletówTesting Ground Conference, bilety 30% taniej

Organizujemy Testing Ground Conference, jedną z największych konferencji QA w Polsce. Kod poniżej daje 30% na każdy bilet.

Kup bilety
Selenium: co to jest, jak działa i od czego zacząć automatyzację testów

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 w trzech zdaniach

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.

Selenium: co to jest i jak działa

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.

Pierwszy test w Selenium krok po kroku

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.

01. Język i biblioteka
Python: pip install selenium pytest. Java: zależność selenium-java i junit-jupiter w Maven. Przeglądarka Chrome albo Firefox zainstalowana normalnie, sterownik pobierze Selenium Manager
02. Projekt
Katalog z testami, plik konfiguracji frameworka, jeden plik testowy. Od pierwszego dnia w repozytorium Git, nawet jeśli test jest jeden
03. Przeglądarka
Utworzenie obiektu WebDriver otwiera przeglądarkę. Po teście zamknięcie metodą quit, inaczej zostają procesy w tle
04. Element i akcja
Znalezienie elementu po identyfikatorze, nazwie, selektorze CSS albo XPath. Akcja: kliknięcie, wpisanie tekstu, odczyt tekstu
05. Asercja
Porównanie tego, co widać, z tym, co oczekiwane: tytuł strony, tekst komunikatu, obecność elementu. Test bez asercji niczego nie sprawdza
06. Uruchomienie
Z wiersza poleceń: pytest albo mvn test. Wynik w konsoli, później raport. To samo polecenie uruchomi pipeline
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.

2004
rok powstania Selenium w ThoughtWorks; od 2021 wersja 4 zgodna ze standardem W3C WebDriver
450 000+
testów automatycznych napisanych przez zespół Quality Island
5 dni na 10 h
skrócenie regresji u naszego klienta z e-commerce po przeniesieniu logiki z testów interfejsu na API
46%
mniej błędów krytycznych na produkcji w tym samym projekcie

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.

Selenium w CI/CD i Selenium Grid

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.

  1. Uśpienie zamiast oczekiwania. time.sleep(3) w każdym kroku. Test trwa pięć minut i nadal pada na wolnym środowisku.
  2. XPath po strukturze. //div[3]/div[2]/button pada po dodaniu jednego elementu. Identyfikatory, atrybuty testowe, potem CSS.
  3. 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.
  4. 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ą.
  5. Logowanie przez interfejs w każdym teście. Sto testów, sto logowań przez formularz. Logowanie przez API albo ciasteczko, interfejs logowania testowany raz.
  6. Brak asercji. Test, który klika i kończy się zielono, bo niczego nie sprawdził.
  7. 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.

01. Język
Java albo Python do poziomu: zmienne, warunki, pętle, funkcje, klasy, obsługa wyjątków, praca z Git. Bez tego Selenium jest kopiowaniem fragmentów bez zrozumienia
02. Pierwszy test
Instalacja, uruchomienie przeglądarki, lokatory, akcje, oczekiwania, asercje. Dziesięć małych testów na publicznej aplikacji ćwiczeniowej
03. Framework
Page Object, konfiguracja środowisk, dane testowe, raporty ze zrzutami, uruchamianie z wiersza poleceń. To odróżnia skrypty od automatyzacji
04. Realna aplikacja i CI/CD
Testy na aplikacji z prawdziwymi wymaganiami, wpięcie w pipeline, praca z testami niestabilnymi, code review. Ten etap daje się pokazać na rozmowie rekrutacyjnej

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.

Zobaczcie program szkolenia


Powiązane na blogu Quality Island

Pełna lista źródeł

Co o tym sądzisz?

Dodaj komentarz

Bądź na bieżąco
Bądź na bieżąco
Automatyzacja testów z narzędziem Playwright (Python)
Automatyzacja testów z narzędziem Playwright (C#)

Pierwotna cena wynosiła: 2657,00 PLN.Aktualna cena wynosi: 2536,00 PLN.Ostatnie miejsca w promocyjnej cenie

14.09.26, 12.10.26, 02.11.26, 23.11.26, 14.12.26, 18.01.27
2 dni
Automatyzacja testów z narzędziem Playwright (Python)
Automatyzacja testów z narzędziem Playwright (Python)

2670,00 PLN

16.09.26, 08.10.26, 27.10.26, 17.11.26, 09.12.26, 14.01.27
2 dni
Automatyzacja testów z narzędziem Playwright
Automatyzacja testów z narzędziem Playwright (Java)

2661,00 PLN

23.09.26, 15.10.26, 05.11.26, 26.11.26, 17.12.26, 20.01.27
2 dni
Popularne artykuły
Język Gherkin: co to jest i jak go używać w testowaniu oprogramowania
Smoke test: co to jest, kiedy go uruchamiać i czym różni się od sanity testu
Jak zostać testerem oprogramowania: ścieżka krok po kroku bez dyplomu informatyka
Najnowsze artykuły
AI Act: obowiązki testowania systemów wysokiego ryzyka, termin przesunięty na 2027
Konferencje testerskie w Polsce 2026: terminy, miasta, ceny i jak wybrać
Rozporządzenie DORA a testy: kto musi, jak często i dlaczego niezależnie
Popularne kategorie