Skrobanie sieci i automatyzacja testów lalkarza - doskonały przewodnik po samouczku lalkarza 3


W dzisiejszych czasach Puppeteer zyskuje coraz większą uwagę jako narzędzie do skrobania sieci. Ze względu na prostotę, dostępność jako narzędzie open-source i możliwość tworzenia aplikacji jednostronicowych, Puppeteer zyskuje na popularności. Zanim zaczniemy uczyć się na narzędziu do skrobania stron internetowych Puppeteer, powinniśmy mieć podstawową wiedzę na temat wiersza poleceń, JavaScript i struktury HTML DOM. ten Samouczek lalkarza został podzielony na kilka artykułów, które są wyszczególnione w poniższym spisie treści.

Samouczek lalkarza

Samouczek Tosca nr 1: Przegląd lalkarza

Tosca Poradnik # 2: Zmienne środowiskowe lalkarza

Tosca Poradnik # 3: Przeszukiwanie sieci lalkarza i automatyzacja testów lalkarza - przegląd

Tosca Poradnik # 4: Zainstaluj Puppeteer 

W tym artykule z Samouczek lalkarza, omówimy Puppeteer Web Scraping z przykładem i omówieniem automatyzacji testu Puppeteer Test. 

Skrobanie sieci lalkarza

Proces wyodrębniania danych z dowolnych stron internetowych nazywa się skrobaniem sieci. Skrobanie sieci ma dwa etapy. Najpierw pobiera stronę internetową, a następnie wyodrębnia dane. Po wyodrębnieniu danych możemy je wykorzystać do dowolnego API lub zapisać w pliku CSV. 

Puppeteer to jedno z najlepszych narzędzi do obsługi skrobania stron internetowych w przeglądarce Google Chrome lub Chromium. Skrobanie sieci lalkarza jest szczegółowo wyjaśnione na poniższym przykładzie - 

Przykład podstawowego przeszukiwania sieci lalkarza:

Krok 1# Lalkarz pracuje na bibliotece Node JS. Tak więc pierwszym krokiem jest włączenie biblioteki lalkarza przed napisaniem skryptu do skrobania stron internetowych.

const puppeteerObj = require("puppeteer");

Krok 2# Po dołączeniu klasy Puppeteer musimy napisać funkcję asynchroniczną za pomocą słowa kluczowego await. Jest to wymagane, ponieważ Puppeteer wykorzystuje obietnice. Następnie wywołaj metodę Puppeteer.launch (), aby wywołać przeglądarkę i metodę newPage () w celu utworzenia instancji strony internetowej.

const browserWeb = await puppeteerObj.launch();
const pageWeb = await browserWeb.newPage();

Krok 3# Teraz wywołaj metodę page.goto (), aby podać adres URL żądanej witryny.

await pageWeb.goto("https://lambdageeks.com/");

Krok 4# Użyj metody page.evaluate (), aby przechwycić tekst dowolnego określonego elementu (w tym przykładzie przechwycimy tekst nagłówka). 

const data = await pageWeb.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

W nadchodzącym samouczku omówimy, jak zidentyfikować dowolny obiekt na ekranie WWW.

Samouczek lalkarza - Przeszukiwanie sieci lalkarza
Samouczek lalkarza - Przeszukiwanie sieci lalkarza

Krok 5# W tym ostatnim kroku musimy przetworzyć dane, a następnie zamknąć stronę internetową. Kompletny kod Puppeteer Web Scraping będzie wyglądał jak poniżej -

const puppeteer = require("puppeteer");

async function scrap() {
  // Launch the browser
  const browserApp = await puppeteer.launch();
  // Create a page instance
  const pageApp = await browserApp.newPage();
  // invoke the web page for scraping
  await pageApp.goto("https://lambdageeks.com/");

  // Select any web element
const data = await pageApp.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

// Here we can do anything with this data. Here displaying the data
console.log(header);

 //We close the browser
  await browserApp.close();
}

Scrap();

Krok 6# Teraz możemy wykonać ten kod do skrobania sieci lalecznika za pomocą polecenia:  węzeł index.js

Uwaga: W następnym artykule, „Install Puppeteer”, omówimy konfigurację instalacji Puppeteer i wykonamy powyższy kod Puppeteer Web Scraping.

Omówienie automatyzacji testów lalkarza

Oprócz skrobania sieci, Lalkarz ma również funkcje umożliwiające wykonywanie poniższych czynności,

  • Przechwytuj zrzuty ekranu stron internetowych.
  • Ekran strony internetowej możemy zapisać jako plik pdf.
  • W celu wykonania testów interfejsu użytkownika można zautomatyzować ręczne czynności.

Tak więc, łącząc wszystkie powyższe cechy, możemy użyć Puppeteera do automatyzacji testów. Aby zrozumieć automatyzację testów Puppeteer, najpierw musimy zapoznać się z testowaniem oprogramowania.

Przegląd testów:

Testowanie jest wymagane, aby upewnić się, że wszystkie wymagania oprogramowania są spełnione bez żadnych problemów. Od początku procesu tworzenia oprogramowania dostępne są różne rodzaje cykli testowych. Oprogramowanie można testować ręcznie lub w sposób zautomatyzowany.

Cele testowania oprogramowania to -

  • Sprawdź jakość produktów.
  • Znajdź błędy produktu przed wdrożeniem produkcyjnym.
  • Sprawdzanie wymagań jest spełnione.
  • Testowanie wydajności produktu.

Rodzaje testów są wyjaśnione tutaj -

Testów jednostkowych - Deweloperzy są odpowiedzialni za przeprowadzanie testów jednostkowych na etapie opracowywania kodu.

Testy integracyjne - To testowanie jest wymagane po zintegrowaniu różnych składników oprogramowania. Głównym celem jest zapewnienie sprawnego działania wszystkich interfejsów.

Testowanie systemu - To szczegółowe testy, które należy przeprowadzić po integracji, aby upewnić się, że wszystkie wymagania zostały spełnione.

Testów akceptacyjnych użytkownika - To także szczegółowe testy, które musi wykonać końcowy użytkownik produktu, aby zapewnić odpowiednią jakość.

Testowanie regresowe - Jest to wymagane, aby zapewnić bezproblemowe działanie podstawowego procesu biznesowego podczas wprowadzania jakichkolwiek ulepszeń oprogramowania.

Zalety automatyzacji testów:

  • Skróć cykl wykonania.
  • Unikaj ryzyka błędów ludzkich.
  • Zminimalizuj wysiłki związane z wykonywaniem testów.
  • Szybkie wydanie oprogramowania.
  • Zwiększ zakres testów, aby zmniejszyć ryzyko.
  • Możliwość wykonywania równoległego wykonania.

Dlaczego lalkarz?

Większość ręcznych operacji wykonywanych w przeglądarce Chrome można zautomatyzować za pomocą Puppeteer. Tak więc Puppeteer jest dobrym wyborem do szybkich i łatwiejszych testów jednostkowych w aplikacjach internetowych. 

Ograniczenia Lalkarz jako narzędzie do testowania automatyzacji to:

  • Obsługuje tylko przeglądarki Chrome i Chromium.
  • Testowanie przeglądarki Coss nie jest możliwe.
  • Nie można przeprowadzić testów mobilnych.

Testowanie bezgłowego Chrome:

Bezgłowa przeglądarka oznacza, że ​​Puppeteer wchodzi w interakcję z przeglądarką Chrome jako aplikacją w tle, co oznacza, że ​​Chrome UI nie jest widoczny na ekranie. Tak więc bezgłowe testowanie Chrome oznacza, że ​​testowanie automatyzacji ma być wykonywane w ukrytej przeglądarce. Ponadto, po testowaniu bezgłowego chrome, Puppeteer jest w stanie poprawnie przechwycić ekran sieciowy.

Lalkarz kontra selen

Porównanie Puppeteer i Selenium jako narzędzia do testowania automatyzacji wyjaśniono poniżej -

  • Obsługa języków programowania - Puppeteer obsługuje tylko JavaScript, gdzie Selenium obsługuje języki Java, Python, Node.js i C #.
  • Obsługa przeglądarek - Puppeteer działa tylko z przeglądarką Chrome lub Chromium, ale Selenium obsługuje również przeglądarki Chrome, Mozilla, Safari, IE, Opera.
  • Społeczność - Wsparcie społeczności jest ograniczone do Grup dyskusyjnych Google, GitHub i Stack Overflow for the Puppeteer. Ale dla Selenium dostępne jest szerokie wsparcie społeczności na wielu forach.
  • Szybkość wykonania - Wykonanie skryptu Puppeteer jest szybsze niż Selenium.
  • Instalacja i konfiguracja - Instalacja i konfiguracja Puppeteer to łatwiejszy i prostszy proces.
  • Obsługa wielu platform - Lalkarz tego nie obsługuje, ale Selenium może.
  • Nagrywanie - Funkcje nagrywania nie są dostępne w Puppeteer. Ale ta funkcja jest dostępna dla Selenium IDE.
  • Zrzuty ekranu - Puppeteer ma możliwość zrobienia zrzutu ekranu jako obrazu lub formatu PDF, gdzie Selenium może obsługiwać tylko format obrazu.
  • Obsługa platformy testowej – Puppeteer obsługuje tylko przeglądarki internetowe, ale Selenium może zautomatyzować sieć i mobilny z Appium.
  • Umiejętności kodowania - Jest wymagany dla sterownika Puppeteer Selenium Web, ale nie dla Selenium IDE.

Na podstawie powyższego porównania możemy stwierdzić, że Puppeteer będzie najlepszym wyborem, gdy musimy wykonać testy na poziomie jednostki dla dowolnej aplikacji internetowej, gdzie wymagane jest szybkie i elastyczne rozwiązanie. Drugie narzędzie, Selenium, będzie lepszym wyborem, gdy istnieje zapotrzebowanie na aplikację mobilną i wieloplatformową testowanie aplikacji, Kliknij tutaj uczyć się selenu od LambdaGeeks.

Wnioski:

W tym artykule wprowadzającym na temat Samouczek lalkarza, dowiedzieliśmy się o przeglądzie Puppeteer Web Scraping i Puppeteer Test Automation. O tym, jak krok po kroku zainstalować Puppeteer i wykonać mały skrypt, dowiemy się w następnym artykule Puppeteer. Proszę kliknąć tutaj aby odwiedzić portal referencyjny dla tego samouczka lalkarza.

K Mondal

Cześć, jestem K. Mondal, jestem związany z wiodącą organizacją. Mam ponad 12 lat doświadczenia w pracy w różnych dziedzinach, np. tworzenie aplikacji, testowanie automatyzacji, konsultant IT. Bardzo interesuje mnie poznawanie różnych technologii. Jestem tutaj, aby spełnić moje aspiracje i obecnie współpracuję jako autor i programista stron internetowych zarówno w LambdaGeeks. Połącz się z LinkedIn – https://www.linkedin.com/in/kumaresh-mondal/

Najnowsze posty