Co To jest selen? Pierwsze kroki z Selenium Automation Testing

Czy wiesz, co to jest Selenium? Masz pojęcie, dlaczego jest używany? Jeśli chcesz uzyskać odpowiedź na te dwa pytania, poczekaj, aż przeczytasz całą treść tego bloga, ponieważ będziesz zadowolony, że spędziłeś godną ilość czasu na zapoznaniu się z tym, co może być sercem Twojej następnej roli.

testowanie automatyki podbija świat & Certyfikacja Selenium jest jedną z najbardziej poszukiwanych umiejętności w branży.

Co To jest selen?

Selenium jest narzędziem open-source, które służy do automatyzacji testów przeprowadzanych na przeglądarkach internetowych (aplikacje internetowe są testowane za pomocą dowolnej przeglądarki internetowej).

poczekaj, zanim cię poniosę, pozwól, że powtórzę, że tylko testowanie aplikacji internetowych jest możliwe za pomocą Selenium. Nie możemy testować żadnej aplikacji desktopowej (programowej) ani testować żadnej aplikacji mobilnej przy użyciu Selenium.

szkoda, prawda? Czuję twój ból. Ale nie martw się, istnieje wiele narzędzi do testowania oprogramowania i aplikacji mobilnych, takich jak: IBM RFT, HP QPT, Appium i wiele innych. Ale celem tego bloga jest testowanie dynamicznych aplikacji internetowych i dlaczego Selenium jest najlepsze do tego celu.

jakie są zalety selenu?

ponieważ Selenium jest open-source, nie ma kosztów licencjonowania, co jest główną zaletą w stosunku do innych narzędzi testowych. Inne powody rosnącej popularności Selenium to:

funkcje selenium - czym jest selenium

  • skrypty testowe mogą być pisane w dowolnym z tych języków programowania: Java, Python, C#, PHP, Ruby, Perl& .Net
  • testy mogą być przeprowadzane w dowolnym systemie operacyjnym: Windows, Mac lub Linux
  • testy mogą być przeprowadzane przy użyciu dowolnej przeglądarki: Mozilla Firefox, Internet Explorer, Google Chrome, Safari lub Opera
  • można je zintegrować z narzędziami takimi jak TestNG & JUnit do zarządzania przypadkami testowymi i generowania raportów
  • można je zintegrować z Mavenem, Jenkinsem & Docker do ciągłego testowania

ale na pewno muszą być braki prawda?

  • możemy używać Selenium tylko do testowania aplikacji internetowych. Nie możemy testować aplikacji desktopowych ani żadnego innego oprogramowania
  • nie ma gwarantowanej obsługi Selenium. Musimy wykorzystać dostępne społeczności klientów
  • nie ma możliwości przeprowadzania testów na obrazach. Musimy zintegrować Selenium z Sikuli do testowania obrazów
  • nie ma natywnej funkcji raportowania. Ale możemy rozwiązać ten problem, integrując go z frameworkami takimi jak TestNG lub JUnit

zanim przejdziesz dalej w tym blogu what is Selenium, powinieneś znać historię, w jaki sposób Selenium powstało, czym jest dzisiaj. Tak więc, zrozummy scenariusz w poniższej kolejności:

    1. potrzeba testowania oprogramowania
    2. wyzwania z testowaniem ręcznym
    3. jak testowanie automatyki przewyższa testowanie ręczne?
    4. Selenium vs. Inne narzędzia testujące?
    5. Selenium zestaw narzędzi

potrzeba testowania oprogramowania

testowanie oprogramowania jest tam, gdzie wszystko sprowadza się do. Dzisiejszy świat technologii jest całkowicie zdominowany przez maszyny, a ich zachowanie jest kontrolowane przez oprogramowanie go zasilające. Czy maszyny będą zachowywać się dokładnie tak, jak chcemy? Za każdym razem? Wszędzie? Odpowiedź na te pytania leży w testowaniu oprogramowania.

pod koniec dnia jest to wskaźnik sukcesu aplikacji, który będzie kontrolował rozwój Twojej firmy. To samo można powiedzieć nawet w przypadku aplikacji internetowych, ponieważ większość firm jest obecnie całkowicie uzależniona od Internetu.

Weźmy na przykład każdą firmę e-commerce. Czy to Amazon, E-Bay czy Flipkart, polegają na ruchu klientów na swoich stronach internetowych i ruchu w ich internetowych aplikacjach mobilnych dla biznesu.

wyobraź sobie, że dzieje się coś katastrofalnego, jak ceny wielu produktów są ograniczone do 10$, wszystko z powodu małego błędu w „nie tak łatwo czytelnej” części kodu. Więc co można zrobić i jak możemy temu zapobiec następnym razem?

testując kod przed wdrożeniem? Jest to więc potrzeba testowania oprogramowania. Ale co to jest selen? Czy jest to narzędzie do testowania oprogramowania? Cóż, Selenium jest narzędziem do testowania automatyki!

zanim przejdę dalej, wyjaśnię, że testowanie oprogramowania jest dwóch typów: Testowanie ręczne & testowanie automatyki. Selenium zostało założone jako narzędzie do testowania automatyzacji, aby przezwyciężyć wady/ ograniczenia testowania ręcznego. Tak więc, w następnej sekcji tego, co to jest blog selenium, zrozumiemy wyzwania związane z testowaniem ręcznym.

wyzwania z testowaniem ręcznym

testowanie ręczne oznacza, że aplikacja (internetowa) jest testowana ręcznie przez testerów QA. Testy muszą być wykonywane ręcznie w każdym środowisku, przy użyciu innego zestawu danych, a wskaźnik sukcesu/ niepowodzenia każdej transakcji powinien być rejestrowany.

wyzwania związane z ręcznym testowaniem - co to jest selenium

spójrz na powyższy obraz biednego faceta, który ręcznie weryfikuje zarejestrowane transakcje. Wyzwania, przed którymi stoi, powodują zmęczenie, nudę, opóźnienia w pracy, błędy i błędy spowodowane wysiłkiem manualnym. Doprowadziło to do wynalezienia selenu (narzędzia do testowania automatyzacji).

testowanie automatyki bije na głowę testy ręczne

testowanie automatyki bije na głowę za każdym razem. Dlaczego? Ponieważ jest szybszy, wymaga mniej inwestycji w zasoby ludzkie, nie jest podatny na błędy, możliwe jest częste wykonywanie testów, obsługuje wykonanie lights out, obsługuje testy regresyjne, a także testy funkcjonalne.

weźmy podobny przykład do wspomnianego wcześniej. Załóżmy, że istnieje strona logowania i musimy zweryfikować, czy wszystkie próby logowania się powiodły się, wtedy naprawdę łatwo będzie napisać fragment kodu, który potwierdzi, czy wszystkie próby transakcji/ logowania się powiodły się, czy nie (automatyczne wykonanie przypadku testowego).

ponadto testy te można skonfigurować w taki sposób, aby były testowane w różnych środowiskach i przeglądarkach internetowych. Co jeszcze można zrobić? Możesz zautomatyzować generowanie pliku wynikowego, planując go na określony czas w ciągu dnia. Następnie można również zautomatyzować generowanie raportów na podstawie tych wyników, a co nie.

kluczowym punktem jest to, że testowanie automatyzacji sprawia, że praca testera jest o wiele prostsza. Sprawdź poniższy obrazek, który pokazuje bardziej zrelaksowane środowisko, w którym pracuje ten sam tester.

testowanie automatyki - czym jest selen

teraz powiem o Selenie w szczególności.

teraz zobaczmy, na czym stoi selen na rynku.

Selenium vs QTP vs RFT

porównałem jego wydajność z dwoma innymi popularnymi narzędziami: QTP i RFT w poniższej tabeli.

Features HP QTP IBM RFT Selenium
License Required Required Open-source
Cost High High Open-source software
Customer Support Dedicated HP support Dedicated IBM support Open-source Community
Hardware consumption during script execution High High Low
Coding experience Not required wymagane wymagana duża ilość umiejętności kodowania i doświadczenia
obsługa środowiska Tylko Dla Windows Tylko Dla Windows Windows, Linux, Solaris OS X (jeśli istnieje obsługa przeglądarki & JVM lub JavaScript)
obsługa języka skrypt VB Java i C# Java, C#, Ruby, Python, Perl, PHP i JavaScript

z powyższej tabeli jasno wynika, dlaczego selenium jest najbardziej preferowane narzędzie. Ale w Selenie jest wiele smaków i powinieneś wiedzieć, które narzędzie jest odpowiednie dla Twoich potrzeb.

Selenium Zestaw Narzędzi

  • Selenium RC (obecnie deprecjonowany)
  • Selenium IDE
  • Selenium Grid
  • Selenium WebDriver

jakie są składniki Selenium?

poniżej wyjaśniłem szczegółowo każdy ze składników Selenium:

Selenium RC (Pilot Zdalnego Sterowania)

zanim powiem o szczegółach Selenium RC, chciałbym cofnąć się o krok i opowiedzieć o pierwszym narzędziu w projekcie Selenium. Rdzeń selenowy był pierwszym narzędziem. Ale Selenium Core uderzył w blokadę w zakresie testowania między domenami ze względu na politykę tego samego pochodzenia. Zasady tego samego pochodzenia zakazują kodu JavaScript dostępu do elementów sieci Web hostowanych w innej domenie niż domena, w której został uruchomiony JavaScript.

aby rozwiązać ten problem z zasadami tego samego pochodzenia, testerzy musieli zainstalować lokalne kopie zarówno Selenium Core (program JavaScript), jak i serwera internetowego zawierającego testowaną aplikację internetową, aby należeli do tej samej domeny. Doprowadziło to do narodzin firmy Selenium RC, która jest akredytowana przez ówczesnego inżyniera, Paula Hammanta.

RC rozwiązał problem, angażując serwer proxy HTTP, aby „oszukać” przeglądarkę, aby uwierzyła, że Selenium Core i testowana aplikacja internetowa pochodzą z tej samej domeny. Dzięki temu RC jest narzędziem dwuskładnikowym.

  1. Selenium RC Server
  2. Selenium RC Client – biblioteka zawierająca kod języka programowania

serwer RC komunikuje się za pomocą prostych żądań HTTP GET / POST. Spójrz na poniższy obrazek, aby zrozumieć architekturę RC.

selenium RC - czym jest selenium

flagowym narzędziem projektu Selenium było Selenium RC, ponieważ było to ich pierwsze narzędzie i mogło być używane do pisania przypadków testowych w różnych językach programowania. Ale wadą RC jest to, że każda komunikacja z serwerem RC jest czasochłonna, a zatem RC jest bardzo powolny. Tak wolno, że wykonanie pojedynczych testów czasem zajęłoby godziny.

od wersji Selenium v3, RC został zdeprecjonowany i przeniesiony do starszego pakietu. Możesz jednak pobrać i pracować z RC, ale niestety nie możesz skorzystać z jego wsparcia. Ale z drugiej strony, dlaczego chcesz używać narzędzia, które jest przestarzałe, zwłaszcza gdy istnieje bardziej wydajne narzędzie o nazwie Selenium WebDriver. Zanim powiem o Webdriverze, omówię IDE i Grid, które są innymi narzędziami, które tworzą Selenium v1.

Selenium IDE (zintegrowane środowisko programistyczne)

w 2006 roku Shinya Kastani z Japonii przekazał swój prototyp Selenium IDE do projektu Selenium Apache. Była to wtyczka do Firefoksa umożliwiająca szybsze tworzenie przypadków testowych. IDE wdrożyło model nagrywania i odtwarzania, w którym przypadki testowe są tworzone przez rejestrowanie interakcji użytkownika z przeglądarką internetową. Testy te mogą być następnie odtwarzane dowolną liczbę razy.

zaletą Selenium IDE jest to, że testy zarejestrowane za pomocą wtyczki mogą być eksportowane w różnych językach programowania, takich jak: Java, Ruby, Python itp. Sprawdź poniższy zrzut ekranu wtyczki IDE Firefoksa.

selenium ide - co to jest selenium

ale związane z tym wady IDE to:

  • Wtyczka dostępna tylko dla Mozilli Firefox; nie dla innych przeglądarek
  • nie jest możliwe testowanie dynamicznych aplikacji internetowych; można rejestrować tylko proste testy
  • przypadki testowe nie mogą być skryptowane za pomocą logiki programowania
  • nie obsługuje testów opartych na danych

to były niektóre aspekty Selenium IDE. Porozmawiajmy teraz o siatce selenu.

czym jest Selenium Grid

Selenium Grid został opracowany przez Patricka Lightbody i początkowo nosił nazwę HostedQA (początkowo część Selenium v1) i był używany w połączeniu z RC do uruchamiania testów na zdalnych maszynach. W rzeczywistości, dzięki Grid, wiele skryptów testowych może być wykonywanych w tym samym czasie na wielu maszynach.

wykonywanie równoległe odbywa się za pomocą architektury Hub-Node. Jedna maszyna przyjmie rolę koncentratora, a pozostałe będą węzłami. Hub kontroluje skrypty testowe działające w różnych przeglądarkach w różnych systemach operacyjnych. Skrypty testowe wykonywane na różnych węzłach mogą być pisane w różnych językach programowania.

selenium grid - co to jest selenium

Grid jest nadal w użyciu i działa zarówno z Webdriverem, jak i RC. Jednak utrzymanie siatki ze wszystkimi wymaganymi przeglądarkami i systemami operacyjnymi jest wyzwaniem. W tym celu istnieje wiele platform internetowych, które zapewniają sieć Selenium online, do której można uzyskać dostęp, aby uruchomić skrypty automatyzacji selenium. Na przykład, możesz użyć LambdaTest. Posiada ponad 2000 środowisk przeglądarkowych, w których można przeprowadzać testy i naprawdę automatyzować testy między przeglądarkami.

Co To jest Selenium WebDriver

założony przez Simona Stewarta w 2006 roku, Selenium WebDriver był pierwszym wieloplatformowym frameworkiem testującym, który mógł kontrolować przeglądarkę z poziomu systemu operacyjnego. W przeciwieństwie do IDE, Selenium WebDriver zapewnia interfejs programistyczny do tworzenia i wykonywania przypadków testowych. Przypadki testowe są pisane w taki sposób, że elementy sieci Web na stronach internetowych są identyfikowane, a następnie wykonywane są działania na tych elementach.

WebDriver jest uaktualnieniem do RC, ponieważ jest znacznie szybszy. Jest szybszy, ponieważ wykonuje bezpośrednie połączenia z przeglądarką. RC z drugiej strony potrzebuje serwera RC do interakcji z przeglądarką internetową. Każda przeglądarka ma swój własny sterownik, na którym działa aplikacja. Różne Webdrivery to:

  • sterownik Firefox (sterownik Gecko)
  • sterownik Chrome
  • sterownik Internet Explorer
  • sterownik Opera
  • sterownik Safari i
  • sterownik jednostki HTM

zalety Selenium WebDriver

  • Obsługa 7 języków programowania: JAVA, C#, PHP, Ruby, Perl, Python i .Net.
  • obsługuje testy na różnych przeglądarkach, takich jak: Firefox, Chrome, IE, Safari
  • testy mogą być wykonywane na różnych systemach operacyjnych, takich jak: Windows, Mac, Linux, Android, iOS
  • pokonuje ograniczenia Selenium v1, takie jak przesyłanie plików, pobieranie, wyskakujące okienka & bariera okien dialogowych

krótkie pojawienie się Selenium WebDriver

  • nie można wygenerować szczegółowych raportów z testów
  • testowanie obrazów nie jest możliwe

bez względu na wyzwanie, niedociągnięcia te można przezwyciężyć poprzez integrację z innymi ramami. Do testowania obrazów można użyć Sikuli, a do generowania szczegółowych raportów z testów można użyć TestNG.

tak, że wyciąga wnioski z tego bloga na czym jest selen. Aby dowiedzieć się więcej o Selenium WebDriver i TestNG, przeczytaj inne blogi z tej serii samouczków Selenium. Możesz również zobaczyć poniższy film dostarczony przez eksperta branżowego, w którym podzieliła się swoją opinią na temat Selenium jako narzędzia do testowania automatyzacji.

Co To jest selen? Blog „czym jest selenium” jest pierwszym blogiem z serii Selenium tutorial blog. Stay tuned to Edureka ’ s blog site for more blogs on Selenium.

Jeśli chcesz nauczyć się Selenium i zbudować karierę w dziedzinie testowania, sprawdź nasze interaktywne szkolenie certyfikacyjne Selenium online Tutaj, które zapewnia wsparcie 24*7, które poprowadzi cię przez cały okres nauki.

Related Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *