- Wprowadzenie do Selenium
- Krótkie wprowadzenie do wersji Selenium
- Środowisko i stos technologii
- Wnioski
Kompletna lista najlepszych samouczków Selenium do nauki i opanowania Selenium od podstaw:
Po kilku częstych prośbach od czytelników STH, dziś w końcu jesteśmy uruchomienie naszej serii DARMOWYCH samouczków Selenium W tej serii szkoleń Selenium omówimy szczegółowo wszystkie koncepcje testowania Selenium i jego pakiety wraz z łatwymi do zrozumienia praktycznymi przykładami.
Te samouczki Selenium są pomocne zarówno dla początkujących, jak i zaawansowanych użytkowników Selenium. Począwszy od bardzo podstawowego samouczka dotyczącego koncepcji Selenium, stopniowo przejdziemy do zaawansowanych tematów, takich jak tworzenie frameworków, Selenium Grid i Cucumber BDD.
Pełna lista samouczków Selenium z tej serii:
Podstawy selenu:
- Samouczek #1 Wprowadzenie do testowania Selenium (Must Read)
- Samouczek #2 Funkcje Selenium IDE, pobieranie i instalacja Selenium
- Samouczek #3 Mój pierwszy skrypt Selenium IDE (Must Read)
- Samouczek #4 Tworzenie skryptu przy użyciu Firebug i jego instalacja
- Samouczek #5 Typy lokalizatorów: ID, ClassName, Name, Link Text, Xpath
- Samouczek #6 Typy lokalizatorów: Selektor CSS
- Samouczek #7 Lokalizowanie elementów w Google Chrome i IE
Selenium WebDriver:
- Samouczek #8 Wprowadzenie do Selenium WebDriver (Must Read)
- Samouczek #9 Instalacja Selenium WebDriver za pomocą eclipse
- Samouczek #10 Mój pierwszy skrypt Selenium WebDriver (Must Read)
- Samouczek #11 Wprowadzenie do JUnit
- Samouczek #12: Wprowadzenie do TestNG (Must Read)
- Samouczek #13 Obsługa menu rozwijanych
- Samouczek #14 Polecenia pętli i warunkowe
- Samouczek #15 Jawne i niejawne oczekiwanie
- Samouczek #16 Obsługa alertów/wyświetleń
- Samouczek #17 Często używane polecenia
- Samouczek #18 Obsługa tabel internetowych, ramek i elementów dynamicznych
- Samouczek #19 Obsługa wyjątków
Selenium Framework:
- Samouczek #20 Najpopularniejsze frameworki do automatyzacji testów (Must Read)
- Samouczek #21 Tworzenie Selenium Framework & Dostęp do danych testowych z Excela (Must Read)
- Samouczek #22 Tworzenie Generics i Testsuite
- Samouczek #23 Korzystanie z Apache ANT
- Samouczek #24 Konfiguracja projektu Selenium Maven
- Samouczek #25 Korzystanie z narzędzia ciągłej integracji Hudson
Zaawansowane Selenium:
- Samouczek #26 Logowanie w Selenium
- Samouczek #27 Wskazówki i porady dotyczące skryptów Selenium
- Samouczek #28 Testowanie baz danych przy użyciu Selenium WebDriver
- Samouczek #29 Wprowadzenie do Selenium Grid (Must Read)
- Samouczek #30 Testowanie automatyzacji przy użyciu Cucumber i Selenium Część -1
- Samouczek #31 Integracja Selenium WebDriver z Cucumber Część -2
- Samouczek #32: Asercje w Selenium przy użyciu frameworków Junit i TestNG
- Samouczek #33: Przykłady asercji Selenium - praktyczne zastosowania w projektach
- Samouczek #34: Obiektowy model strony w Selenium bez użycia Page Factory
- Samouczek #35: Obiektowy model strony w Selenium przy użyciu Page Factory
- Samouczek #36: Keyword Driven Framework w Selenium z przykładami
- Samouczek #37: Czym jest Hybrid Framework w Selenium?
- Samouczek #38: Jak obsługiwać wyskakujące okienka w Selenium za pomocą AutoIT
- Samouczek #39: Techniki debugowania w Selenium
- Samouczek #40: Obsługa ramek IFrame przy użyciu metody SwitchTo() Selenium WebDriver
- Samouczek #41: Funkcje XPath dla dynamicznej ścieżki Xpath w Selenium
- Samouczek #42: Osie Xpath dla dynamicznej ścieżki Xpath w Selenium
- Samouczek #43: Odsłuchiwacze WebDriver w Selenium
- Samouczek #44: Jak zaznaczyć pole wyboru w Selenium na przykładach?
- Samouczek #45: Jak obsłużyć pasek przewijania w Selenium Webdriver?
- Samouczek #46: Jak zrobić zrzut ekranu w Selenium
- Samouczek #47: Jak wybrać przyciski radiowe w Selenium WebDriver?
- Samouczek #48: Akcje Selenium: obsługa podwójnego & kliknięcie prawym przyciskiem myszy w Selenium
- Samouczek #49: Jak przesłać plik za pomocą Selenium Webdriver - 3 metody
Wskazówki dotyczące Selenium i przygotowanie do rozmowy kwalifikacyjnej:
- Samouczek #50 Szacowanie nakładu pracy testowej w projekcie Selenium
- Samouczek #51 Selenium - pytania i odpowiedzi podczas rozmowy kwalifikacyjnej
Jak rozpocząć naukę Selenium?
To najlepszy czas, aby rozpocząć samodzielną naukę testowania Selenium z pomocą tej bezpłatnej serii szkoleń Selenium. Przeczytaj samouczki, przećwicz przykłady w domu i umieść swoje pytania w sekcji komentarzy do odpowiednich samouczków. Odpowiemy na wszystkie te pytania.
To nasz prawdziwy wysiłek, aby pomóc ci nauczyć się i opanować jedno z najpopularniejszych narzędzi do testowania oprogramowania!
Wprowadzenie do Selenium
Z wielką przyjemnością uruchamiamy kolejną serię samouczków szkoleniowych z zakresu testowania oprogramowania. Celem wprowadzenia tego samouczka jest uczynienie cię ekspertem w jednym z powszechnie używanych rozwiązań do automatyzacji testów oprogramowania, Selenium.
W tej serii przyjrzymy się różnym aspektom Selenium. Selenium to nie tylko narzędzie, to zbiór niezależnych narzędzi. Przyjrzymy się szczegółowo niektórym narzędziom Selenium, podając praktyczne przykłady tam, gdzie ma to zastosowanie.
Zanim przejdziesz do lektury tej ekscytującej i przydatnej serii, przyjrzyjmy się, co ma ona dla ciebie do zaoferowania.
Dlaczego selen?
Obecne trendy w branży pokazują, że istnieje masowy ruch w kierunku automatyzacji testowania. W związku z tym klaster powtarzalnych ręcznych scenariuszy testowych wzbudził zapotrzebowanie na wprowadzenie praktyki automatyzacji tych ręcznych scenariuszy.
Istnieje kilka korzyści z wdrożenia testów automatycznych; przyjrzyjmy się im:
- Obsługuje wykonywanie powtarzających się przypadków testowych
- Pomaga w testowaniu dużej macierzy testów
- Umożliwia wykonywanie równoległe
- Zachęca do wykonywania bez nadzoru
- Poprawia dokładność, zmniejszając tym samym liczbę błędów generowanych przez człowieka.
- Oszczędność czasu i pieniędzy
Wszystkie te korzyści skutkują następującymi korzyściami:
- Wysoki zwrot z inwestycji
- Szybszy rynek GoTo
Istnieje kilka korzyści płynących z automatyzacji testów, które są dobrze rozumiane i o których dużo się mówi w branży testowania oprogramowania.
Jednymi z najczęściej zadawanych pytań, które się z tym wiążą, są
- Jakie jest najlepsze narzędzie do automatyzacji testów?
- Czy wiąże się to z jakimiś kosztami?
- Czy łatwo ją dostosować?
Jedną z najlepszych odpowiedzi na wszystkie powyższe pytania dotyczące automatyzacji aplikacji internetowych jest Selenium:
- Jest to oprogramowanie typu open-source
- Ma dużą bazę użytkowników i pomaga społecznościom
- Jest kompatybilny z wieloma przeglądarkami i platformami
- Posiada aktywne repozytorium rozwoju
- Obsługuje wiele implementacji językowych
Pierwsze spojrzenie na Selenium
Selenium jest jednym z najpopularniejszych pakietów do automatycznego testowania. Selenium został zaprojektowany w taki sposób, aby wspierać i zachęcać do automatyzacji testowania funkcjonalnych aspektów aplikacji internetowych oraz szerokiej gamy przeglądarek i platform. Ze względu na swoje istnienie w społeczności open source, stał się jednym z najbardziej akceptowanych narzędzi wśród profesjonalistów zajmujących się testowaniem.
Selenium obsługuje szeroki zakres przeglądarek, technologii i platform.
Komponenty selenowe
Selenium nie jest pojedynczym narzędziem, a raczej pakietem kilku narzędzi testowych, stąd też nazywany jest pakietem. Każde z tych narzędzi zostało zaprojektowane tak, aby spełniać różne wymagania dotyczące testowania i środowiska testowego.
Pakiet składa się z następującego zestawu narzędzi:
- Zintegrowane środowisko programistyczne Selenium (IDE)
- Zdalne sterowanie Selenium (RC)
- Selenium WebDriver
- Selenium Grid
Selenium RC i WebDriver, połączone razem, są popularnie znane jako Selen 2 . Selenium RC sam jest również określany jako Selen 1 .
Krótkie wprowadzenie do wersji Selenium
Selenium Core
Selenium jest wynikiem ciągłych wysiłków inżyniera o imieniu Jason Huggins z ThoughtWorks Będąc odpowiedzialnym za testowanie wewnętrznej aplikacji Time and Expenses, zdał sobie sprawę z potrzeby posiadania narzędzia do automatyzacji testów, aby pozbyć się powtarzalnych zadań manualnych bez uszczerbku dla jakości i dokładności.
W rezultacie zbudował program JavaScript, nazwany " JavaScriptTestRunner " na początku 2004 roku, który mógł automatycznie kontrolować działania przeglądarki, co wydawało się bardzo podobne do komunikacji użytkownika z przeglądarką.
Od tego momentu Jason zaczął prezentować narzędzie szerokiej publiczności. Ostatecznie rozpoczęto dyskusje na temat zaklasyfikowania tego narzędzia do kategorii open-source i jego potencjału do rozwoju jako frameworka testowego wielokrotnego użytku dla innych aplikacji internetowych.
Narzędzie to zostało później nazwane " Selenium Core ".
Selenium IDE (Selenium Integrated Development Environment)
Selenium IDE został opracowany przez Shinyę Kasataniego. Podczas studiowania Selenium Core zdał sobie sprawę, że ten kod JavaScript można rozszerzyć, aby stworzyć zintegrowane środowisko programistyczne (IDE), które można podłączyć do przeglądarki Mozilla Firefox. To IDE było w stanie nagrywać i odtwarzać działania użytkownika w instancji Firefoksa, do której zostało podłączone. Później Selenium IDE stało się częścią pakietu Selenium w pakieciePóźniej okazało się, że narzędzie to ma wielką wartość i potencjał dla społeczności.
Selenium IDE jest najprostszym i najłatwiejszym ze wszystkich narzędzi w pakiecie Selenium. Jego funkcje nagrywania i odtwarzania sprawiają, że jest wyjątkowo łatwy do nauczenia przy minimalnej znajomości dowolnego języka programowania. Z kilkoma zaletami, kilka wad towarzyszy Selenium IDE, co czyni go nieodpowiednim do stosowania w przypadku bardziej zaawansowanych skryptów testowych.
Zalety i wady Selenium IDE:
Wady IDE w rzeczywistości nie są wadami Selenium. Są to raczej ograniczenia tego, co IDE może osiągnąć. Ograniczenia te można przezwyciężyć za pomocą Selenium RC lub WebDriver .
Selenium RC (Selenium Remote Control)
Selenium RC jest narzędziem napisanym w Javie, które umożliwia użytkownikowi tworzenie skryptów testowych dla aplikacji internetowych w dowolnym wybranym przez niego języku programowania. Selenium RC powstało w celu przezwyciężenia różnych wad ponoszonych przez Selenium IDE lub Core .
Luki i ograniczenia, które zostały nałożone podczas korzystania z Selenium Core, utrudniały użytkownikowi pełne wykorzystanie zalet narzędzia. W ten sposób proces testowania stał się uciążliwym i dalekosiężnym zadaniem.
Jednym z kluczowych ograniczeń było Polityka tego samego pochodzenia.
Problem z polityką tego samego pochodzenia:
Problem z polityką tego samego pochodzenia polega na tym, że uniemożliwia ona dostęp do DOM dokumentu z pochodzenia, które jest inne niż pochodzenie, z którego próbujemy uzyskać dostęp do dokumentu.
Pochodzenie jest sekwencyjną kombinacją schematu, hosta i portu adresu URL. Na przykład dla adresu URL //www.seleniumhq.org/projects/ pochodzenie jest kombinacją odpowiednio HTTP, seleniumhq.org, 80.
W związku z tym Selenium Core (JavaScript Program) nie może uzyskać dostępu do elementów z miejsca pochodzenia innego niż to, w którym został uruchomiony.
Na przykład, gdybym uruchomił program JavaScript z "//www.seleniumhq.org/", to mógłbym uzyskać dostęp do stron w tej samej domenie, takich jak "//www.seleniumhq.org/projects/" lub "//www.seleniumhq.org/download/". Inne domeny, takie jak google.com, yahoo.com, nie byłyby już dostępne.
Tak więc, aby przetestować dowolną aplikację za pomocą Selenium Core, należy zainstalować całą aplikację na Selenium Core, a także serwer WWW, aby przezwyciężyć problem polityki tego samego pochodzenia.
Tak więc, aby zarządzać polityką tego samego pochodzenia bez konieczności tworzenia oddzielnej kopii testowanej aplikacji na Selenium Core, Pilot zdalnego sterowania Selenium Podczas gdy Jason Huggins prezentował Selenium, inny kolega z ThoughtWorks, Paul Hammant, zasugerował obejście polityki tego samego pochodzenia i narzędzie, które można połączyć z wybranym przez nas językiem programowania. W ten sposób powstało Selenium RC.
W przeciwieństwie do Selenium IDE, Selenium RC obsługuje szeroką gamę przeglądarek i platform.
Opis przepływu pracy
- Użytkownik tworzy skrypt testowy w wybranym języku programowania.
- Dla każdego języka programowania istnieje odpowiednia biblioteka kliencka.
- Biblioteka klienta deportuje polecenia testowe do serwera selenium.
- Serwer Selenium odszyfrowuje i konwertuje polecenia testowe na polecenia JavaScript i wysyła je do przeglądarki.
- Przeglądarka wykonuje polecenia za pomocą Selenium Core i wysyła wyniki z powrotem do serwera Selenium
- Serwer Selenium dostarcza wyniki testów do biblioteki klienta.
Istnieje kilka warunków wstępnych, które należy spełnić przed utworzeniem skryptów Selenium RC:
- Język programowania - Java, C#, Python itp.
- Zintegrowane środowisko programistyczne -Eclipse, Netbeans itp.
- Framework testowy (opcjonalnie) - JUnit, TestNG itp.
- I oczywiście konfiguracja Selenium RC
Zalety i wady Selenium RC:
Aby dowiedzieć się więcej o zaletach i wadach Selenium RC, zapoznaj się z poniższym rysunkiem.
Selenium Grid
Dzięki selenium RC życie testera zawsze było pozytywne i korzystne, dopóki pojawiające się trendy nie zwiększyły zapotrzebowania na jednoczesne wykonywanie tych samych lub różnych skryptów testowych na wielu platformach i przeglądarkach, aby osiągnąć rozproszone wykonywanie testów, testowanie w różnych środowiskach i znaczne skrócenie czasu wykonywania. Tak więc, spełnienie tych wymagań Selenium Grid został wprowadzony do obrazu.
Selenium Grid został wprowadzony przez Pata Lightbody'ego w celu zaspokojenia potrzeby wykonywania zestawów testów na wielu platformach jednocześnie.
Selenium WebDriver
Selenium WebDriver został stworzony przez innego inżyniera w ThoughtWorks o nazwisku Simon Stewart w 2006 roku. WebDriver jest również narzędziem do testowania opartym na sieci, z subtelną różnicą w stosunku do Selenium RC. Ponieważ narzędzie zostało zbudowane na fundamencie, w którym izolowany klient został stworzony dla każdej z przeglądarek internetowych; nie było wymagane podnoszenie ciężarów JavaScript. Doprowadziło to do analizy kompatybilności między Selenium RC oraz WebDriver W rezultacie opracowano bardziej wydajne narzędzie do automatycznego testowania o nazwie Selen 2 .
WebDriver jest czystym i czysto zorientowanym obiektowo frameworkiem. Wykorzystuje natywną kompatybilność przeglądarki do automatyzacji bez użycia jakiejkolwiek jednostki peryferyjnej. Wraz z rosnącym popytem zyskał dużą popularność i bazę użytkowników.
Zalety i wady Selenium WebDriver:
Poniższy rysunek zawiera więcej informacji na temat zalet i wad WebDrivera.
Selen 3
Selen 3 jest zaawansowaną wersją Selen 2 Jest to narzędzie, które koncentruje się na automatyzacji aplikacji mobilnych i internetowych. Stwierdzając, że obsługuje testowanie mobilne, chcemy powiedzieć, że API WebDriver zostało rozszerzone, aby zaspokoić potrzeby testowania aplikacji mobilnych. Oczekuje się, że narzędzie zostanie wkrótce wprowadzone na rynek.
Środowisko i stos technologii
Wraz z pojawieniem się i dodaniem każdego nowego narzędzia w pakiecie Selenium, środowiska i technologie stają się bardziej kompatybilne. Oto wyczerpująca lista środowisk i technologii obsługiwanych przez Selenium Tools.
Obsługiwane przeglądarki
Obsługiwane języki programowania
Obsługiwane systemy operacyjne
Obsługiwane struktury testowania
Wnioski
W tym samouczku staraliśmy się zapoznać Cię z pakietem Selenium, opisując jego różne komponenty, zastosowania i ich zalety.
Oto sedno tego artykułu.
- Selenium to zestaw kilku narzędzi do automatycznego testowania, z których każde zaspokaja inne potrzeby testowe.
- Wszystkie te narzędzia należą do tej samej kategorii open-source i obsługują tylko testy internetowe.
- Pakiet Selenium składa się z 4 podstawowych komponentów; Selenium IDE, Selenium RC, WebDriver i Selenium Grid .
- Użytkownik powinien mądrze wybrać odpowiednie narzędzie Selenium do swoich potrzeb.
- Selenium IDE jest dystrybuowane jako wtyczka do przeglądarki Firefox i jest łatwiejsze w instalacji i obsłudze. Użytkownik nie musi posiadać wcześniejszej wiedzy programistycznej. Selenium IDE jest idealnym narzędziem dla naiwnego użytkownika.
- Selenium RC to serwer, który pozwala użytkownikowi tworzyć skrypty testowe w wybranym języku programowania, a także umożliwia wykonywanie skryptów testowych w szerokim spektrum przeglądarek.
- Selenium Grid wprowadza dodatkową funkcję do Selenium RC poprzez dystrybucję skryptu testowego na różnych platformach i przeglądarkach w tym samym czasie w celu wykonania, implementując w ten sposób architekturę master-slave.
- WebDriver to zupełnie inne narzędzie, które ma wiele zalet w porównaniu do Selenium RC. Połączenie Selenium RC i WebDriver jest również znane jako Selenium 2. WebDriver bezpośrednio komunikuje się z przeglądarką internetową i wykorzystuje jej natywną kompatybilność do automatyzacji.
- Selenium 3 to najbardziej oczekiwany dodatek do pakietu Selenium, który nie został jeszcze wprowadzony na rynek. Selenium 3 zdecydowanie zachęca do testowania mobilnego.
W następnym samouczku omówimy podstawy Selenium IDE, jego instalację i funkcje. Przyjrzymy się również podstawowej terminologii i nazewnictwu Selenium IDE.
Następny Samouczek Selenium: Wprowadzenie do Selenium IDE i jego instalacji wraz ze szczegółową analizą wszystkich funkcji Selenium IDE (wkrótce)
Uwaga dla czytelników Nasz następny samouczek z serii szkoleń Selenium jest w trybie przetwarzania, tymczasem możesz dowiedzieć się nieco o pakiecie Selenium i jego narzędziach, przeglądając jego oficjalną stronę internetową.
O autorach:
Shruti Shrivastava (nasza główna autorka tej serii), Amaresh Dhal i Pallavi Sharma pomagają nam dostarczyć tę serię naszym czytelnikom.
Bądź na bieżąco i dziel się swoimi opiniami, komentarzami i wiedzą. Daj nam również znać, jeśli uważasz, że coś pominęliśmy, abyśmy mogli uwzględnić je w naszych kolejnych samouczkach.