የአሻንጉሊት ድር መቧጨር እና አውቶማቲክ ሙከራ - እጅግ በጣም ጥሩ የአሻንጉሊት ማጠናከሪያ ትምህርት 3

በአሁኑ ጊዜ፣ ፑፕቴር እንደ ድር መፋቂያ መሳሪያ የበለጠ ትኩረት እያገኘ ነው። በቀላልነቱ ምክንያት፣ እንደ ክፍት ምንጭ መሳሪያ መገኘቱ እና ነጠላ ገፅ መተግበሪያን የማዳበር ችሎታ፣ ፑፔተር ተወዳጅነትን እያገኘ ነው። በPuppeteer web scraping tool ላይ መማር ከመጀመራችን በፊት የትእዛዝ መስመርን፣ ጃቫስክሪፕትን እና HTML DOM መዋቅርን መሰረታዊ ግንዛቤ ሊኖረን ይገባል። የ የአሻንጉሊት ትምህርት ከታች ባለው የይዘት ሠንጠረዥ ውስጥ በተገለጹት ጥቂት መጣጥፎች ተከፋፍሏል።

የአሻንጉሊት ትምህርት

Tosca አጋዥ ትምህርት #1፡ የአሻንጉሊቶች አጠቃላይ እይታ

ቶስካ ማጠናከሪያ ትምህርት #2: የአሻንጉሊት አካባቢ ተለዋዋጮች

ቶስካ ማጠናከሪያ ትምህርት #3: የአሻንጉሊት ድር መቧጨር እና የአሻንጉሊት ሙከራ አውቶሜሽን አጠቃላይ እይታ

ቶስካ ማጠናከሪያ ትምህርት #4: Puppeteer ጫን 

በዚህ ጽሑፍ ውስጥ የ የአሻንጉሊት ትምህርት, ስለ Puppeteer Web Scraping በምሳሌ እና በአሻንጉሊት ሙከራ አውቶማቲክ አጠቃላይ እይታ እንነጋገራለን. 

የአሻንጉሊት ድር መቧጨር

ከማንኛውም ድረ-ገጾች የውሂብ ማውጣት ሂደት ዌብ መቧጨር ይባላል. የድረ-ገጽ መቧጨር ሁለት ደረጃዎች አሉት. በመጀመሪያ፣ ድረ-ገጹን ያፈልቃል ከዚያም ውሂቡን ያወጣል። ከውሂብ ማውጣት በኋላ ለማንኛውም ኤፒአይ ልንጠቀምበት ወይም በCSV ፋይል ውስጥ ልናከማች እንችላለን። 

አሻንጉሊቱ ጎግል ክሮም ወይም ክሮሚየም አሳሽ ድረ-ገጽ መቧጨርን የሚደግፉ ምርጥ መሳሪያዎች አንዱ ነው። የአሻንጉሊት ድር መቧጨር ከታች ካለው ምሳሌ ጋር በዝርዝር ተብራርቷል - 

መሰረታዊ የአሻንጉሊት ድር መቧጨር ምሳሌ፡-

ደረጃ 1# አሻንጉሊቱ በመስቀለኛ JS ላይብረሪ ላይ ይሰራል። ስለዚህ, የመጀመሪያው እርምጃ ለድር ስክሪፕት ስክሪፕት ከመጻፍዎ በፊት የአሻንጉሊት ቤተ-መጽሐፍትን ማካተት ነው.

const puppeteerObj = require("puppeteer");

ደረጃ 2# የአሻንጉሊት ክፍልን ካካተትን በኋላ የመጠባበቅ ቁልፍ ቃልን በመጠቀም የማመሳሰል ተግባር መፃፍ አለብን። አሻንጉሊት ተስፋዎችን ስለሚጠቀም ያስፈልጋል። ከዚያ አሳሹን ለመጥራት ወደ Puppeteer.launch() ዘዴ ይደውሉ እና የድረ-ገጽ ምሳሌ ለመፍጠር newPage() ዘዴን ይደውሉ።

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

ደረጃ 3# አሁን የሚፈለገውን ድረ-ገጽ URL ለማቅረብ ወደ page.goto() ዘዴ ይደውሉ።

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

ደረጃ 4# የማንኛውንም አካል ጽሁፍ ለማንሳት የስልት page.evaluate() ይጠቀሙ (በዚህ ምሳሌ ውስጥ የራስጌ ጽሑፍን እንይዛለን)። 

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

በሚመጣው አጋዥ ስልጠና ውስጥ ማንኛውንም ነገር ከድር ስክሪን እንዴት መለየት እንደሚቻል እንነጋገራለን ።

የአሻንጉሊት ማጠናከሪያ ትምህርት - የአሻንጉሊት ድር መቧጨር
የአሻንጉሊት ማጠናከሪያ ትምህርት - የአሻንጉሊት ድር መቧጨር

ደረጃ 5# በዚህ የመጨረሻ ደረጃ ውሂቡን ማካሄድ እና ከዚያም ድረ-ገጹን መዝጋት አለብን። ሙሉው የአሻንጉሊት ድረ-ገጽ Scraping ኮድ ከዚህ በታች ይመስላል -

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

ደረጃ 6# አሁን፣ ትዕዛዙን በመጠቀም ይህንን የአሻንጉሊት ድር መቧጠጫ ኮድ መፈጸም እንችላለን፡-  መስቀለኛ መንገድ index.js

ማስታወሻ: በሚቀጥለው ርዕስ "አሻንጉሊትን ጫን" ስለ ፑፕቴር መጫኛ ማዋቀር እንነጋገራለን እና ከላይ ያለውን የአሻንጉሊት ዌብ Scraping ኮድ እንፈጽማለን.

የአሻንጉሊት ሙከራ አውቶሜሽን አጠቃላይ እይታ

ከድር መፋቅ በተጨማሪ፣ አሻንጉሊቱ ከዚህ በታች ያሉትን ተግባራት የማከናወን ባህሪያት አሉት።

  • የድረ-ገጾችን ቅጽበታዊ ገጽ እይታዎችን ያንሱ።
  • የድረ-ገጹን ስክሪን እንደ pdf ፋይል አድርገን ማስቀመጥ እንችላለን።
  • የUI ሙከራን ለማካሄድ በእጅ የሚደረጉ እርምጃዎችን በራስ-ሰር ማድረግ ይቻላል።

ስለዚህ, ሁሉንም ከላይ ያሉትን ባህሪያት በማጣመር, ለሙከራ አውቶማቲክ ፑፔተርን መጠቀም እንችላለን. የአሻንጉሊት ሙከራ አውቶሜሽን ለመረዳት በመጀመሪያ፣ የሶፍትዌር ሙከራን በደንብ ማወቅ አለብን።

አጠቃላይ እይታን በመሞከር ላይ፡

ሁሉም የሶፍትዌር መስፈርቶች ከማንኛውም ችግር ጋር መሟላታቸውን ለማረጋገጥ መሞከር ያስፈልጋል። ከሶፍትዌር ልማት ሂደት መጀመሪያ ጀምሮ የተለያዩ አይነት የሙከራ ዑደቶች ይገኛሉ። ሶፍትዌሮች በእጅ ወይም በአውቶሜትድ አካሄድ ሊሞከሩ ይችላሉ።

የሶፍትዌር ሙከራ ዓላማዎች-

  • የምርቶቹን ጥራት ያረጋግጡ.
  • ከምርት ማሰማራቱ በፊት የምርቱን ስህተቶች ይፈልጉ።
  • መስፈርቶችን ማጣራት ተሟልቷል.
  • የምርቱን አፈፃፀም በመሞከር ላይ።

የፈተና ዓይነቶች እዚህ ተብራርተዋል-

የክፍል ሙከራ - ገንቢዎቹ በኮድ ልማት ደረጃ ላይ የክፍል ሙከራን የማካሄድ ኃላፊነት አለባቸው።

የውህደት ሙከራ - ይህ ሙከራ የሚፈለገው የሶፍትዌር ምርቱን የተለያዩ ክፍሎች ካዋሃደ በኋላ ነው። ዋናው ዓላማ ሁሉም በይነገጾች በተቃና ሁኔታ መስራታቸውን ማረጋገጥ ነው.

የስርዓት ሙከራ - ሁሉም መስፈርቶች መሟላታቸውን ለማረጋገጥ ከውህደቱ በኋላ መደረግ ያለበት ዝርዝር ሙከራ ነው።

የተጠቃሚ ተቀባይነት ሙከራ – እንዲሁም ጥራቱን ለማረጋገጥ በምርቱ የመጨረሻ ተጠቃሚ መደረግ ያለበት ዝርዝር ሙከራ ነው።

የድጋሚ ሙከራ - በማንኛውም የሶፍትዌር ማሻሻያዎች ወቅት ዋናው የሥራ ሂደት በተቀላጠፈ ሁኔታ መስራቱን ለማረጋገጥ ያስፈልጋል።

የሙከራ አውቶማቲክ ጥቅሞች

  • የማስፈጸሚያ ዑደቱን ይቀንሱ.
  • የሰዎች ስህተቶችን እድሎች ያስወግዱ.
  • የሙከራ አፈፃፀም ጥረቶችን ይቀንሱ።
  • ፈጣን የሶፍትዌር መለቀቅ።
  • አደጋውን ለመቀነስ የሙከራ ሽፋንን ይጨምሩ።
  • ትይዩ የማስፈጸም ችሎታ.

ለምን አሻንጉሊት?

በChrome አሳሽ ውስጥ የሚከናወኑ አብዛኛዎቹ የእጅ ሥራዎች ፑፔተርን በመጠቀም በራስ ሰር ሊሠሩ ይችላሉ። ስለዚህ፣ አሻንጉሊቱ ፈጣን እና ቀላል በሆነ መንገድ በድር መተግበሪያዎች ላይ ለአሃድ ሙከራ ጥሩ ምርጫ ነው። 

ገደቦች የ አሻንጉሊት እንደ አውቶሜሽን መሞከሪያ መሳሪያ ናቸው-

  • Chrome እና Chromium አሳሽን ብቻ ነው የሚደግፈው።
  • የኮስ-አሳሽ ሙከራ ማድረግ አይቻልም።
  • የሞባይል ሙከራ ማድረግ አይቻልም።

ጭንቅላት የሌለው የChrome ሙከራ፡-

ጭንቅላት የሌለው አሳሽ ማለት አሻንጉሊቱ ከ chrome አሳሽ ጋር እንደ የጀርባ አፕሊኬሽን እየተገናኘ ነው ማለት ነው፣ ይህ ማለት የchrome UI በስክሪኑ ላይ አይታይም። ስለዚህ፣ ጭንቅላት የሌለው የ chrome ሙከራ ማለት አውቶሜሽን ሙከራው በተደበቀ አሳሽ ውስጥ መከናወን አለበት። እንዲሁም፣ ጭንቅላት ከሌለው የ chrome ሙከራ በኋላ፣ አሻንጉሊቱ የድረ-ገጽ ስክሪን በትክክል ማንሳት ይችላል።

ፑፔተር vs ሴሊኒየም

የአሻንጉሊት ማጠናከሪያ ትምህርት - Puppeteer vs Selenium
ቡችላ አጋዥ ስልጠና - Puppeteer vs Selenium

በ Puppeteer እና Selenium መካከል ያለው ንፅፅር እንደ አውቶሜሽን መሞከሪያ መሳሪያ ከዚህ በታች ተብራርቷል -

  • የፕሮግራም አወጣጥ ቋንቋ ድጋፍ - Puppeteer ሴሌኒየም Java፣ Python፣ Node.js እና C# ቋንቋዎችን የሚደግፍበት ጃቫ ስክሪፕት ብቻ ነው የሚደግፈው።
  • የአሳሽ ድጋፍ - Puppeteer የሚመለከተው ለ Chrome ወይም Chromium አሳሽ ብቻ ነው፣ ነገር ግን ሴሊኒየም Chrome፣ Mozilla፣ Safari፣ IE፣ Opera አሳሾችንም ይደግፋል።
  • የማህበረሰብ ድጋፍ - የማህበረሰብ ድጋፍ ለGoogle ቡድኖች፣ GitHub እና Stack Overflow ለአሻንጉሊት ተገድቧል። ነገር ግን ለሴሊኒየም, በበርካታ መድረኮች ላይ ሰፊ የማህበረሰብ ድጋፍ አለ.
  • የማስፈጸሚያ ፍጥነት - የአሻንጉሊት ስክሪፕት አፈፃፀም ከሴሊኒየም የበለጠ ፈጣን ነው።
  • መጫን እና ማዋቀር - የአሻንጉሊት መትከል እና ማዋቀር የበለጠ ቀላል እና ቀላል ሂደት ነው።
  • መድረክ ተሻጋሪ ድጋፍ - አሻንጉሊት አይደግፈውም, ነገር ግን ሴሊኒየም ይችላል.
  • መቅዳት - የመቅዳት ባህሪያት በፑፔተር ውስጥ አይገኙም። ግን ይህ ባህሪ ለሴሊኒየም አይዲኢ ይገኛል።
  • ቅጽበታዊ ገጽ እይታዎች - Puppeteer ሴሌኒየም የምስል ቅርፀትን ብቻ የሚደግፍበት እንደ ምስል ወይም ፒዲኤፍ ቅርጸት ቅጽበታዊ ገጽ እይታን የማንሳት ችሎታ አለው።
  • የፕላትፎርም ድጋፍን በመሞከር ላይ - አሻንጉሊት የሚደግፈው የድር አሳሾችን ብቻ ነው፣ ነገር ግን ሴሊኒየም ድርን እና አውቶማቲክ ማድረግ ይችላል። ሞባይል ከ Appium ጋር.
  • ኮድ የማድረግ ችሎታዎች- ለ Puppeteer Selenium ድር ሾፌር ግን ለሴሊኒየም አይዲኢ አያስፈልግም።

ከላይ ካለው ንፅፅር በመነሳት ፈጣን እና ተለዋዋጭ መፍትሄ በሚያስፈልግበት ለማንኛውም የድረ-ገጽ አፕሊኬሽን የዩኒት ደረጃ ፍተሻ ማድረግ ሲገባን ፑፔተር ምርጡን ምርጫ ያደርጋል ብለን መደምደም እንችላለን። ሌላኛው መሳሪያ ሴሊኒየም የሞባይል አፕሊኬሽን እና የመስቀለኛ መንገድ ፍላጎት በሚኖርበት ጊዜ የተሻለ ምርጫ ይሆናል የመተግበሪያ ሙከራ. ጠቅ ያድርጉ እዚህ ከላምብዳጊክስ ሴሊኒየምን ለመማር።

ማጠቃለያ:

በዚህ የመግቢያ መጣጥፍ ላይ የአሻንጉሊት ትምህርት፣ ስለ Puppeteer Web Scraping እና Puppeteer Test Automation አጠቃላይ እይታ ተምረናል። በሚቀጥለው የአሻንጉሊት መጣጥፍ ውስጥ ፑፕፔርን ለመጫን እና ትንሽ ስክሪፕት ለመጫን ስለ ደረጃ በደረጃ መመሪያ እንማራለን. እባክዎን ጠቅ ያድርጉ እዚህ የዚህን የአሻንጉሊት ማጠናከሪያ ትምህርት ማመሳከሪያውን ለመጎብኘት.

አስተያየት ውጣ

የእርስዎ ኢሜይል አድራሻ ሊታተም አይችልም. የሚያስፈልጉ መስኮች ምልክት የተደረገባቸው ናቸው, *

ወደ ላይ ሸብልል