Kurs Selenium
Automatyzacja testów z wykorzystaniem Selenium 4.25.0
Co znajdziesz w kursie:
Liczba unikalnych tematów / stron: 101
Liczba dostępnych Quizów: 13
Liczba dostępnych zadań: 30
Wstęp do kursu
Kurs Selenium 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.
Kurs Selenium został opracowany w najpopularniejszych narzędziach i bibliotekach na rynku
Omawiane w kursie technologie to m.in.:
- Selenium 4.25.0 wersja z Wrzesień 2024 roku
- TestNG 7.10.2 wersja z Kwiecień 2024 roku
- Maven
- Java 8/9/11/17/21/23
- Allure Framework 2.26.0
- Log4j2
- AssertJ
- 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!
Dodatkowo po każdym temacie teoretycznym możesz sprawdzić swoje siły rozwiązując quizy.
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.
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!
Kupując kurs selenium 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 (EventFiringDecorator) implementacja Selenium 4.0
- 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
- 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/EventFiringDecorator i zaawansowane logowanie
- Lista WebElementów
- Obsługa JavaScriptowych okien dialogowych
- Relatywne lokatory (Selenium 4.0)
- Basic Authentication (Selenium 4.0)
- 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)
- Dane poza testami
- 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
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
Pytania i wątpliwości?
Napisz do nas na adres selenium@javastart.pl
FAQ
Kupując otrzymujesz:
- Kurs automatyzacji testów z wykorzystaniem Selenium
- Rok dostępu do treści wraz z aktualizacjami
- Gwarancję satysfakcji lub zwrot pieniędzy
OFERTA
- 1 rok dostępu do kursu i aktualizacji
- 100 lekcji
- 30 zadań
- 12 quizów
- 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ń
Gwarancja satysfakcji
Dostęp do kursu w ciągu kilku minut po zakupie
Zwrot pieniędzy do 14 dni
Faktura VAT 23%