Puppeteer vs selen

Puppeteer vs selen
Dzisiaj, jeśli chodzi o zautomatyzowane testy internetowe, Puppeteer i Selenium to dwie nazwy, które pojawiają się. Jednym z głównych powodów, dla których są dobrze znani, jest ich zdolność do wykonywania bezgłowych przeglądarek. Dlatego zanim przejdziemy do artykułu, przyjrzyjmy się, jakie są bezgłowe przeglądarki i ich zalety.

Pod względem podstawowym przeglądarki to przeglądarki, które mogą być używane do testowania użyteczności stron internetowych i wykonywania interakcji przeglądarki, tak jak to zrobiłeś ze zwykłą przeglądarką. Jedyną różnicą jest to, że nie ma graficznego interfejsu użytkownika (GUI) i są one zwykle wykonywane z terminalu.

Bezgłowe przeglądarki:

  • Pomóż znacznie zmniejszyć zużycie zasobów
  • Są szybsze
  • Są idealne do celów skrobania internetowego
  • Można je wykorzystać do monitorowania wydajności aplikacji sieciowych

Teraz, gdy znamy główny czynnik obu narzędzi, możemy kontynuować.

Puppeteer

Puppeteer to biblioteka węzłów z Google, która zapewnia prosty interfejs API do kontrolowania bezgłowego chromu. Za pośrednictwem Puppeteer wspólne zadania, takie jak wpisanie danych wejściowych, kliknięcie przycisków, testowanie użyteczności stron internetowych, a nawet skrobanie internetowe można łatwo przeprowadzić.

Puppeteer jest oficjalny zespołu Chrome i używa protokołu Chrome zdalnego debugowania, tak jak znaleźlibyśmy się w Chrome DevTools. Ta biblioteka obsługuje nowoczesną składnię JavaScript dostępną w Google Chrome.

Organizować coś

Instalowanie i rozpoczęcie pracy z Puppeteer jest bardzo łatwe. Ponieważ Puppeteer jest biblioteką węzłów, można ją zainstalować za pomocą NPM narzędzie.

Instalację można wykonać z poniższym poleceniem:

NPM I Puppeteer

Uruchamianie powyższego polecenia instaluje Puppeteer. Oczekuje się, że pobranie również najnowszej wersji Chromium, która będzie działać z API.

Rozmiar chromu różni się w zależności od systemu operacyjnego:

  • ~ 170 MB dla Maca
  • ~ 282 MB dla Linux
  • ~ 280 MB dla Windows

Po zainstalowaniu Puppeteer możesz dowiedzieć się więcej o tym, jak zacząć, możesz również sprawdzić więcej przykładów kodu.

Cechy

Chociaż zdolność Puppeteer do uruchomienia bezgłowej przeglądarki jest jedną z funkcji, która zyskała jej sławę, nie jest to jedyna funkcja, która sprawia, że ​​jest niesamowita. Puppeteer ma również kilka innych funkcji, które sprawiają, że jest to przydatne, rzućmy okiem na niektóre z nich.

Łatwa automatyzacja:

Chociaż istnieją inne narzędzia, które można użyć do automatyzacji sieci, Puppeteer wychodzi. Wynika to z faktu, że działa dobrze tylko w przypadku jednej przeglądarki, która jest bezgłową przeglądarką Chrome, dlatego wykonuje zadania automatyzacji internetowej w najbardziej wydajny sposób. Puppeteer działa również dobrze z popularnymi bibliotekami testowania jednostek, takimi jak Mocha i Jasmine.

Testowanie zrzutów ekranu:

Jest to istotna funkcja dla każdego zautomatyzowanego zadania testowania internetowego. Zrzuty ekranu są ważne i pomagają śledzić wyniki interakcji z elementami na stronie internetowej. Biblioteki takie jak Puppeteer-Screenshot-Tester istnieją również w Puppeteer, która zapewnia możliwość porównywania zrzutów ekranu wygenerowanych podczas testowania. PDFS, generujące zrzuty ekranu testów, PDF można również generować z testowanych stron internetowych w Puppeteer.

Test wydajności:

Chrome zapewnia devtools, które umożliwiają rejestrowanie harmonogramu wydajności stron internetowych, a Puppeteer też z tego wykorzystuje. W przypadku Puppeteer ślady internetowe można uchwycić, aby zbadać problemy z wydajnością. Ze względu na kontrolę API na wysokim poziomie Puppeteer nad protokołem narzędzi dla programistów Chrome, daje użytkownikom możliwość kontrolowania pracowników serwisowych i testowania buforowania stron internetowych.

Scrapowanie internetowe:

Rozmowa o funkcjach nie zostałaby zakończona bez uznania zdolności laurek do użycia do celów skrobania internetowego. Uczenie się używania Puppeteer jako skrobaka internetowego jest dość łatwe, spójrz na dokumentację API.

Profesjonaliści

  1. Działa dobrze do testów wizualnych.
  2. Idealne do testowania na koniec do końca.
  3. Szybki w porównaniu do selenu.
  4. Może robić zrzuty ekranu stron internetowych.
  5. Większa kontrola testów przez Chrome.
  6. Może testować tryb offline.

Cons

  1. Obsługuje tylko JavaScript (węzeł)
  2. Obsługuje tylko Chrome

Selen

Selenium to potężna struktura testowania internetowego, która ma możliwość automatyzacji aplikacji internetowych do celów testowych. Selenium jest również znane ze swojej zdolności do automatyzacji zadań administracyjnych internetowych.

Selen występuje w dwóch częściach; Selenium WebDriver do tworzenia potężnych, opartych na przeglądarkach pakietów automatycznych i testów oraz Selenium IDE do tworzenia szybkiej reprodukcji błędów.

Nie zapominając, że selen obsługuje również bezgłowe przeglądarki, jak widać z lalkaczem.

Organizować coś

W przeciwieństwie do laurek, konfigurowanie selenu nie jest proste. Selen obsługuje wiele języków i różne przeglądarki, dlatego należy zadbać o te możliwe warunki.

Poniżej wymieniono linki do oficjalnych samouczków na temat konfigurowania wiązań selenu dla różnych języków.

  • C#
  • Jawa
  • JavaScript
  • Pyton
  • Rubin

SELELUM wspierając różne języki, obsługuje również wiele przeglądarek. W przeciwieństwie do Puppeteer, który instaluje Chromium podczas instalacji, może być konieczne zainstalowanie sterowników internetowych dla wybranej przeglądarki internetowej.

Oto linki do sterowników internetowych dla Mozilla Firefox i Google Chrome.

Jeśli chcesz również użyć Selenium IDE, istnieje również dla wielu przeglądarek. Oto linki do Selenium IDE dla Mozilla Firefox i Google Chrome.

Cechy

Możliwość pracy z bezgłowymi przeglądarkami sprawiła, że ​​nie jest to najpopularniejsze narzędzie do automatyzacji sieci, ale istnieją inne funkcje, które sprawiają, że jest potężny.

Wsparcie wielojęzyczne:

To jedna bardzo ważna funkcja selenu. Dzięki wielu wsparciu językowi więcej programistów może korzystać z narzędzia do zadań testowania automatyzacji sieci. Chociaż można by pomyśleć, że jego wsparcie wielojęzyczne sprawi, że będzie powolna, selen nadal działa z dobrą prędkością, ponieważ uruchomienie serwera w sterowniku internetowym nie jest wymagane.

Obsługa wieloplatformowa:

W ten sam sposób, w jaki selen nie jest ograniczony przez bariery językowe, nie jest również ograniczona barierą platformową. Nie jest wiadomość, że aplikacja internetowa zachowuje się inaczej na wielu platformach. Selenium daje testerom możliwość testowania w głównych przeglądarkach internetowych, aby zapewnić bezproblemową wrażenia użytkowników dla użytkowników w różnych przeglądarkach. Przeglądarki na bokach, selen można również używać do testowania na urządzeniach mobilnych, takich jak Android, iOS, Windows, BlackBerry Apps.

Narzędzie nagrywania:

Dzięki Selenium IDE łatwo jest nagrywać testy automatyki internetowej. Selenium IDE pozwala testerom skorzystać z możliwości nagrywania, a także wsparcia i zdolności do nawigacji poleceń. Narzędzie do nagrywania przestało działać w wersjach Firefox 55 i nowszych, jednak na Firefox są inne wtyczki, które służą temu samemu celowi. Dlatego zdolność do nagrywania testów pozostaje główną cechą selenu.

Scrapowanie internetowe:

Podczas gdy selen jest używany do testowania aplikacji internetowych, dobrze skaluje się jako skrobak internetowy. Selenium może być używane do zeskrobania witryn Ajax i najtrudniejszych witryn do zeskrobania, pod warunkiem, że możesz zrozumieć strukturę HTML. Możesz sprawdzić ten samouczek na temat korzystania z selenu do skrobania internetowego za pomocą Pythona.

Profesjonaliści

  1. Obsługa wieloplatformowa.
  2. Wsparcie wielojęzyczne.
  3. Zdolność do nagrywania testów.
  4. Może też robić zrzuty ekranu.
  5. Ogromna społeczność użytkowników.

Cons

  1. Powolne w porównaniu do lalkarza.
  2. Ograniczona kontrola testów w porównaniu do lalkarza.

Wniosek

Jeśli nie przejmujesz się testowaniem stron internetowych na innych platformach na brzegu Chrome, to dobrze pracujesz z Puppeteer, pod warunkiem, że możesz pracować z JavaScript (węzeł). Jeśli jednak martwisz się o wiele platform, użycie selenu jest oczywiste. Mówiąc o swoich zdolnościach skrobania w sieci, oba narzędzia nawet siebie. Należy jednak zauważyć, że lalkarnik może być szybszy niż selen.

Każde narzędzie, które wybierzesz na koniec dnia, powinno być w porządku, po prostu ciesz się pisaniem skryptów automatyki.