Selenium to zaciekły zestaw narzędzi dla programistów

Zaktualizowano:
4 min czytania
Selenium to zaciekły zestaw narzędzi dla programistów
Zdjęcie: selenium.dev
Dzielić

Programiści spędzają niezliczone godziny na testowaniu funkcjonalności aplikacji internetowej zarówno lokalnie, jak i poza nią.

Przed Selenium wszystko odbywało się dosłownie ręcznie: dziesiątki osób testowało setki skryptów we wszystkich istniejących przeglądarkach, identyfikując problemy i próbując ustalić przyczyny ich występowania.

Co to jest Selenium

Selenium to zestaw narzędzi do automatyzacji i testowania oprogramowania typu open source, który stał się de facto liderem.

Pracując z większością języków programowania obsługiwanych przez wszystkie główne systemy operacyjne i przeglądarki, Selenium jest obecnie używany przez takie firmy jak Netflix, Google, HubSpot, Fitbit i inne. Cały pakiet zapewnia szereg rozwiązań dla różnych zadań testowych i potrzeb.

Infrastruktura garnituru Selenium

Sterownik sieciowy

W większości przypadków, kiedy ludzie mówią o Selenium, mają na myśli Selenium WebDriver. Większość rozwoju produktów skupia się na tym elemencie.
Automatyzacja testów w WebDriver jest często porównywana do jazdy taksówką. W kierowaniu taksówką i testowaniu biorą udział trzy komponenty: klient (inżynier testowy) – samochód (przeglądarka) – taksówkarz (WebDriver).

DevOps — rozwój i operacje
DevOps — rozwój i operacje
4 min czytania
Ratmir Belov
Journalist-writer

Zgodnie z tą analogią programista najpierw mówi sterownikowi, jak wchodzić w interakcję z elementami przeglądarki. Następnie WebDriver daje przeglądarce (maszynie) polecenia, które brzmią mniej więcej tak: gdy przycisk jest aktywny, kliknij przycisk. Następnie przeglądarka dostarcza sterownikowi informacji o wartościach i stanach elementów sieci, które są później przesyłane do skryptu. Mówiąc najprościej, narzędzie Selenium WebDriver służy do zbierania informacji i upewniania się, że aplikacja działa poprawnie, to znaczy, że kierowca wie, jak jeździć i gdzie jechać.

Selenium IDE

To jest rozszerzenie dla Firefoksa. Nie jest przeznaczony do programowania, jest łatwy do nauczenia i doskonale nadaje się do zadań prototypowania.

Praca w Selenium IDE nie wymaga umiejętności programistycznych, ponieważ wtyczka w zasadzie rejestruje działania inżyniera w przeglądarce i powtarza je. Programiści nie uważają go za samodzielny, pełnoprawny produkt, ale wystarczy pracować z prostymi skryptami.

Siatka selenowa

Umożliwia jednoczesne uruchamianie testów na wielu komputerach i przeglądarkach. Główną funkcją tego narzędzia jest oszczędność czasu. Jeśli potrzebujesz uruchomić, powiedzmy, 100 testów, aby skonfigurować cztery wirtualne lub fizyczne maszyny, używany jest Selenium Grid.

Selenium
Zdjęcie: linuxhint.com

Biorąc pod uwagę, że skrypty przeglądarki są generalnie wolne, użycie technik wydajnościowych, takich jak testowanie równoległe, może pomóc w rozwiązaniu tego problemu. Może być również używany do równoległego testowania tej samej aplikacji w różnych przeglądarkach, gdy Firefox działa na jednym komputerze, Chrome na innym i tak dalej. Możliwe jest tworzenie różnych konfiguracji, łącząc różne wersje przeglądarek i systemów operacyjnych. Nie trzeba dodawać, że Grid używany w dużych środowiskach produkcyjnych oszczędza cztery razy więcej czasu.

Zalety

Selenium nie jest jedynym narzędziem do automatyzacji testów na rynku, ale jedynym darmowym narzędziem, które może konkurować z płatnymi produktami. Katalon Studio jest realną alternatywą, ale nie zapewnia tak wielu języków, nie działa na Linuksie i po prostu nie ma fanów.

Projektowanie oparte na domenie — programowanie DDD
Projektowanie oparte na domenie — programowanie DDD
5 min czytania
Ratmir Belov
Journalist-writer

Nic dziwnego, że nawet większe firmy nie spieszą się z przenoszeniem się na płatne strony i rozdawaniem tysięcy dolarów za to, co robi Selenium za darmo. Liczba firm współpracujących z Selenium przekracza 55 tys. Jej udział w rynku w zakresie testowania i automatyzacji wynosi prawie 30%.

Obsługa języków, platform, przeglądarek:

  • Jawa
  • C#
  • PHP
  • Rubin
  • Perl
  • Python
  • JavaScript
  • Cel-C
  • Haskell
  • R
  • Okna
  • Linuks
  • Mac
  • Android
  • iOS
  • Google Chrome
  • Internet Explorer
  • Firefox
  • Safari
  • Opera
  • Microsoft Edge
  • HtmlUnitDriver

Wady

Być może jedyną istotną wadą jest to, że Selenium można używać tylko w aplikacjach internetowych. Jest to jednak bardziej ograniczenie, a nie wada, ponieważ WinAppDriver można zintegrować z Selenium w celu testowania aplikacji komputerowych.

Krótka historia na zakończenie

W 2004 roku Jason Huggins stworzył framework JavaScript zaprojektowany, aby uwolnić jego twórcę od powtarzalnych testów ręcznych. Produkt, przewidywalnie jako pierwszy nazwany JavaScriptTestRunner, mógł uruchamiać testy bezpośrednio w przeglądarce, zarządzać interakcjami ze stronami i uruchamiać je ponownie bez ręcznego wprowadzania danych. To narzędzie JavaScript stało się popularne po tym, jak Huggins, zdając sobie sprawę ze swojego pełnego potencjału, udostępnił je jako open source i przemianował je na Selenium Remote Control. Nowatorską częścią było to, że do tej pory żadne inne narzędzie nie pozwalało testerom komunikować się z przeglądarką w wybranym przez nich języku programowania.

Internet to największy wynalazek ludzkości
Internet to największy wynalazek ludzkości
9 min czytania
2.6
(5)
Editorial team
Editorial team of Pakhotin.org

Jednak szybko okazało się, że przeglądarki stosują ograniczenia bezpieczeństwa w JavaScript, uniemożliwiając pełne wykorzystanie możliwości narzędzia. W tamtym czasie Google był zagorzałym użytkownikiem Selenium, a jego inżynierowie starali się jak najlepiej ominąć ograniczenia. Jeden z nich, Simon Stewart, rozpoczął pracę nad produktem, który będzie wchodzić w bezpośrednią interakcję z przeglądarkami i nazwał go WebDriver.

Tak więc ponad dekadę temu Selenium połączył siły z WebDriver i na zawsze zmienił sposób testowania oprogramowania. Oficjalna strona https://www.selenium.dev
Ocena artykułu
0,0
Ocen: 0
Oceń ten artykuł
Editorial team
Proszę napisać swoją opinię na ten temat:
avatar
  Powiadomienia o komentarzach  
Powiadamiaj o
Zawartość Oceń to Komentarze
Dzielić