Selenium i testowanie aplikacji. Receptury. Wydanie II - Helion
Tytuł oryginału: Selenium Testing Tools Cookbook, Second Edition
Tłumaczenie: Radosław Meryk
ISBN: 978-83-283-3411-3
stron: 336, Format: 170x230, okładka: miękka
Data wydania: 2017-06-26
Księgarnia: Helion
Cena książki: 47,40 zł (poprzednio: 79,00 zł)
Oszczędzasz: 40% (-31,60 zł)
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!
Osoby które kupowały "Selenium i testowanie aplikacji. Receptury. Wydanie II", wybierały także:
- Wieczne opóźnienie. Zarządzanie projektami IT 58,33 zł, (14,00 zł -76%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 129,00 zł, (51,60 zł -60%)
- JUnit - testy jednostkowe. Kurs video. Automatyzacja procesu testowania w Javie 79,00 zł, (31,60 zł -60%)
- Testowanie automatyczne w .NET. Kurs video. Zastosowania frameworka nUnit 169,00 zł, (76,05 zł -55%)
- Certyfikowany tester. Kurs video. Profesjonalne przygotowanie do egzaminu z testowania manualnego 149,00 zł, (67,05 zł -55%)
Spis treści
Selenium i testowanie aplikacji. Receptury. Wydanie II -- 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 egzekucji testó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 uruchamiania testó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)