• Selenium WebDriver w Javie. Praktyczne wprowadzenie do tworzenia testów systemowych

Selenium pozwala na automatyzację pracy przeglądarek internetowych. Kluczowym komponentem tego projektu open source jest Selenium WebDriver - biblioteka do programistycznego kontrolowania przeglądarek. Podstawowym zastosowaniem Selenium jest implementacja testów systemowych w celu weryfikacji funkcjonowania aplikacji. Narzędzie to zdobyło ogromną popularność - stanowi ono jedno z wiodących rozwiązań w zakresie testów systemowych. Jest chętnie używane zarówno przez duże organizacje, jak i samodzielnych programistów.

Podtytuł Selenium WebDriver w Javie. Praktyczne wprowadzenie do tworzenia testów systemowych
Tytuł oryginalny Hands-On Selenium WebDriver with Java: A Deep Dive into the Development of End-to-End Tests
Autor Boni García
Tłumaczenie Katarzyna Bogusławska
Rok wydania 2023
Oprawa Miękka
Format 165x235
Stron 352
Wydawnictwo Helion
89.00 60.52
Do końca promocji pozostało:
Najniższa cena z 30 dni przed promocją:
66.75
szt. Do przechowalni
Wysyłka w ciągu 24 godziny
ISBN 978-83-283-9982-2
Selenium pozwala na automatyzację pracy przeglądarek internetowych. Kluczowym komponentem tego projektu open source jest Selenium WebDriver - biblioteka do programistycznego kontrolowania przeglądarek. Podstawowym zastosowaniem Selenium jest implementacja testów systemowych w celu weryfikacji funkcjonowania aplikacji. Narzędzie to zdobyło ogromną popularność - stanowi ono jedno z wiodących rozwiązań w zakresie testów systemowych. Jest chętnie używane zarówno przez duże organizacje, jak i samodzielnych programistów.
Ten praktyczny przewodnik po Selenium WebDriver w wersji 4 z uwzględnieniem implementacji w Javie jest przeznaczony dla programistów Javy, inżynierów jakości i testerów. Przedstawiono w nim główne aspekty zautomatyzowanej nawigacji po stronie, manipulacji w przeglądarce, interakcji z elementami, naśladowania działań użytkownika i automatycznego zarządzania sterownikami. Opisano koncepcję wzorca projektowego POM, który pozwala na modelowanie stron internetowych w zorientowanych obiektowo klasach. Zaprezentowano różne sposoby przeprowadzania testów i wprowadzania odpowiedniej ich kolejności, omówiono też zasady analizy błędnych wykonań w celu określenia przyczyn niepowodzenia. Pokazano także możliwości wzbogacania testów o inne technologie, służące na przykład do raportowania wyników, generowania danych czy implementacji szczególnych przypadków użycia.

W książce między innymi:
• przygotowanie środowiska do testów end-to-end z Selenium WebDriver
• automatyczne interakcje z aplikacjami internetowymi
• strategie testowania na wielu przeglądarkach
• testowanie działania formularzy, komunikatów w oknach i skryptów JavaScript
• posługiwanie się złożoną infrastrukturą w testach Selenium WebDriver
• wykorzystanie programowania zorientowanego obiektowo w testowanych aplikacjach

Przedmowa
Wstęp


Część I. Wprowadzenie

1. Wstęp do Selenium
Główne komponenty Selenium
Selenium WebDriver
Selenium Grid
Selenium IDE
Ekosystem Selenium
Wiązania językowe
Mechanizmy zarządzania sterownikami
Narzędzia do lokalizowania elementów
Biblioteki
Infrastruktura przeglądarkowa
Społeczność
Podstawy testowania oprogramowania
Poziomy testów
Typy testów
Metodyki testowe
Narzędzia automatyzacji testów
Podsumowanie

2. Przygotowanie do testów
Wymagania
Wirtualna maszyna Javy
Edytor tekstu lub zintegrowane środowisko programistyczne IDE
Przeglądarki i sterowniki
Narzędzia budowania kodu
Opcjonalne oprogramowanie
Ustawienia projektu
Struktura projektu
Zależności
Witaj, świecie
Użycie dodatkowych przeglądarek
Podsumowanie


Część II. Interfejs API Selenium WebDriver

3. Podstawy WebDriver
Podstawy zastosowania WebDriver
Tworzenie obiektów WebDriver
Metody WebDriver
Identyfikator sesji
Pozbywanie się obiektów WebDriver
Znajdowanie elementów WebElement
Obiektowy model dokumentu DOM
Metody WebElement
Strategie lokalizacji
Znajdowanie lokalizatorów na stronie internetowej
Lokalizatory złożone
Lokalizatory względne
Której strategii używać?
Działania z klawiaturą
Wysyłanie plików
Suwaki
Działania myszką
Nawigacja
Pola wyboru i przyciski radio
Gesty użytkownika
Kliknięcie kontekstowe i podwójne kliknięcie
Przesunięcie myszki
Przeciąganie elementów
Kliknięcie i przytrzymanie
Mechanizm kopiuj-wklej
Strategie oczekiwania
Implicit wait (oczekiwanie bezwzględne)
Explicit wait (oczekiwanie względne)
Fluent wait (płynne czekanie)
Podsumowanie

4. Funkcjonalności niezależne od przeglądarki
Wykonywanie skryptów JavaScript
Skrypty synchroniczne
Skrypty przypięte
Skrypty asynchroniczne
Maksymalny czas oczekiwania
Maksymalny czas oczekiwania na załadowanie strony
Maksymalny czas oczekiwania na załadowanie skryptu
Zrzuty ekranu
Zrzuty ekranu z elementami WebElement
Rozmiar i pozycja okna
Historia przeglądarki
Shadow DOM
Ciasteczka
Listy rozwijane
Elementy list danych (datalist)
Cele nawigacji
Karty i okna
Ramki i ramki iframe
Okna dialogowe
Alerty, potwierdzenia i podpowiedzi
Okna modalne
Schowek Web Storage
Mechanizmy nasłuchiwania zdarzeń
Wyjątki WebDriver
Podsumowanie

5. Funkcjonalności zależne od przeglądarki
Opcje przeglądarki
Przeglądarki bezinterfejsowe
Strategie ładowania strony
Emulatory urządzeń
Rozszerzenia
Geolokalizacja
Powiadomienia
Binaria przeglądarki
Serwer web proxy
Zapisywanie logów
Udostępnianie mediów lokalnych
Ładowanie niebezpiecznych stron
Lokalizacja
Tryb prywatny (incognito)
Edge w trybie Internet Explorer
Protokół Chrome DevTools
Klasy obudowujące CDP w Selenium
Polecenia CDP
Kontekst lokalizacji
Uwierzytelnianie sieciowe
Drukowanie strony
WebDriver BiDi
Podsumowanie

6. Zdalny WebDriver
Architektura Selenium WebDriver
Tworzenie obiektów RemoteWebDriver
Konstruktor Remote WebDriver
Mechanizm budowania RemoteWebDriver
Mechanizm budowania WebDriverManager
Selenium-Jupiter
Selenium Grid
Tryb samodzielny
Serwer-węzły
Tryb rozproszony
Obserwowalność
Konfiguracja
Dostawcy usług w chmurze
Przeglądarki w kontenerach Dockera
Obrazy Dockadla Selenium Grid
Selenoid
WebDriverManager
Selenium-Jupiter
Podsumowanie


Część III. Zagadnienia zaawansowane

7. Obiektowy model strony
Dlaczego?
Wzorzec projektowy obiektowego modelu strony
Obiektowe modele stron
Rozbudowane obiekty stron
Tworzenie języka domeny (DSL)
Fabryka Stron (Page Factory)
Podsumowanie

8. Szczegóły bibliotek testowania
Testy parametryzowane
Testowanie na wielu przeglądarkach
Kategoryzowanie i filtrowanie testów
Kolejność testów
Analiza błędów
Ponowienie testów
Równoległe wykonanie testów
Mechanizmy nasłuchiwania testów
Dezaktywowanie testów
Podsumowanie

9. Integracje z narzędziami zewnętrznymi
Pobieranie plików
Opcje zależne od przeglądarki
Korzystanie z klienta HTTP
Przechwytywanie ruchu sieciowego
Testy niefunkcjonalne
Wydajność
Bezpieczeństwo
Dostępność
Testy A/B
Płynne API
Dane testowe
Raportowanie
Behavior Driven Development
Frameworki webowe
Podsumowanie

10. Oprócz Selenium
Aplikacje mobilne
Testy mobilne
Appium
Usługi REST
REST Assured
Alternatywy dla Selenium
Cypress
WebDriverIO
TestCafe
Puppeteer
Playwright
Podsumowanie i ostatnie uwagi
Co nowego w Selenium 4
Selenium WebDriver
Przewodnik po migracji
Selenium Grid
Selenium IDE
Inne nowości

B. Zarządzanie sterownikami
WebDriverManager - automatyczne zarządzanie sterownikami
Uniwersalny menedżer
Zaawansowana konfiguracja
Inne zastosowania
Ręczne zarządzanie sterownikami
Podsumowanie

C. Ustawienia repozytorium z przykładami
Struktura projektu
Maven
Wspólna konfiguracja
JUnit 4
JUnit 5
Selenium-Jupiter
TestNG
Inne zależności
Gradle
JUnit 4
JUnit 5
Selenium-Jupiter
TestNG
Inne zależności
Zapisywanie logów
GitHub Actions
Dependabot
Podsumowanie

Dr Boni García jest wykładowcą wizytującym na Uniwersytecie Karola III w Madrycie, a także autorem ponad 45 publikacji naukowych. Prowadzi kilka projektów open source, między innymi WebDriver Manager i Selenium-Jupiter. Jego zainteresowania naukowe koncentrują się wokół inżynierii oprogramowania, a zwłaszcza testów automatycznych.

Nie ma jeszcze komentarzy ani ocen dla tego produktu.

Polub nas na Facebooku