Puppeteer Web Scraping and Test Automation - Isang Mahusay na Gabay sa Pag-aaral ng Puppeteer Tutorial 3

Tutorial sa Puppeteer - Automation ng Puppeteer Test

Ngayon-isang-araw, ang Puppeteer ay nakakakuha ng higit na pansin bilang isang tool sa pag-scrap ng web. Dahil sa pagiging simple, ang pagkakaroon bilang isang tool na bukas-mapagkukunan at kakayahang bumuo ng solong aplikasyon ng pahina, nakakakuha ng katanyagan ang Puppeteer. Bago simulang matuto sa Puppeteer web scraping tool, dapat magkaroon kami ng pangunahing pag-unawa sa linya ng utos, Javascript, at istraktura ng HTML DOM. Ang tutorial ng Puppeteer ay nasira sa ilang mga artikulo na tinukoy sa ibaba ng talahanayan ng nilalaman.

Tutorial ng Puppeteer

Tosca Tutorial # 1: Pangkalahatang-ideya ng Puppeteer

Tosca Sangguni # 2: Mga variable ng Kapaligiran ng Puppeteer

Tosca Sangguni # 3: Puppeteer Web Scraping at Pangkalahatang-ideya ng Puppeteer Test Pangkalahatang-ideya

Tosca Sangguni # 4: I-install ang Puppeteer 

Sa artikulong ito ng Puppeteer Tutorial, tatalakayin namin ang Puppeteer Web Scraping na may isang halimbawa at pangkalahatang-ideya ng pag-automate ng Puppeteer Test. 

Puppeteer Web Scraping

Ang proseso ng pagkuha ng data mula sa anumang mga web page ay tinatawag na web scraping. Ang pag-scrap ng web ay may dalawang mga hakbang. Una, kinukuha nito ang web page at pagkatapos ay kinukuha ang data. Pagkatapos ng pagkuha ng data, maaari namin itong gamitin para sa anumang API o iimbak ito sa isang CSV file. 

Ang puppeteer ay isa sa mga pinakamahusay na tool upang suportahan ang web scraping para sa Google Chrome o Chromium browser. Ang pag-scrap ng puppeteer web ay ipinaliwanag sa mga detalye sa halimbawa sa ibaba - 

Pangunahing Halimbawa ng Puppeteer Web Scraping:

Hakbang1 # Gumagawa ang Puppeteer sa Node JS library. Kaya, ang unang hakbang ay upang isama ang puppeteer library bago isulat ang script para sa web scraping.

const puppeteerObj = require("puppeteer");

Hakbang2 # Matapos isama ang klase ng Puppeteer, kailangan naming magsulat ng isang pagpapaandar na async sa pamamagitan ng paggamit ng naghihintay na keyword. Kinakailangan ito habang gumagamit ng mga pangako ang Puppeteer. Pagkatapos ay tawagan ang pamamaraan ng Puppeteer.launch () upang maimbitahan ang browser at tawagan ang pamamaraan ng newPage () upang lumikha ng halimbawa ng web page.

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

Hakbang3 # Tumawag ngayon sa page.goto () na pamamaraan upang maibigay ang URL ng nais na website.

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

Hakbang4 # Gamitin ang pahina ng pamamaraan. Suriin () upang makuha ang teksto ng anumang partikular na elemento (sa halimbawang ito, makukuha namin ang teksto ng header). 

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

Tatalakayin namin kung paano makilala ang anumang bagay mula sa web screen sa paparating na tutorial.

Tutorial sa Puppeteer - Puppeteer Web Scraping
Puppeteer Tutorial - Puppeteer Web Scraping

Hakbang5 # Sa huling hakbang na ito, kailangan naming iproseso ang data at pagkatapos isara ang web page. Ang kumpletong Puppeteer Web Scraping code ay magiging katulad sa ibaba -

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();

Hakbang6 # Ngayon, maaari naming ipatupad ang puppeteer web scraping code na ito gamit ang utos:  node index.js

tandaan: Sa susunod na artikulo, "I-install ang Puppeteer," tatalakayin namin ang pag-install ng pag-install ng Puppeteer at isagawa ang nasa itaas na Puppeteer Web Scraping code.

Pangkalahatang-ideya ng Puppeteer Test Automation

Bukod sa pag-scrap ng web, ang Puppeteer ay may mga tampok upang maisagawa din ang mga aktibidad sa ibaba,

  • Kunan ang mga screenshot ng mga web page.
  • Maaari naming mai-save ang screen ng web page bilang isang PDF file.
  • Ang pag-automate ng mga manu-manong hakbang ay maaaring makamit upang maisagawa ang pagsubok sa UI.

Kaya, pagsasama-sama ng lahat ng mga tampok sa itaas, maaari naming gamitin ang Puppeteer para sa pagsubok na awtomatiko. Upang maunawaan ang Puppeteer Test Automation, una, kailangan nating pamilyar sa pagsubok ng software.

Pangkalahatang-ideya ng pagsubok:

Kinakailangan ang pagsubok upang matiyak na ang lahat ng mga kinakailangan sa software ay natutupad na may anumang mga isyu. Ang iba't ibang mga uri ng mga siklo sa pagsubok ay magagamit mula sa simula ng proseso ng pag-unlad ng software. Ang software ay maaaring masubok nang manu-mano o sa pamamagitan ng awtomatikong diskarte.

Ang mga layunin ng pagsubok ng software ay -

  • Patunayan ang kalidad ng mga produkto.
  • Hanapin ang mga bug ng produkto bago ang pag-deploy ng produksyon.
  • Ang pagsusuri ng mga kinakailangan ay nasiyahan.
  • Pagsubok sa mga pagtatanghal ng produkto.

Ang mga uri ng pagsubok ay ipinaliwanag dito -

Pagsubok ng Yunit - Ang mga developer ay responsable upang maisagawa ang pagsubok ng yunit sa panahon ng yugto ng pagbuo ng code.

Pagsubok sa Pagsasama - Ang pagsubok na ito ay kinakailangan pagkatapos isama ang iba't ibang mga bahagi ng produkto ng software. Ang pangunahing layunin ay upang matiyak na ang lahat ng mga interface ay gumagana nang maayos.

Pagsubok ng System - Ito ay isang detalyadong pagsusuri na kailangang gawin pagkatapos ng pagsasama upang matiyak ang tungkol sa lahat ng mga kinakailangan na natupad.

Pagsubok ng Pagtanggap ng Gumagamit - Ito rin ay isang detalyadong pagsusuri na kailangang gawin ng end user ng produkto upang matiyak ang kalidad.

Regressing Testing - Kinakailangan upang matiyak na ang pangunahing proseso ng negosyo ay gumagana nang maayos sa panahon ng anumang mga pagpapahusay ng software.

Mga kalamangan ng Automation ng Pagsubok:

  • Bawasan ang ikot ng pagpapatupad.
  • Iwasan ang mga pagkakataon ng mga pagkakamali ng tao.
  • I-minimize ang mga pagsisikap sa pagpapatupad ng pagsubok.
  • Mabilis na paglabas ng software.
  • Taasan ang saklaw ng pagsubok upang mabawasan ang peligro.
  • Kakayahang magsagawa ng parallel na pagpapatupad.

Bakit Puppeteer?

Karamihan sa mga manu-manong pagpapatakbo na isinagawa sa browser ng Chrome ay maaaring awtomatiko gamit ang Puppeteer. Kaya, ang Puppeteer ay isang mahusay na pagpipilian para sa pagsubok ng yunit sa mga application ng web nang mabilis at madaling paraan. 

Ang mga limitasyon ng Puppeteer bilang isang tool sa pagsubok ng awtomatiko ay -

  • Sinusuportahan lamang ang browser ng Chrome at Chromium.
  • Hindi posible ang pagsusuri sa Coss-browser.
  • Hindi magagawa ang pagsubok sa mobile.

Pagsubok sa Chrome na walang ulo:

Ang browser na walang ulo ay nangangahulugan na ang Puppeteer ay nakikipag-ugnay sa isang chrome browser bilang isang background application, na nangangahulugang ang chrome UI ay hindi nakikita sa screen. Kaya, ang pagsubok na walang ulo na chrome ay nangangahulugang ang pagsubok sa awtomatiko ay isasagawa sa isang nakatagong browser. Gayundin, pagkatapos ng pagsubok na walang ulo na chrome, nakakuha ng maayos ang Puppeteer sa web screen.

Puppeteer laban sa Selenium

Tutorial sa Puppeteer - Puppeteer vs Selenium
Puppeteer Tutorial - Puppeteer vs Selenium

Ang paghahambing sa pagitan ng Puppeteer at Selenium bilang isang tool sa pagsubok ng awtomatiko ay ipinaliwanag sa ibaba -

  • Suporta sa wika ng Programming - Sinusuportahan lamang ng Puppeteer ang JavaScript, kung saan sinusuportahan ng Selenium ang mga wika ng Java, Python, Node.js, at C #.
  • Suporta ng Browser - Nalalapat lamang ang puppeteer para sa browser ng Chrome o Chromium, ngunit sinusuportahan ng Selenium ang Chrome, Mozilla, Safari, IE, mga browser ng Opera din.
  • Suporta sa Komunidad - Ang suporta sa komunidad ay pinaghihigpitan sa Google Groups, GitHub, at Stack Overflow para sa Puppeteer. Ngunit para sa Selenium, ang malawak na suporta sa pamayanan sa maraming mga forum ay magagamit.
  • Bilis ng Pagpapatupad - Ang pagpapatupad ng Puppeteer script ay mas mabilis kaysa sa Selenium.
  • Pag-install at Pag-setup - Ang pag-install at pag-setup ng puppeteer ay isang mas madali at simpleng proseso.
  • Suporta sa Cross-Platform - Hindi sinusuportahan ito ng puppeteer, ngunit maaari ang Selenium.
  • Pagrekord - Ang mga tampok sa pag-record ay hindi magagamit sa Puppeteer. Ngunit ang tampok na ito ay magagamit para sa Selenium IDE.
  • Mga screenshot - Ang puppeteer ay may kakayahang kumuha ng isang screenshot bilang isang imahe o format na pdf, kung saan ang Selenium ay maaaring suportahan lamang ang format ng imahe.
  • Pagsuporta sa Suporta sa Platform - Sinusuportahan lamang ng Puppeteer ang mga web browser, ngunit maaaring i-automate ng Selenium ang web at mobile gamit ang Appium.
  • Mga Kasanayang Coding - Kinakailangan ito para sa Puppeteer Selenium Web driver ngunit hindi para sa Selenium IDE.

Batay sa paghahambing sa itaas, maaari naming tapusin na Puppeteer ang gagawa ng pinakamahusay na pagpipilian kapag kailangan naming magsagawa ng pagsubok sa antas ng yunit para sa anumang web application kung saan kinakailangan ang isang mabilis at kakayahang umangkop na solusyon. Ang iba pang tool, ang Selenium ay magiging mas mahusay na pagpipilian kapag may pangangailangan para sa mobile application at pagsubok ng application ng cross-platform. Mag-click dito upang malaman ang Selenium mula sa LambdaGeeks.

Paghihinuha:

Sa panimulang artikulong ito sa Puppeteer Tutorial, natutunan namin ang tungkol sa pangkalahatang-ideya ng Puppeteer Web Scraping at pangkalahatang-ideya ng Puppeteer Test Automation. Malalaman namin ang tungkol sa sunud-sunod na gabay upang mai-install ang Puppeteer at magpatupad ng isang maliit na script sa susunod na artikulo ng Puppeteer. Paki-klik dito upang bisitahin ang sanggunian portal para sa Puppeteer Tutorial na ito.

Tungkol kay K Mondal

Puppeteer Web Scraping and Test Automation - Isang Mahusay na Gabay sa Pag-aaral ng Puppeteer Tutorial 3Kumusta, ako si K. Mondal, naiugnay ako sa isang nangungunang samahan. Mayroon akong 12+ taon na karanasan sa pagtatrabaho sa mga domain hal, pag-unlad ng application, pagsubok sa automation, IT Consultant. Lubhang interesado akong matuto ng iba't ibang mga teknolohiya. Narito ako upang matupad ang aking hangarin at kasalukuyang nagbibigay ng kontribusyon bilang isang May-akda at Developer ng Website kapwa sa LambdaGeeks.
Kumonekta sa LinkedIn- https://www.linkedin.com/in/kumaresh-mondal/

Mag-iwan ng komento

Ang iyong email address ay hindi ilalathala. Ang mga kailangang field ay may markang *

en English
X