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:
- Praktyki związane z lokatorami,
- Dobre praktyki związane ściśle z Selenium np. Explicit Wait,
- Page Object Pattern,
- Fluent Interfrace,
- DRY,
- KISS,
- YAGNI,
- FIRST,
- TDA,
- SOLID
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.:
- Selenium 3.141.59
- TestNG 7.0.0
- Maven
- Java 9
- Allure Framework 2.10.0
- Log4j2
- AssertJ
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 - 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 - 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
- Instalacja środowiska
- Wstęp do Mavena
- Utworzenie Projekt Mavenowego
- Dodanie bibliotek TestNG oraz Selenium
- Pierwszy test i ostateczna konfiguracja
- Pierwszy test automatyczny i jego konfiguracja
- Omówienie pierwszego testu
- 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
- Podstawy asercji
- Czym jest asercja?
- 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
- Oczekiwanie na WebElementy
- Wstęp do oczekiwania na WebElementy (Waity w Selenium)
- Implicit Wait
- Explicit Wait
- Klasa Expected Conditions
- Dobra strategia „oczekiwania” na WebElementy
- 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
Dzień 2
- 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 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
- 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
Dzień 3
- 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
- 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
- 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)
- DDT (Data Driver Testing)
- TestNG
- Zestaw testów (TestNG XML Suite)
- Adnotacja @Parameters
- Adnotacja @DataProviders
- Adnotacja @Factory
- Listeners w TestNG
- Zaawansowane asercje
- Asercje – w klasach testowych czy poza nimi?
- Zaawansowane asercje z biblioteką AssertJ
Wymagania sprzętowe
- Windows 10/8/7 lub Linux Ubuntu 16.04 wzwyż
- 2 GB RAM minimum, 4 GB RAM zalecane.
- 2,5 GB miejsca na dysku
- Minimalna rozdzielczość ekranu 1024x768
Terminy i zapisy
Aktualnie nie ma zaplanowanych terminów dla tego szkolenia. Jeśli jesteś nim zainteresowany/a to daj nam o tym znać.