Co to jest selen?
Selenium to bezpłatna (open-source) zautomatyzowana platforma testowa używana do walidacji aplikacji internetowych w różnych przeglądarkach i platformach. Możesz używać wielu języków programowania, takich jak Java, C #, Python itp., Aby tworzyć skrypty testowe Selenium. Testowanie przeprowadzone za pomocą narzędzia do testowania Selenium jest zwykle nazywane testowaniem Selenium.
Oprogramowanie Selenium to nie tylko pojedyncze narzędzie, ale zestaw oprogramowania, z których każdy odpowiada innym potrzebom organizacji w zakresie testowania Selenium QA. Oto lista narzędzi
- Zintegrowane środowisko programistyczne Selenium (IDE)
- Pilot zdalnego sterowania Selenium (RC)
- WebDriver
- Siatka selenu
W tej chwili Selenium RC i WebDriver są połączone w jeden framework, tworząc Selenium 2 . Nawiasem mówiąc, Selenium 1 odnosi się do Selenium RC.
Kliknij tutaj, jeśli wideo nie jest dostępne
W tym samouczku dowiesz się:
- Co to jest selen?
- Kto opracował Selenium?
- Problem z tą samą polityką pochodzenia
- Narodziny pilota Selenium (Selenium RC)
- Narodziny siatki selenowej
- Narodziny Selenium IDE
- Narodziny WebDriver
- Narodziny selenu 2
- Dlaczego więc nazwa Selenium?
- Krótkie wprowadzenie Selenium IDE
- Krótkie wprowadzenie Selenium Remote Control (Selenium RC)
- Krótkie wprowadzenie WebDriver
- Siatka selenu
- Uwaga dotycząca obsługi przeglądarek i środowiska
- Jak wybrać odpowiednie narzędzie selenowe do swoich potrzeb
- Porównanie między Selenium i QTP (obecnie UFT)
- Zalety QTP nad Selenium
Kto opracował Selenium?
Ponieważ Selenium to zbiór różnych narzędzi, miał również różnych programistów. Poniżej znajdują się kluczowe osoby, które wniosły znaczący wkład w projekt Selenium
Przede wszystkim Selenium zostało stworzone przez Jasona Hugginsa w 2004 roku . Inżynier w ThoughtWorks, pracował nad aplikacją internetową, która wymagała częstych testów. Zdając sobie sprawę, że powtarzające się ręczne testowanie ich aplikacji staje się coraz bardziej nieefektywne, stworzył program JavaScript, który automatycznie kontrolował działania przeglądarki. Nazwał ten program „ JavaScriptTestRunner ”. Widząc potencjał tego pomysłu do automatyzacji innych aplikacji internetowych, stworzył JavaScriptRunner jako open-source, który później został przemianowany na Selenium Core . |
Problem z tą samą polityką pochodzenia
Zasada Same Origin zabrania kodowi JavaScript dostępu do elementów z domeny innej niż ta, w której został uruchomiony . Na przykład kod HTML w witrynie www.google.com używa programu JavaScript „randomScript.js”. Te same zasady dotyczące pochodzenia zezwalają randomScript.js na dostęp do stron w domenie google.com, takich jak google.com/mail, google.com/login czy google.com/signup. Nie może jednak uzyskać dostępu do stron z różnych witryn, takich jak yahoo.com/search lub guru99.com, ponieważ należą one do różnych domen.
To jest powód, dla którego przed Selenium RC testerzy musieli zainstalować lokalne kopie zarówno Selenium Core (programu JavaScript), jak i serwera WWW zawierającego testowaną aplikację internetową, aby należały do tej samej domeny.
Narodziny pilota Selenium (Selenium RC)
Niestety; testerzy używający Selenium Core musieli zainstalować całą testowaną aplikację i serwer WWW na swoich własnych komputerach lokalnych z powodu ograniczeń nałożonych przez tę samą politykę pochodzenia. Dlatego inny inżynier ThoughtWork, Paul Hammant , zdecydował się stworzyć serwer, który będzie działał jako proxy HTTP, aby „oszukać” przeglądarkę, aby uwierzyła, że Selenium Core i testowana aplikacja internetowa pochodzą z tej samej domeny. System ten stał się znany jako Selenium Remote Control lub Selenium 1 .
Narodziny siatki selenowej
Selenium Grid został opracowany przez Patricka Lightbody, aby zaspokoić potrzebę maksymalnego skrócenia czasu wykonywania testów. Początkowo nazwał ten system „ Hostowaną kontrolą jakości ”. Był w stanie przechwytywać zrzuty ekranu przeglądarki podczas znaczących etapów, a także wysyłać polecenia Selenium do różnych maszyn jednocześnie.
Narodziny Selenium IDE
Shinya Kasatani z Japonii stworzył Selenium IDE , rozszerzenie do Firefoksa, które może zautomatyzować przeglądarkę dzięki funkcji nagrywania i odtwarzania. Wpadł na ten pomysł, aby jeszcze bardziej przyspieszyć tworzenie przypadków testowych. Przekazał Selenium IDE do Selenium Project w 2006 roku .
Narodziny WebDriver
Simon Stewart stworzył WebDriver około 2006 roku, kiedy przeglądarki i aplikacje internetowe stawały się coraz potężniejsze i bardziej restrykcyjne dzięki programom JavaScript, takim jak Selenium Core. Była to pierwsza wieloplatformowa platforma testowa, która mogła kontrolować przeglądarkę z poziomu systemu operacyjnego.
Narodziny selenu 2
W 2008 roku cały zespół Selenium zdecydował o połączeniu WebDriver i Selenium RC w celu stworzenia potężniejszego narzędzia o nazwie Selenium 2 , którego rdzeniem jest WebDriver . Obecnie Selenium RC jest nadal rozwijane, ale tylko w trybie konserwacji. Większość wysiłków Projektu Selenium koncentruje się teraz na Selenium 2.
Dlaczego więc nazwa Selenium?
Nazwa Selenium pochodzi z żartu, który Jason powiedział kiedyś swojemu zespołowi. Podczas rozwoju Selenium popularna była inna platforma do automatycznego testowania, stworzona przez firmę Mercury Interactive (tak, firma, która pierwotnie stworzyła QTP, zanim została przejęta przez HP). Ponieważ selen jest dobrze znanym antidotum na zatrucie rtęcią, Jason zasugerował, że to imię i jego koledzy z drużyny go przyjęli. W ten sposób możemy nazwać te ramy do teraźniejszości.
Krótkie wprowadzenie Selenium IDE
Selenium Integrated Development Environment (IDE) to najprostszy framework w pakiecie Selenium i najłatwiejszy do nauczenia . Jest to wtyczka do przeglądarki Firefox , którą można zainstalować tak łatwo, jak w przypadku innych wtyczek. Jednak ze względu na swoją prostotę Selenium IDE powinno być używane tylko jako narzędzie do prototypowania . Jeśli chcesz tworzyć bardziej zaawansowane przypadki testowe, musisz użyć Selenium RC lub WebDriver.
Krótkie wprowadzenie Selenium Remote Control (Selenium RC)
Selenium RC był przez długi czas flagowym szkieletem testowym całego projektu Selenium. Jest to pierwsze zautomatyzowane narzędzie do testowania sieci, które umożliwiło użytkownikom korzystanie z preferowanego przez nich języka programowania . Od wersji 2.25.0 RC może obsługiwać następujące języki programowania:
- Jawa
- DO#
- PHP
- Pyton
- Perl
- Rubin
Krótkie wprowadzenie WebDriver
WebDriver pod wieloma względami okazuje się lepszy od Selenium IDE i Selenium RC . Wdraża bardziej nowoczesne i stabilne podejście do automatyzacji działań przeglądarki. WebDriver, w przeciwieństwie do Selenium RC, nie polega na JavaScript do testowania automatyzacji Selenium. Kontroluje przeglądarkę, komunikując się z nią bezpośrednio.
Obsługiwane języki są takie same jak w Selenium RC.
- Jawa
- DO#
- PHP
- Pyton
- Perl
- Rubin
Siatka selenu
Selenium Grid to narzędzie używane razem z Selenium RC do przeprowadzania równoległych testów na różnych maszynach i różnych przeglądarkach jednocześnie. Równoległe wykonywanie oznacza uruchamianie wielu testów jednocześnie.
Funkcje:
- Umożliwia jednoczesne wykonywanie testów w wielu przeglądarkach i środowiskach.
- Ogromna oszczędność czasu .
- Wykorzystuje koncepcję hub-and-nodes . Hub działa jako centralne źródło poleceń Selenium dla każdego podłączonego do niego węzła.
Uwaga dotycząca obsługi przeglądarek i środowiska
Ze względu na różnice architektoniczne, Selenium IDE, Selenium RC i WebDriver obsługują różne zestawy przeglądarek i środowisk operacyjnych.
Selenium IDE | WebDriver | |
---|---|---|
Wsparcie przeglądarki | Mozilla Firefox | Internet Explorer w wersjach od 6 do 11, zarówno 32-bitowa, jak i 64-bitowa przeglądarka Microsoft Edge w wersji 12.10240 i nowszej (częściowo obsługuje niektóre funkcje w trakcie opracowywania) Firefox 3.0 i nowsze Google Chrome 12.0. i nowszy Opera 11.5 i nowsza Android - 2.3 i nowsze na telefony i tablety (urządzenia i emulatory) iOS 3+ na telefony (urządzenia i emulatory) oraz 3.2+ na tablety (urządzenia i emulatory) HtmlUnit 2.9 i nowsze |
System operacyjny | Windows, Mac OS X, Linux | Wszystkie systemy operacyjne, w których mogą działać powyższe przeglądarki. |
Uwaga: Selenium WebDriver jest określany jako następca Selenium RC, który został wycofany i oficjalnie ogłoszony przez SeleniumHQ.
Jak wybrać odpowiednie narzędzie selenowe do swoich potrzeb
Narzędzie | Po co wybierać? |
---|---|
Selenium IDE |
|
Selen RC |
|
WebDriver |
|
Siatka selenu |
|
Porównanie między Selenium i QTP (obecnie UFT)
Quick Test Professional (QTP) to zastrzeżone, zautomatyzowane narzędzie testujące, należące wcześniej do firmy Mercury Interactive, zanim zostało przejęte przez firmę Hewlett-Packard w 2006 roku . Selenium Tool Suite ma wiele zalet w porównaniu z QTP, jak opisano poniżej -
Zalety i zalety selenu w porównaniu z QTP
Selen | QTP |
---|---|
Open source , darmowy i darmowy. | Komercyjne . |
Wysoce rozszerzalny | Ograniczone dodatki |
Może przeprowadzać testy w różnych przeglądarkach | Może uruchamiać testy tylko w przeglądarkach Firefox , Internet Explorer i Chrome |
Obsługuje różne systemy operacyjne | Może być używany tylko w systemie Windows |
Obsługuje urządzenia mobilne | QTP Obsługuje automatyzację testów aplikacji mobilnych (iOS i Android) przy użyciu rozwiązania HP o nazwie - HP Mobile Center |
Można wykonać testy podczas przeglądarka jest zminimalizowane | Musi mieć testowaną aplikację, aby była widoczna na pulpicie |
Potrafi równolegle wykonywać testy . | Można wykonywać tylko równolegle, ale przy użyciu Centrum jakości, które jest również produktem płatnym. |
Zalety QTP nad Selenium
QTP | Selen |
---|---|
Potrafi testować zarówno aplikacje internetowe, jak i stacjonarne | Potrafi testować tylko aplikacje internetowe |
Pochodzi z wbudowanym repozytorium obiektów | Nie ma wbudowanego repozytorium obiektów |
Automatyzuje szybciej niż Selenium, ponieważ jest to w pełni funkcjonalne środowisko IDE. | Automatyzuje wolniej, ponieważ nie ma natywnego środowiska IDE, a do programowania można używać tylko środowiska IDE innej firmy |
Testowanie oparte na danych jest łatwiejsze do wykonania, ponieważ ma wbudowane globalne i lokalne tabele danych . | Testowanie oparte na danych jest bardziej uciążliwe, ponieważ musisz polegać na możliwościach języka programowania w zakresie ustawiania wartości dla danych testowych |
Może uzyskać dostęp do elementów sterujących w przeglądarce (takich jak pasek ulubionych, pasek adresu, przyciski Wstecz i Dalej itp.) | Nie można uzyskać dostępu do elementów spoza testowanej aplikacji internetowej |
Zapewnia profesjonalną obsługę klienta | Nie jest oferowane żadne oficjalne wsparcie dla użytkowników. |
Posiada natywną możliwość eksportowania danych testowych do formatów zewnętrznych | Nie ma natywnej możliwości eksportowania danych środowiska wykonawczego do formatów zewnętrznych |
Wbudowana jest obsługa parametryzacji | Parametryzację można przeprowadzić poprzez programowanie, ale jest ona trudna do wdrożenia. |
Raporty z testów są generowane automatycznie | Brak natywnego wsparcia do generowania raportów o testach / błędach. |
Chociaż oczywiście QTP ma bardziej zaawansowane możliwości, Selenium przewyższa QTP w trzech głównych obszarach:
- Koszt (ponieważ Selenium jest całkowicie darmowe)
- Elastyczność (ze względu na wiele języków programowania, przeglądarek i platform, które może obsługiwać)
- Testowanie równoległe (coś, co QTP jest w stanie zrobić, ale tylko z użyciem Quality Center)
Podsumowanie
- Cały pakiet Selenium Software Testing Suite składa się z czterech komponentów:
- Selenium IDE, dodatek do przeglądarki Firefox, którego można używać tylko do tworzenia stosunkowo prostych przypadków testowych i zestawów testów.
- Selenium Remote Control, znane również jako Selenium 1, które jest pierwszym narzędziem Selenium, które umożliwiło użytkownikom wykorzystanie języków programowania do tworzenia złożonych testów.
- WebDriver, nowszy przełom, który umożliwia skryptom testowym komunikację bezpośrednio z przeglądarką, kontrolując ją w ten sposób z poziomu systemu operacyjnego.
- Selenium Grid to także narzędzie używane z Selenium RC do wykonywania równoległych testów w różnych przeglądarkach i systemach operacyjnych.
- Selenium RC i WebDriver zostały połączone w celu utworzenia Selenium 2.
- Selen jest korzystniejszy niż QTP pod względem kosztów i elastyczności. Pozwala również na równoległe uruchamianie testów, w przeciwieństwie do QTP, w którym można uruchamiać testy tylko sekwencyjnie.