Kurs Selenium

Automatyzacja testów z wykorzystaniem Selenium (beta)

selenium logo

Uwaga: Kurs jest aktualnie w wersji beta, co oznacza, że posiada niepełny zakres.

Aktualny stan: 

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

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

Liczba ukończonych Quizów: 12

Szacowana liczba Quizów: 16 

Liczba ukończonych zadań: 5

Szacowana liczba zadań: 24

 

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.

selenium strona testowa

 

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

Omawiane w kursie technologie to m.in.

  • Selenium 3.12.0 wersja z Maja 2018
  • TestNG 6.14.3 wersja z Kwietnia 2018
  • Maven
  • Java 9
  • AssertJ (w przygotowaniu)
  • Jenkins (w przygotowaniu)
  • Przeglądarki Chrome/Firefox  

Czego się nauczysz:

  • podstaw i średniozaawansowanych zagadnień związanych z narzędziami takimi jak Selenium, TestNG, Maven
  • zasad tworzenia czytelnego kodu źródłowego testów automatycznych,
  • rozwiązywania podstawowych problemów z 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.

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 (w trakcie przygotowania) o różnym stopniu trudności wraz z przykładowymi rozwiązaniami.

2018-06-08 15_38_36-Lekcja_ Zadanie 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-06-08 16_04_44-Forum wsparcia merytorycznego.png

Kupując ten kurs dostajesz

  • Dostęp do materiałów na okres jednego roku.
  • Dostęp do wszystkich aktualizacji w czasie subskrypcji.
  • 16 tematów głównych.
  • Quizy (testy) do rozwiązania
  • Ćwiczenia z rozwiązaniami do każdego tematu (w przygotowaniu)

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 1 - Treść
  • Zadanie 1 - Rozwiązanie
  • Zadanie 2 - Treść
  • Zadanie 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 3 - Treść
  • Zadanie 3 - Rozwiązanie
  • Zadanie 4 - Treść
  • Zadanie 4 - Rozwiązanie

Podstawy asercji

  • Czym jest asercja?
  • Czym jest asercja - Quiz!
  • Zadanie 5 - Treść
  • Zadanie 5 - 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 isVisible() oraz isEnabled() – sprawdzanie stanu WebElementów
  • Klasa Actions i inne akcje za pomocą myszki i klawiatury
  • Podstawowe metody i klasy w Selenium - Quiz!
  • Zadanie 6 - Treść (w przygotowaniu)
  • Zadanie 6 - Rozwiązanie (w przygotowaniu)
  • Zadanie 7 - Treść (w przygotowaniu)
  • Zadanie 7 - Rozwiązanie (w przygotowaniu)
  • Zadanie 8 - Treść (w przygotowaniu)
  • Zadanie 8 - Rozwiązanie (w przygotowaniu)

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 9 - Treść (w przygotowaniu)
  • Zadanie 9 - Rozwiązanie (w przygotowaniu)

Budowanie frameworka do testów oraz nauka podstawowych dobrych praktyk

  • Wstęp oraz pierwszy test
  • Podstawy „dobrej” konwencji nazewnictwa
  • Praktyki oraz wzroce związane z konwencją nazewnictwa (w opracowaniu)
  • 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
  • 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
  • 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 słuchacza RetryAnalyzer (w opracowaniu)
  • Dodanie biblioteki Allure - pierwszy zaawansowany raport (w opracowaniu)
  • Dodanie wykonywania zrzutów ekranu przy porażce testu (w opracowaniu)

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 Nodea za pomocą pilików JSON (w opracowaniu)
  • Klasa DesiredCapabilities
  • Selenium Grid – dobry praktyki (w opracowaniu)
  • Selenium Extras (w opracowaniu)
  • Selenium Docker (w opracowaniu)
  • Zalenium (w opracowaniu)
  • Selenium GRID - Quiz!
  • Zadanie 10 - Treść (w przygotowaniu)
  • Zadanie 10 - Rozwiązanie (w przygotowaniu)
  • Zadanie 11 - Treść (w przygotowaniu)
  • Zadanie 11 - Rozwiązanie (w przygotowaniu)

Inne przydatne funkcjonalności Selenium

  • Zrzuty ekranu
  • Egzekutor JavaSciprtu – JavaScriptExecutor
  • Trawersowanie (w opracowaniu)
  • Ciasteczka
  • Logi przeglądarki
  • EventFiringWebDriver i zaawansowane logowanie
  • Lista WebElementów
  • Obsługa alertów JavaScriptowych (w opracowaniu)
  • Inne przydatne funkcjonalności Selenium - Quiz!
  • Zadanie 12 - Treść (w przygotowaniu)
  • Zadanie 12 - Rozwiązanie (w przygotowaniu)
  • Zadanie 13 - Treść (w przygotowaniu)
  • Zadanie 13 - Rozwiązanie (w przygotowaniu)
  • Zadanie 14 - Treść (w przygotowaniu)
  • Zadanie 14 - Rozwiązanie (w przygotowaniu)

Typowe problemy z Selenium

  • Typowe wyjątki w Selenium
  • iFrame (w opracowaniu)
  • Automatyzacja kontrolki typu DatePicker (w opracowaniu)
  • Zadanie 15 - Treść (w przygotowaniu)
  • Zadanie 15 - Rozwiązanie (w przygotowaniu)
  • Zadanie 16 - Treść (w przygotowaniu)
  • Zadanie 16 - Rozwiązanie (w przygotowaniu)

Continuous Integration, Maven, dobre praktyki – w codziennej pracy

  • Tematy w opracowaniu

Dobre praktyki związane z kodem i testami

  • Statyczny import
  • Formatowanie kodu
  • DRY
  • KISS
  • YAGNI
  • FIRST
  • Dane poza testami (w opracowaniu)
  • DDT (Data Driver Testing) (w opracowaniu)
  • Dobre praktyki związane z kodem i testami - Quiz!
  • Zadanie 17 - Treść (w przygotowaniu)
  • Zadanie 17 - Rozwiązanie (w przygotowaniu)
  • Zadanie 18 - Treść (w przygotowaniu)
  • Zadanie 18 - Rozwiązanie (w przygotowaniu)
  • Zadanie 19 - Treść (w przygotowaniu)
  • Zadanie 19 - Rozwiązanie (w przygotowaniu)

 TestNG

  • Zestaw testów (TestNG XML Suite)
  • Adnotacja @Parameters
  • Adnotacja @DataProviders
  • Adnotacja @Factories
  • Listeners w TestNG
  • TestNG - Quiz!
  • Zadanie 20 - Treść (w przygotowaniu)
  • Zadanie 20 - Rozwiązanie (w przygotowaniu)
  • Zadanie 21 - Treść (w przygotowaniu)
  • Zadanie 21 - Rozwiązanie (w przygotowaniu)
  • Zadanie 22 - Treść (w przygotowaniu)
  • Zadanie 22 - Rozwiązanie (w przygotowaniu)

Zaawansowane asercje

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

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 oraz quizy (testy).
Jak wersja Selenium została użyta? 
Kurs był pisany dla wersji: 3.12.0, wersja z Maja 2018
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  Podstawy. Zakres kursu Java Podstawy jest wystarczający do pracy z kursem Selenium. 
Czy kurs zawiera ćwiczenia?
Jesteśmy w trakcie dodawania quizów (testów) oraz ćwiczeń z rozwiązaniami.
Kurs jest zrealizowany w formie nauki podstaw Selenium na przykładach oraz budowy własnego frameworka do testów krok po kroku. 
Czy możliwe też jest wsparcie nauczyciela?
Aktualnie nie ma takiej możliwość. Po zakończeniu fazy beta, prawdopodobnie pojawi się taka możliwość.
Kiedy można się spodziewać pełnej wersji kursu z Selenium?
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ę.
80zł

Przedłużenie dostępu 20zł*
*Przedłużenie o rok kosztuje 25% ceny kursu. Promocyjna cena przedłużenia dostępna jest tylko dopóki dostęp do kursu całowicie nie wygaśnie.