od 119 zł

Kurs Selenium

Automatyzacja testów z wykorzystaniem Selenium

selenium logo

Uwaga: Kurs jest cały czas rozwijany!

Aktualny stan: 

Liczba ukończonych unikalnych tematów / stron: 101

Szacowana liczba unikalnych tematów / stron: 106 (liczba ta może ulec zmianie)

Liczba dostępnych Quizów: 13

Liczba dostępnych zadań: 30

 

Wstęp do kursu

Ten kurs to idealny wybór dla wszystkich osób, które dopiero rozpoczynają swoją przygodę z automatyzacją testów stron webowych przy użyciu Selenium w języku Java.

Poprowadzimy Cię od absolutnych podstaw, takich jak poprawna instalacja i konfiguracja Javy, Mavena i Selenium, poprzez napisanie i uruchomienie pierwszego testu, aż po bardziej skomplikowane elementy, takie jak budowanie własnego frameworka służącego do testowania realnej strony internetowej. Wszystko to będzie poparte quizami sprawdzającymi twoją wiedzę oraz zadaniami praktycznymi z rozwiązaniami. 

selenium strona testowa

 

Kurs został opracowany w najpopularniejszych narzędziach i bibliotekach na rynku

Omawiane w kursie technologie to m.in.:

  • Selenium 4.0.0-alpha-7 wersja z Listopad 2020
  • TestNG 7.3.0 wersja z Sierpień 2020
  • Maven
  • Java 8/9/11
  • Allure Framework 2.13.8
  • Log4j2 
  • AssertJ (w opracowaniu)
  • Przeglądarki Chrome/Firefox/Internet Explorer

Czego się nauczysz:

  • podstaw i średnio zaawansowanych zagadnień związanych z narzędziami takimi jak Selenium, TestNG, Maven, Allure
  • zasad tworzenia czytelnego kodu źródłowego testów automatycznych,
  • poznasz podstawowe problemy w automatyzacji testów,
  • rozwiązywać podstawowe problemy w automatyzacji testów,
  • korzystania z popularnych narzędzi programistycznych dostępnych na rynku,
  • tworzenia frameworka do testów automatycznych w praktyce,
  • samodzielnej pracy z kodem.

Po ukończeniu kursu będziesz w stanie samodzielnie tworzyć testy automatyczne przy użycia frameworka Selenium oraz nabędziesz wiedzę niezbędną do dalszego samodzielnego rozwoju.

 

Dobre praktyki

W ramach kursu poznasz podstawowe dobre praktyki oraz wzorce stosowane w testach Selenium, takie jak:

  • DRY,
  • KISS,
  • YAGNI,
  • Tell, Don't Ask,
  • Page Object Pattern,
  • Fluent Interface,
  • Wzorzec Fabryka,
  • Wzorzec Singleton,
  • Efektywne oczekiwanie na WebElementy,
  • Konwencje nazewnictwa,
  • Dane poza testami (w opracowaniu),
  • i inne.

Nauka przez praktykę

To co odróżnia nasz kurs od książek, czy innych kursów na rynku to mocne nastawienie na praktykę i pracę własną. Pokażemy Ci w jaki sposób zbudować swój pierwszy framework do testów oraz pisać w nim testy automatyczne. W kursie znajdziesz zadania o różnym stopniu trudności wraz z przykładowymi rozwiązaniami. Wszystkie zadania i materiały zostały przygotowane przez inżyniera testów z 7 letnim doświadczeniem, który na co dzień pracuje w automatyzacji testów!

 

2018-07-20 10_26_25-Lekcja_ Zadanie 3.1 - Treść.png

2018-07-20 10_29_01-Lekcja_ Zadanie 9.1 - Treść.png

Dodatkowo po każdym temacie teoretycznym możesz sprawdzić swoje siły rozwiązując quizy.

2018-06-08 15_35_19-Pytanie 2.png

Wsparcie merytoryczne

W trakcie kursu masz dostęp do Forum wsparcia merytorycznego na którym możesz zadać pytanie związane z poruszonymi tematami oraz problemami, które napotkałeś. W ramach możliwości mentorzy będą odpowiadać na Twoje pytanie.

2018-07-20 10_33_06-Forum wsparcia merytorycznego.png

Twój pierwszy framework do testów

Razem z nami krok po kroku zaprojektujesz swój pierwszy framework do testów automatycznych wraz z testami!

2018-10-27 10_44_50-.png

Kupując ten kurs dostajesz

  • Dostęp do materiałów na okres jednego roku.
  • Dostęp do wszystkich aktualizacji w czasie subskrypcji.
  • 15 tematów głównych.
  • Quizy (testy) do rozwiązania
  • Ćwiczenia z rozwiązaniami do każdego tematu
  • Dostęp do forum merytorycznego, na którym możesz zadawać pytania

Lista tematów

Instalacja

  • Wstęp do kursu
  • Instalacja JDK
  • Instalacja Maven
  • Instalacja IntelliJ Community Edition

Wstęp do Mavena

  • Wstęp do Mavena
  • Utworzenie Projekt Mavenowego
  • Dodanie bibliotek TestNG oraz Selenium
  • Wstęp do Mavena - Quiz!

Pierwszy test i ostateczna konfiguracja

  • Pierwszy test automatyczny i jego konfiguracja
  • Omówienie pierwszego testu
  • Pierwszy test i ostateczna konfiguracja - Quiz!
  • Zadanie 3.1 - Treść
  • Zadanie 3.1 - Rozwiązanie
  • Zadanie 3.2 - Treść
  • Zadanie 3.2 - Rozwiązanie

Selenium - jak działa, zarys historyczny

  • Selenium – historia
  • Selenium – jak działa?
  • Selenium – jak działa, zarys historyczny - Quiz!

Lokatory podstawy

  • Lokatory - wstęp
  • Lokatory - omówienie
  • Lokatory - dobre praktyki oraz podsumowanie
  • Lokatory - porównanie XPath a CSS
  • Lokatory podstawy - Quiz!
  • Zadanie 5.1 - Treść
  • Zadanie 5.1 - Rozwiązanie
  • Zadanie 5.2 - Treść
  • Zadanie 5.2 - Rozwiązanie

Podstawy asercji

  • Czym jest asercja?
  • Czym jest asercja - Quiz!
  • Zadanie 6.1 - Treść
  • Zadanie 6.1 - Rozwiązanie

Podstawowe metody i klasy w Selenium

  • WebElement – co to jest?
  • Użycie podstawowych metod Selenium - wstęp
  • Metoda sendKeys() i getAttribute()
  • Metoda sendKeys() – specyficzny przypadek przy załadowaniu pliku do formularza
  • Metoda clear()
  • Metoda click(), isSelected() – dla różnych kontrolek
  • Klasa Select i metoda getText()
  • Klasa Select i metody do wybierania opcji selectByIndex(), selectByValue(), selectByText()
  • Metoda isDisplayed() oraz isEnabled() – sprawdzanie stanu WebElementów
  • Klasa Actions i inne akcje za pomocą myszki i klawiatury
  • Podstawowe metody i klasy w Selenium - Quiz!
  • Zadanie 7.1 - Treść
  • Zadanie 7.1 - Rozwiązanie
  • Zadanie 7.2 - Treść
  • Zadanie 7.2 - Rozwiązanie
  • Zadanie 7.3 - Treść
  • Zadanie 7.3 - Rozwiązanie
  • Zadanie 7.4 - Treść
  • Zadanie 7.4 - Rozwiązanie

Oczekiwanie na WebElementy

  • Wstęp do oczekiwania na WebElementy (Waity w Selenium)
  • Implicit Wait
  • Explicit Wait
  • Klasa Expected Conditions
  • Dobra strategia „oczekiwania” na WebElementy
  • Oczekiwanie na WebElementy - Quiz!
  • Zadanie 8.1 - Treść
  • Zadanie 8.1 - Rozwiązanie 
  • Zadanie 8.2 - Treść
  • Zadanie 8.2 - Rozwiązanie 
  • Zadanie 8.3 - Treść
  • Zadanie 8.3 - Rozwiązanie 
  • Zadanie 8.4 - Treść
  • Zadanie 8.4 - Rozwiązanie 

Budowanie frameworka do testów oraz nauka podstawowych dobrych praktyk

  • Wstęp oraz pierwszy test
  • Podstawy „dobrej” konwencji nazewnictwa
  • Page Object Pattern – wstęp
  • Page Object Pattern – na czym polega?
  • Page Object Pattern i klasa Page Factory
  • Page Object Pattern - podsumowanie
  • Odpowiednia strukturyzacja projektu
  • Zadanie 9.1 - Treść
  • Zadanie 9.1 - Rozwiązanie
  • Zadanie 9.2 - Treść
  • Zadanie 9.2 - Rozwiązanie
  • Zarządzanie WebDriverem oraz wzorzec Singleton
  • Zastosowanie Explicit Waitów w testach
  • Logowanie przebiegu testu
  • Uruchamiane testów na różnych przeglądarkach – lokalnie (FF, IE)
  • Fluent Interface
  • Zadanie 9.3 - Treść
  • Zadanie 9.3 - Rozwiązanie
  • Relatywne URL
  • Uruchamianie testów z poziomu command line oraz prosty raport z testów
  • Podstawowa konfiguracja testów z pliku properties
  • Konfiguracja i uruchamianie testów z plików XML (TestNG.xml)
  • Dodanie RemoteWebDriver do frameworka
  • Dodanie maven-compiler-plugin, czyli dbałość o konfigurację
  • Dodanie możliwości uruchamiania testów wielowątkowo
  • Wprowadzenie parametryzacji przeglądarki dla wątku per klasa testowa
  • Dodanie biblioteki Allure - pierwszy zaawansowany raport
  • Zastosowanie podstawowej funkcjonalności biblioteki Allure we frameworku
  • Poprawa i rozwinięcie logowania - log techniczny (WebDriverEventListener)
  • Wprowadzenie biblioteki AssertJ oraz asercje poza testami (Custom assertions)
  • Dodanie wykonywania zrzutów ekranu przy porażce testu oraz adnotacja @Attachment
  • Dodanie słuchacza RetryAnalyzer
  • Zastosowanie BasePage
  • Uruchomienie testów na Jenkinsie - prosty plan
  • Uruchomienie testów na Jenkinsie - pipeline
  • Użycie Docker Selenium w pipeline

Selenium GRID

  • Selenium GRID – wstęp
  • Podstawowa Konfiguracja Huba dla systemu Windows
  • Podstawowa Konfiguracja Node-a dla systemu Windows
  • Uruchomienie podstawowego testu na Selenium GRID
  • Konfiguracja Huba i Noda za pomocą plików JSON
  • Klasa DesiredCapabilities oraz klasy typu MutableOptions
  • Selenium Grid – dobry praktyki
  • Selenium Extras
  • Selenium Docker
  • Zalenium (w opracowaniu)
  • Selenium GRID - Quiz!
  • Zadanie 10.1 - Treść
  • Zadanie 10.1 - Rozwiązanie
  • Zadanie 10.2 - Treść
  • Zadanie 10.2 - Rozwiązanie

Inne przydatne funkcjonalności Selenium

  • Zrzuty ekranu
  • Egzekutor JavaScriptu– JavaScriptExecutor
  • Trawersowanie 
  • Ciasteczka
  • Logi przeglądarki
  • EventFiringWebDriver i zaawansowane logowanie
  • Lista WebElementów
  • Obsługa JavaScriptowych okien dialogowych
  • Relatywne lokatory (Selenium 4.X)
  • Inne przydatne funkcjonalności Selenium - Quiz!
  • Zadanie 11.1 - Treść
  • Zadanie 11.1 - Rozwiązanie
  • Zadanie 11.2 - Treść
  • Zadanie 11.2 - Rozwiązanie
  • Zadanie 11.3 - Treść
  • Zadanie 11.3 - Rozwiązanie
  • Zadanie 11.4 - Treść
  • Zadanie 11.4 - Rozwiązanie
  • Zadanie 11.5 - Treść
  • Zadanie 11.5 - Rozwiązanie

Typowe problemy z Selenium

  • Typowe wyjątki w Selenium
  • iFrame
  • Automatyzacja kontrolki typu DatePicker
  • Jak przewinąć stronę (scroll do elementu)
  • Załadowanie pliku (File upload) na Selenium GRID
  • Oczekiwanie na załadowanie aplikacji napisanych w AngularJS oraz AngularIO
  • Typowe problemy z Selenium - Quiz!
  • Zadanie 12.1 - Treść
  • Zadanie 12.1 - Rozwiązanie
  • Zadanie 12.2 - Treść
  • Zadanie 12.2 - Rozwiązanie

Dobre praktyki związane z kodem i testami

  • Statyczny import
  • Formatowanie kodu
  • DRY
  • KISS
  • YAGNI
  • FIRST
  • Tell, Don't Ask
  • SOLID - S (Single responsibility principle)
  • SOLID - O (Open–closed principle)
  • SOLID - L (Liskov substitution principle)
  • SOLID - I (Interface segregation principle)
  • SOLID - D (Dependency inversion principle) (W opracowaniu)
  • Dane poza testami (w opracowaniu)
  • DDT (Data Driver Testing)
  • Dobre praktyki związane z kodem i testami - Quiz!
  • Zadanie 13.1 - Treść
  • Zadanie 13.1 - Rozwiązanie
  • Zadanie 13.2 - Treść 
  • Zadanie 13.2 - Rozwiązanie
  • Zadanie 13.3 - Treść (w opracowaniu)
  • Zadanie 13.3 - Rozwiązanie (w opracowaniu)

 TestNG

  • Zestaw testów (TestNG XML Suite)
  • Adnotacja @Parameters
  • Adnotacja @DataProviders
  • Adnotacja @Factory
  • Listeners w TestNG
  • TestNG - Quiz!
  • Zadanie 14.1 - Treść
  • Zadanie 14.1 - Rozwiązanie
  • Zadanie 14.2 - Treść
  • Zadanie 14.2 - Rozwiązanie
  • Zadanie 14.3 - Treść
  • Zadanie 14.3 - Rozwiązanie
  • Zadanie 14.4 - Treść
  • Zadanie 14.4 - Rozwiązanie

Zaawansowane asercje

  • Asercje – w klasach testowych czy poza nimi?
  • Zaawansowane asercje z biblioteką AssertJ (w opracowaniu)
  • Zadanie 15.1 - Treść (w opracowaniu)
  • Zadanie 15.1 - Rozwiązanie (w opracowaniu)
  • Zadanie 15.2 - Treść (w opracowaniu)
  • Zadanie 15.2 - Rozwiązanie (w opracowaniu)

Pytania i wątpliwości?

Napisz do nas na adres selenium@javastart.pl

 

FAQ

W jakiej formie są materiały?
 
Materiały są w formie pisanej (tekstu). Składają się na nie tekst, zrzuty ekranów, kod, quizy (testy) oraz zadania z rozwiązaniami.
 
Jak wersja Selenium została użyta? 
 
Kurs był pisany dla wersji: 3.141.59, wersja z Listopada 2018.  Aktualnie został zaaktualizowany do wersji 4.0.0-alpha-7 (Listopad 2020).
Kurs jest aktualizowany systematycznie do najnowszej wersji Selenium - kwartalnie
 
Czy wystarczająca będzie podstawowa wiedza z zakresu programowania w Javie?
 
Wymagana jest podstawowa znajomość Javy oraz programowania obiektowego. Jeśli boisz się, że twoja wiedza jest nie wystarczająca zapraszamy do zapoznania się z kursem Java. Zakres kursu Java jest wystarczający do pracy z kursem Selenium. 
 
Czy kurs zawiera ćwiczenia?
 
Tak. Kurs zawiera quizy typu ABCD oraz zadania z rozwiązaniami.
Aktualny stan quizów oraz ćwiczeń jest dostępny u góry tej strony w sekcji "Aktualny stan"
 
Czy możliwe też jest wsparcie nauczyciela?
 
Do twojej dyspozycji jest dostępne Forum Wsparcia Merytorycznego. Na forum twórca materiałów będzie odpowiadał na trapiące Cię pytania związane z kursem oraz problemami z Selenium, które napotkałeś.
 
Co to znaczy, żę kurs jest cały czas rozwijany? Kiedy można się spodziewać pełnej wersji kursu z Selenium?
 
Automatyzacja testów przy pomocy frameworka Selenium to bardzo duży temat. Chcemy aby kurs wiódł prym wśród kursów dostępnych na rynku, dlatego cały czas go rozwijamy przez dokładanie kolejnych tematów i lekcji. Lista tematów jest aktualizowana na bieżąco powyżej.  Ponieważ kurs cały czas się rozwija ciężko jest określić jego finalną datę.
 
Kto jest autorem kursu?
 
Autorem kursu jest Mateusz Ciołek
Kurs Selenium

Kupując otrzymujesz:

  • Kompleksowy kurs programowania w języku Java
  • Rok dostępu do treści wraz z aktualizacjami
  • Gwarancję satysfakcji lub zwrot pieniędzy

OFERTA

Wersja Podstawowa
119 zł
  • 1 rok dostępu do kursu i aktualizacji
  • 100 lekcji
  • 30 zadań
  • 12 quizów
Kupuję
Wersja Standardowa
179 zł
  • 1 rok dostępu do kursu i aktualizacji
  • 100 lekcji
  • 30 zadań
  • 12 quizów
  • Dostęp do forum i możliwość zadawania nieograniczonej liczby pytań
Kupuję
tag_faces

Gwarancja satysfakcji

speed

Dostęp do kursu w ciągu kilku minut po zakupie

attach_money

Zwrot pieniędzy do 14 dni

business

Faktura VAT 23%