Selenium i testowanie aplikacji. Receptury. Wydanie II - ebook
Selenium i testowanie aplikacji. Receptury. Wydanie II - ebook
Projektanci nowoczesnych aplikacji internetowych muszą obecnie sprostać wielu wyzwaniom. Oprogramowanie, które tworzą, musi działać wydajnie i bezbłędnie w różnych przeglądarkach, na różnych platformach, na różnych urządzeniach. Wobec rosnących wymagań testowanie aplikacji staje się bardzo ważnym etapem jej rozwoju. Jako że zaprojektowanie i przeprowadzenie takich testów jest dość złożonym zadaniem, warto zapewnić sobie sprawdzone narzędzie umożliwiające automatyzację testów aplikacji. Takim narzędziem z pewnością jest Selenium Web Driver — framework służący do automatyzacji przeglądarek internetowych.
W tej książce przedstawiono zaawansowane techniki testowania aplikacji internetowych za pomocą Selenium Web Driver i pokrewnych narzędzi. Zaprezentowano skuteczne i efektywne metodyki testowania aplikacji przeznaczonych dla komputerów stacjonarnych, przeglądarek mobilnych i działających w środowisku rozproszonym. Opisano tu również wzorce projektowe, takie jak testy bazujące na danych, obiekty stron i mapy obiektów. Przedstawiono techniki rozszerzania frameworka Selenium i dostosowywania go do szczególnych działań. W książce zaprezentowano ponad 80 receptur, które z pewnością okażą się przydatne podczas automatyzacji testów aplikacji.
Czego możesz oczekiwać od tej książki...
- Zrozumiesz działanie lokalizatorów. Nauczysz się korzystać z różnych metod lokalizowania, co pomoże Ci budować niezawodne testy.
- Nauczysz się wzorca PageFactory, który pozwala budować rozbudowane i łatwe do utrzymania frameworki testów.
- Zapoznasz się ze sposobami integracji Selenium WebDriver API z narzędziami ATDD (BDD) takimi, jak Cucumber, SpecFlow, Capybara i Behave.
- Nauczysz się konfigurować symulatory i urządzenia iPhone (Android) w celu testowania aplikacji webowych za pomocą Appium.
- Dowiesz się, jak skonfigurować środowisko Selenium Grid pozwalające na szybsze i współbieżne wykonywanie testów. Dzięki niemu zwiększysz pokrycie testowe oraz skrócisz czas uruchomienia testów dla wielu przeglądarek.
- Będziesz potrafił budować rozszerzone testy Selenium WebDriver dla zwiększenia pokrycia Twojej aplikacji testami.
Nowoczesne testowanie: Selenium Web Driver!
Spis treści
O autorze (7)
O recenzentach (9)
Przedmowa (11)
Rozdział 1. Od czego zacząć? (17)
- Wprowadzenie (17)
- Konfigurowanie środowiska tworzenia testów Selenium WebDriver dla języka Java z Eclipse i Maven (18)
- Wykorzystanie narzędzia Ant do egzekucji testów Selenium WebDriver (26)
- Konfigurowanie programu Microsoft Visual Studio do tworzenia testów Selenium WebDriver (29)
- Konfigurowanie frameworka Selenium WebDriver dla Pythona i Ruby (32)
- Konfiguracja programu Internet Explorer Driver Server (36)
- Konfiguracja sterownika ChromeDriver przeglądarki Google Chrome (40)
- Konfiguracja sterownika Microsoft WebDriver dla przeglądarki Microsoft Edge (43)
Rozdział 2. Wyszukiwanie elementów (47)
- Wprowadzenie (47)
- Wykorzystywanie narzędzi przeglądarki do badania elementów i struktury strony (48)
- Wyszukiwanie elementu za pomocą metody findElement (54)
- Wyszukiwanie wielu elementów za pomocą metody findElements (59)
- Wyszukiwanie linków (60)
- Wyszukiwanie elementów na podstawie nazwy znacznika (61)
- Wyszukiwanie elementów z wykorzystaniem XPath (62)
- Wyszukiwanie elementów na podstawie selektorów CSS (70)
- Lokalizowanie elementów na podstawie tekstu (74)
- Wyszukiwanie elementów na podstawie zaawansowanych selektorów CSS (76)
- Wykorzystanie selektorów jQuery (78)
Rozdział 3. Obsługa elementów HTML (81)
- Wprowadzenie (81)
- Automatyzowanie pól tekstowych, obszarów tekstowych i przycisków (82)
- Sprawdzanie tekstu elementu (84)
- Sprawdzanie atrybutów elementu i wartości CSS (86)
- Automatyzowanie rozwijanych menu i list (87)
- Zaznaczanie opcji w elementach Select (90)
- Zaznaczanie wybranych opcji na rozwijanych menu i listach (92)
- Automatyzacja przełączników i grup opcji (95)
- Automatyzowanie pól wyboru (97)
- Praca z obiektami WebTable (99)
Rozdział 4. Korzystanie z Selenium API (101)
- Wprowadzenie (101)
- Sprawdzanie istnienia elementu (102)
- Sprawdzanie stanu elementu (103)
- Wykorzystanie API Advanced User Interactions do obsługi zdarzeń myszy i klawiatury (104)
- Wykonywanie dwukrotnych kliknięć elementów (106)
- Wykonywanie operacji "przeciągnij i upuść" (108)
- Obsługa menu kontekstowych (109)
- Wykonywanie kodu JavaScript (111)
- Przechwytywanie zrzutów ekranu za pomocą Selenium WebDriver (113)
- Maksymalizowanie okna przeglądarki (115)
- Obsługa plików cookie sesji (115)
- Korzystanie z mechanizmów nawigacji przeglądarki (117)
- Korzystanie ze zdarzeń frameworka WebDriver (118)
Rozdział 5. Synchronizacja testów (123)
- Wprowadzenie (123)
- Synchronizacja testów z niejawnym oczekiwaniem (124)
- Synchronizacja testów z jawnym oczekiwaniem (125)
- Synchronizacja testów z niestandardowymi warunkami oczekiwanymi (127)
- Synchronizacja testów z wykorzystaniem klasy FluentWait (130)
Rozdział 6. Alerty, ramki i okna (133)
- Wprowadzenie (133)
- Obsługa prostych okien alertów JavaScript (133)
- Obsługa okien confirm i prompt (136)
- Identyfikowanie i obsługa ramek (139)
- Ramki iframe (144)
- Identyfikowanie i obsługa okien potomnych (146)
- Identyfikowanie i obsługa okien na podstawie tytułu (148)
- Identyfikowanie i obsługa wyskakujących okien na podstawie zawartości (150)
Rozdział 7. Testowanie sterowane danymi (153)
- Wprowadzenie (153)
- Tworzenie testów sterowanych danymi z wykorzystaniem JUnit (155)
- Tworzenie testów sterowanych danymi z wykorzystaniem frameworka TestNG (159)
- Odczytywanie danych testowych z pliku CSV z wykorzystaniem JUnit (161)
- Odczytywanie danych testowych z pliku Excela z wykorzystaniem JUnit i Apache POI (164)
- Tworzenie testów sterowanych danymi z wykorzystaniem NUnit (167)
- Tworzenie testów sterowanych danymi z wykorzystaniem MSTEST (171)
- Tworzenie testów sterowanych danymi w Ruby z wykorzystaniem Roo (175)
- Tworzenie testów sterowanych danymi w Pythonie z wykorzystaniem DDT (179)
Rozdział 8. Korzystanie ze wzorca Page Object (181)
- Wprowadzenie (181)
- Korzystanie z klasy PageFactory do udostępniania elementów na stronie (182)
- Korzystanie z klasy PageFactory do udostępniania operacji na stronie (186)
- Korzystanie z klasy LoadableComponent (189)
- Implementacja zagnieżdżonych egzemplarzy klasy Page Object (192)
- Implementacja modelu Page Object w środowisku .NET (197)
- Implementacja modelu Page Object w Pythonie (200)
- Implementacja modelu Page Object w Ruby z wykorzystaniem gemu page-object (203)
Rozdział 9. Rozszerzanie Selenium (205)
- Wprowadzenie (205)
- Tworzenie klas rozszerzeń dla tabel webowych (206)
- Tworzenie rozszerzenia dla widżetu tab biblioteki jQueryUI (210)
- Implementacja rozszerzenia klasy WebElement w celu ustawiania wartości atrybutów elementów (214)
- Implementacja rozszerzenia interfejsu WebElement w celu wyróżniania elementów (216)
- Utworzenie mapy obiektów dla testów Selenium (217)
- Przechwytywanie zrzutów ekranu elementów w Selenium WebDriver (223)
- Porównywanie obrazów w Selenium (224)
- Mierzenie wydajności z wykorzystaniem API Navigation Timing (229)
Rozdział 10. Testowanie aplikacji webowych HTML5 (233)
- Wprowadzenie (233)
- Automatyzowanie odtwarzacza wideo HTML5 (234)
- Automatyzowanie interakcji z elementem HTML5 canvas (237)
- Web storage - testowanie lokalnego magazynu (239)
- Web storage - testowanie pamięci sesji (241)
- Czyszczenie magazynu lokalnego i magazynu sesji (243)
Rozdział 11. BDD - tworzenie oprogramowania sterowane zachowaniami (245)
- Wprowadzenie (245)
- Wykorzystanie technik BDD w Javie za pomocą biblioteki Cucumber-JVM i frameworka Selenium WebDriver (246)
- Wykorzystanie technik BDD w środowisku .NET za pomocą biblioteki SpecFlow.NET i frameworka Selenium WebDriver (255)
- Wykorzystanie biblioteki Capybara, Cucumber i frameworka Selenium WebDriver w Ruby (264)
- Wykorzystanie biblioteki Behave i frameworka Selenium WebDriver w Pythonie (267)
Rozdział 12. Integracja z innymi narzędziami (271)
- Wprowadzenie (271)
- Konfigurowanie systemu ciągłej integracji Jenkins (272)
- Wykorzystanie systemów Jenkins i Maven do egzekucjitestów Selenium WebDriver w środowisku ciągłej integracji (274)
- Wykorzystanie systemu Ant do uruchamiania testów Selenium WebDriver (279)
- Wykorzystanie systemów Jenkins i Ant do uruchamianiatestów Selenium WebDriver w środowisku ciągłej integracji (281)
- Automatyzacja aplikacji z niewebowymi interfejsami użytkownika z wykorzystaniem Selenium WebDriver oraz AutoIt (286)
- Automatyzacja aplikacji z niewebowymi interfejsami użytkownika z wykorzystaniem Selenium WebDriver oraz Sikuli (293)
Rozdział 13. Testy dla wielu przeglądarek (297)
- Wprowadzenie (297)
- Konfigurowanie programu Selenium Grid Server do pracy w trybie równoległego uruchamiania testów (299)
- Dodawanie węzłów do siatki Selenium Grid w celu testowania różnych przeglądarek (301)
- Tworzenie i wykonywanie skryptu Selenium równolegle z TestNG (304)
- Tworzenie i równoległe wykonywanie skryptu Selenium z wykorzystaniem języka Python (310)
- Wykorzystanie narzędzi w chmurze do testowania różnych przeglądarek i uruchamiania testów w chmurze (313)
- Uruchamianie testów w trybie headless z wykorzystaniem PhantomJS (316)
Rozdział 14. Testowanie aplikacji w przeglądarkach mobilnych (319)
- Wprowadzenie (319)
- Konfigurowanie Appium do testowania aplikacji mobilnych (320)
- Testowanie mobilnych aplikacji webowych w systemie iOS z wykorzystaniem Appium (322)
- Testowanie mobilnych aplikacji webowych w systemie Android z wykorzystaniem Appium (325)
Skorowidz (331)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-3412-0 |
Rozmiar pliku: | 6,2 MB |