Szkolenie Selenium WebDriver – zakres rozszerzony

To szkolenie 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, lub są na jej początku i chcą ją rozszerzyć.

Poprowadzimy Cię od podstaw , takich jak poprawna konfiguracja 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 dużą ilością zadań praktycznych. W trakcie trwania kursu nie zapomnimy też  o dobrych praktykach takich jak:

Dodatkowo przejdziemy przez wszystkie najpopularniejsze problemy związane z Selenium. Zintegrujemy Selenium z różnymi bibliotekami. Wykonamy swój pierwszy test na środowisku ciągłej integracji i znacznie więcej.

Do kogo skierowane jest szkolenie?

Szkolenie jest skierowane od testerów dla osób, które w krótkim czasie (3-dni) chciałyby poznać podstawy Selenium w języku Java.   Po ukończeniu szkolenia uczestnik zdobędzie bazę wiedzy, dostęp do kursu oraz gotowy projekt, który będzie mógł mu posłużyć do dalszej nauki.

Do szkolenia wymagana jest podstawowa znajomość Javy w wersji przynajmniej 1.8.

Dlaczego wybrać nasze szkolenie?

 

Od testerów dla testerów

Szkolenie zostało stworzone przez praktyków. W myśl zasady od testerów automatyków dla przyszłych testerów automatyków. Szkolenie jest cały czas rozwijane i udoskonalane. W całym szkoleniu stawiamy przede wszystkim na poznaniu wszystkich najważniejszych aspektów Selenium przez praktykę.  Wszystkie przedstawione elementy szkolenia są oparte o dobre praktyki i doświadczenie trenerów w pracy zawodowej.

Praktyka

W trakcie trwania szkolenia wykonasz szereg ćwiczeń, które w ostatecznym rozrachunku zbudują podstawowy framework testowy. Framework ten będziesz mógł następnie użyć w swojej firmie w codziennej pracy.

Wsparcie po szkoleniu - materiały

Po szkoleniu otrzymasz roczny dostęp do kursu https://javastart.pl/kurs/selenium. Kurs składa się ze wszystkich poruszonych w trakcie trwania szkolenia zagadnień oraz tematów dodatkowych (ponad 100 różnych tematów). Na kurs składają się teoria, zadania z rozwiązaniami i quizy.

Wsparcie merytoryczne po szkoleniu

Po szkoleniu dostaniesz  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.

Jakie narzędzia i biblioteki poznam na kursie?

Omawiane w kursie technologie to m.in.:

Czy nauczę się Selenium w trzy dni?

Odpowiedź na pytanie jest oczywiście, nie. W przeciwieństwie do innych firm szkoleniowych nie powiemy ci, że przez trzy dni nauczysz się wszystkiego. Szkolenie trzy-dniowe ma na celu pokazaniu Ci bardzo rozległych podstaw Selenium, dzięki którym oraz naszym wsparciu po szkoleniu w postaci kursu na stronie javastart.pl będziesz mógł swobodnie rozwijać się dalej.

Trenerzy

Mateusz Ciołek

Mateusz Ciołek - Absolwent Politechniki Wrocławskiej. Inżynier testów z ponad 8 letnim doświadczeniem w branży. Na co dzień pracuje jako lider zespołu testerów automatycznych w jednej z wrocławskich firm. W wolnym czasie trener automatyzacji i twórca kursu Selenium. Pasjonat automatyzacji testów i dobrych praktyk w automatyzacji, który stara opierać się o wzorce programowania i Clean Code.

Mateusz Podolak

Mateusz Podolak - Java Developer odpowiadający za część backendową serwisów webowych. Absolwent informatyki na Politechnice Wrocławskiej. Swoje pierwsze kroki w karierze zawodowej stawiał jako tester automatyczny. Zajmował się automatyzacją testów portali webowych oraz aplikacji mobilnych.

Agenda szkolenia 

Dzień 1

  1. Instalacja środowiska
  2. Wstęp do Mavena
  3. Utworzenie Projekt Mavenowego
  4. Dodanie bibliotek TestNG oraz Selenium
  5. Pierwszy test i ostateczna konfiguracja
  6. Pierwszy test automatyczny i jego konfiguracja
  7. Omówienie pierwszego testu
  8. Selenium - jak działa, zarys historyczny
  9. Selenium – historia
  10. Selenium – jak działa?
  11. Selenium – jak działa, zarys historyczny - Quiz!
  12. Lokatory podstawy
  13. Lokatory - wstęp
  14. Lokatory - omówienie
  15. Lokatory - dobre praktyki oraz podsumowanie
  16. Lokatory - porównanie XPath a CSS
  17. Podstawy asercji
  18. Czym jest asercja?
  19. Podstawowe metody i klasy w Selenium
  20. WebElement – co to jest?
  21. Użycie podstawowych metod Selenium - wstęp
  22. Metoda sendKeys() i getAttribute()
  23. Metoda sendKeys() – specyficzny przypadek przy załadowaniu pliku do formularza
  24. Metoda clear()
  25. Metoda click(), isSelected() – dla różnych kontrolek
  26. Klasa Select i metoda getText()
  27. Klasa Select i metody do wybierania opcji selectByIndex(), selectByValue(), selectByText()
  28. Metoda isVisible() oraz isEnabled() – sprawdzanie stanu WebElementów
  29. Klasa Actions i inne akcje za pomocą myszki i klawiatury
  30. Oczekiwanie na WebElementy
  31. Wstęp do oczekiwania na WebElementy (Waity w Selenium)
  32. Implicit Wait
  33. Explicit Wait
  34. Klasa Expected Conditions
  35. Dobra strategia „oczekiwania” na WebElementy
  36. Budowanie frameworka do testów oraz nauka podstawowych dobrych praktyk
  37. Wstęp oraz pierwszy test
  38. Podstawy „dobrej” konwencji nazewnictwa
  39. Page Object Pattern – wstęp
  40. Page Object Pattern – na czym polega?
  41. Page Object Pattern i klasa Page Factory
  42. Page Object Pattern – podsumowanie

Dzień 2

  1. Odpowiednia strukturyzacja projektu
  2. Zarządzanie WebDriverem oraz wzorzec Singleton
  3. Zastosowanie Explicit Waitów w testach
  4. Logowanie przebiegu testu
  5. Uruchamiane testów na różnych przeglądarkach – lokalnie (FF, IE)
  6. Fluent Interface
  7. Relatywne URL
  8. Uruchamianie testów z poziomu command line oraz prosty raport z testów
  9. Podstawowa konfiguracja testów z pliku properties
  10. Konfiguracja i uruchamianie testów z plików XML (TestNG.xml)
  11. Dodanie RemoteWebDriver do frameworka
  12. Dodanie maven-compiler-plugin, czyli dbałość o konfigurację
  13. Dodanie możliwości uruchamiania testów wielowątkowo
  14. Wprowadzenie parametryzacji przeglądarki dla wątku per klasa testowa
  15. Dodanie biblioteki Allure - pierwszy zaawansowany raport
  16. Zastosowanie podstawowej funkcjonalności biblioteki Allure we frameworku
  17. Poprawa i rozwinięcie logowania - log techniczny (WebDriverEventListener)
  18. Wprowadzenie biblioteki AssertJ oraz asercje poza testami (Custom assertions)
  19. Dodanie wykonywania zrzutów ekranu przy porażce testu oraz adnotacja @Attachment
  20. Dodanie słuchacza RetryAnalyzer
  21. Zastosowanie BasePage
  22. Uruchomienie testów na Jenkinsie - prosty plan
  23. Uruchomienie testów na Jenkinsie - pipeline
  24. Selenium GRID
  25. Selenium GRID – wstęp
  26. Podstawowa Konfiguracja Huba dla systemu Windows
  27. Podstawowa Konfiguracja Node-a dla systemu Windows
  28. Uruchomienie podstawowego testu na Selenium GRID
  29. Konfiguracja Huba i Noda za pomocą plików JSON
  30. Klasa DesiredCapabilities oraz klasy typu MutableOptions
  31. Selenium Grid – dobry praktyki
  32. Selenium Extras
  33. Selenium Docker

Dzień 3

  1. Inne przydatne funkcjonalności Selenium
  2. Zrzuty ekranu
  3. Egzekutor JavaScriptu– JavaScriptExecutor
  4. Trawersowanie 
  5. Ciasteczka
  6. Logi przeglądarki
  7. EventFiringWebDriver i zaawansowane logowanie
  8. Lista WebElementów
  9. Obsługa JavaScriptowych okien dialogowych
  10. Typowe problemy z Selenium
  11. Typowe wyjątki w Selenium
  12. iFrame
  13. Automatyzacja kontrolki typu DatePicker
  14. Jak przewinąć stronę (scroll do elementu)
  15. Załadowanie pliku (File upload) na Selenium GRID
  16. Oczekiwanie na załadowanie aplikacji napisanych w AngularJS oraz AngularIO
  17. Dobre praktyki związane z kodem i testami
  18. Statyczny import
  19. Formatowanie kodu
  20. DRY
  21. KISS
  22. YAGNI
  23. FIRST
  24. Tell, Don't Ask
  25. SOLID - S (Single responsibility principle)
  26. SOLID - O (Open–closed principle)
  27. SOLID - L (Liskov substitution principle)
  28. SOLID - I (Interface segregation principle)
  29. SOLID - D (Dependency inversion principle)
  30. DDT (Data Driver Testing)
  31. TestNG
  32. Zestaw testów (TestNG XML Suite)
  33. Adnotacja @Parameters
  34. Adnotacja @DataProviders
  35. Adnotacja @Factory
  36. Listeners w TestNG
  37. Zaawansowane asercje
  38. Asercje – w klasach testowych czy poza nimi?
  39. Zaawansowane asercje z biblioteką AssertJ

 

Wymagania sprzętowe

Terminy i zapisy

Aktualnie nie ma zaplanowanych terminów dla tego szkolenia. Jeśli jesteś nim zainteresowany/a to daj nam o tym znać.