পাপেটিয়ার ওয়েব স্ক্র্যাপিং এবং টেস্ট অটোমেশন – পাপেটিয়ার টিউটোরিয়াল 3-এর একটি চমৎকার শেখার গাইড

আজকাল, পাপেটিয়ার একটি ওয়েব স্ক্র্যাপিং টুল হিসাবে আরও মনোযোগ পাচ্ছে। সরলতা, একটি ওপেন-সোর্স টুল হিসাবে উপলব্ধতা এবং একক পৃষ্ঠা অ্যাপ্লিকেশন বিকাশের ক্ষমতার কারণে, পাপেটিয়ার জনপ্রিয়তা পাচ্ছে। Puppeteer ওয়েব স্ক্র্যাপিং টুলে শেখা শুরু করার আগে, আমাদের কমান্ড লাইন, জাভাস্ক্রিপ্ট এবং HTML DOM গঠন সম্পর্কে প্রাথমিক ধারণা থাকা উচিত। দ্য পুতুল টিউটোরিয়াল কয়েকটি নিবন্ধে বিভক্ত করা হয়েছে যা নীচের বিষয়বস্তুর সারণীতে উল্লেখ করা হয়েছে।

পুতুল টিউটোরিয়াল

Tosca টিউটোরিয়াল #1: পুতুল ওভারভিউ

টোসকা অভিভাবকসংবঁধীয় #2: পুতুল পরিবেশের ভেরিয়েবল

টোসকা অভিভাবকসংবঁধীয় #3: পাপেটিয়ার ওয়েব স্ক্র্যাপিং এবং পাপেটিয়ার টেস্ট অটোমেশন ওভারভিউ

টোসকা অভিভাবকসংবঁধীয় #4: Puppeteer ইনস্টল করুন 

এই নিবন্ধে পুতুল টিউটোরিয়াল, আমরা একটি উদাহরণ এবং পাপেটিয়ার টেস্ট অটোমেশন ওভারভিউ সহ পাপেটিয়ার ওয়েব স্ক্র্যাপিং নিয়ে আলোচনা করব। 

Puppeteer ওয়েব স্ক্র্যাপিং

যেকোন ওয়েব পেজ থেকে ডেটা বের করার প্রক্রিয়াকে ওয়েব স্ক্র্যাপিং বলা হয়। ওয়েব স্ক্র্যাপিং এর দুটি ধাপ রয়েছে। প্রথমত, এটি ওয়েব পৃষ্ঠা নিয়ে আসে এবং তারপর ডেটা বের করে। ডেটা নিষ্কাশনের পরে, আমরা এটিকে যেকোনো API-এর জন্য ব্যবহার করতে পারি বা একটি CSV ফাইলে সংরক্ষণ করতে পারি। 

গুগল ক্রোম বা ক্রোমিয়াম ব্রাউজারের জন্য ওয়েব স্ক্র্যাপিং সমর্থন করার জন্য পাপেটিয়ার অন্যতম সেরা সরঞ্জাম। পুতুলের ওয়েব স্ক্র্যাপিং নীচের উদাহরণের সাথে বিশদভাবে ব্যাখ্যা করা হয়েছে - 

বেসিক পাপেটিয়ার ওয়েব স্ক্র্যাপিং উদাহরণ:

ধাপ 1# পাপেটিয়ার নোড জেএস লাইব্রেরিতে কাজ করে। সুতরাং, প্রথম ধাপ হল ওয়েব স্ক্র্যাপিংয়ের জন্য স্ক্রিপ্ট লেখার আগে পুতুল লাইব্রেরি অন্তর্ভুক্ত করা।

const puppeteerObj = require("puppeteer");

ধাপ 2# Puppeteer ক্লাস অন্তর্ভুক্ত করার পরে, await কীওয়ার্ড ব্যবহার করে আমাদের একটি async ফাংশন লিখতে হবে। Puppeteer প্রতিশ্রুতি ব্যবহার করে এটি প্রয়োজনীয়। তারপরে ব্রাউজার চালু করতে 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# এই শেষ ধাপে, আমাদের ডেটা প্রক্রিয়া করতে হবে এবং তারপর ওয়েব পৃষ্ঠাটি বন্ধ করতে হবে। সম্পূর্ণ পাপেটিয়ার ওয়েব স্ক্র্যাপিং কোডটি নীচের মত দেখাবে -

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# এখন, আমরা কমান্ডটি ব্যবহার করে এই পুতুলের ওয়েব স্ক্র্যাপিং কোডটি কার্যকর করতে পারি:  নোড সূচক.জেএস

বিঃদ্রঃ: পরবর্তী নিবন্ধে, "পাপেটিয়ার ইনস্টল করুন," আমরা পাপেটিয়ারের ইনস্টলেশন সেটআপ নিয়ে আলোচনা করব এবং উপরের পাপেটিয়ার ওয়েব স্ক্র্যাপিং কোডটি কার্যকর করব।

পাপেটিয়ার টেস্ট অটোমেশন ওভারভিউ

ওয়েব স্ক্র্যাপিং ছাড়াও, পাপেটিয়ারের নিম্নলিখিত ক্রিয়াকলাপগুলি সম্পাদন করার বৈশিষ্ট্য রয়েছে,

  • ওয়েব পেজের স্ক্রিনশট ক্যাপচার করুন।
  • আমরা ওয়েব পেজের স্ক্রিনটিকে পিডিএফ ফাইল হিসাবে সংরক্ষণ করতে পারি।
  • UI পরীক্ষা করার জন্য ম্যানুয়াল পদক্ষেপগুলির অটোমেশন অর্জন করা যেতে পারে।

সুতরাং, উপরের সমস্ত বৈশিষ্ট্যগুলিকে একত্রিত করে, আমরা পরীক্ষা অটোমেশনের জন্য Puppeteer ব্যবহার করতে পারি। পাপেটিয়ার টেস্ট অটোমেশন বোঝার জন্য, প্রথমে আমাদের সফ্টওয়্যার পরীক্ষার সাথে পরিচিত হতে হবে।

পরীক্ষার ওভারভিউ:

কোনো সমস্যা ছাড়াই সমস্ত সফ্টওয়্যার প্রয়োজনীয়তা পূরণ করা হয়েছে তা নিশ্চিত করার জন্য পরীক্ষার প্রয়োজন। সফ্টওয়্যার ডেভেলপমেন্ট প্রক্রিয়ার শুরু থেকে বিভিন্ন ধরণের পরীক্ষার চক্র পাওয়া যায়। সফ্টওয়্যারটি ম্যানুয়ালি বা স্বয়ংক্রিয় পদ্ধতির মাধ্যমে পরীক্ষা করা যেতে পারে।

সফটওয়্যার পরীক্ষার উদ্দেশ্য হল-

  • পণ্যের গুণমান যাচাই করুন।
  • প্রোডাকশন ডিপ্লয়মেন্টের আগে প্রোডাক্টের বাগগুলি খুঁজুন।
  • প্রয়োজনীয়তা চেকিং সন্তুষ্ট হয়.
  • পণ্যের পারফরম্যান্স পরীক্ষা করা হচ্ছে।

পরীক্ষার ধরনগুলি এখানে ব্যাখ্যা করা হয়েছে -

অংশ পরিক্ষাকরণ - ডেভেলপাররা কোড ডেভেলপমেন্ট ফেজ চলাকালীন ইউনিট টেস্টিং করার জন্য দায়ী।

ইন্টিগ্রেশন টেস্টিং - সফ্টওয়্যার পণ্যের বিভিন্ন উপাদান একত্রিত করার পরে এই পরীক্ষার প্রয়োজন। মূল উদ্দেশ্য হল সমস্ত ইন্টারফেস মসৃণভাবে কাজ করছে তা নিশ্চিত করা।

সিস্টেম টেস্টিং - এটি একটি বিশদ পরীক্ষা যা ইন্টিগ্রেশনের পরে সমস্ত প্রয়োজনীয়তা পূরণ হয়েছে তা নিশ্চিত করার জন্য করতে হবে।

ব্যবহারকারীর গ্রহন নিরিক্ষা - এটি একটি বিশদ পরীক্ষা যা পণ্যের শেষ ব্যবহারকারীকে গুণমান নিশ্চিত করতে করতে হবে।

রিগ্রেসিং টেস্টিং - যেকোন সফ্টওয়্যার বর্ধনের সময় মূল ব্যবসায়িক প্রক্রিয়াটি মসৃণভাবে কাজ করছে তা নিশ্চিত করার জন্য এটি প্রয়োজনীয়।

টেস্ট অটোমেশনের সুবিধা:

  • মৃত্যুদন্ডের চক্র হ্রাস করুন।
  • মানুষের ভুলের সম্ভাবনা এড়িয়ে চলুন।
  • পরীক্ষা সম্পাদনের প্রচেষ্টাকে ন্যূনতম করুন।
  • দ্রুত সফ্টওয়্যার রিলিজ.
  • ঝুঁকি কমাতে পরীক্ষার কভারেজ বাড়ান।
  • সমান্তরাল মৃত্যুদন্ড সম্পাদন করার ক্ষমতা।

কেন পুতুল?

ক্রোম ব্রাউজারে সঞ্চালিত বেশিরভাগ ম্যানুয়াল অপারেশন পাপেটিয়ার ব্যবহার করে স্বয়ংক্রিয় হতে পারে। সুতরাং, Puppeteer হল ওয়েব অ্যাপ্লিকেশনের উপর দ্রুত এবং সহজ উপায়ে ইউনিট পরীক্ষার জন্য একটি ভাল পছন্দ। 

সীমাবদ্ধতা একটি অটোমেশন টেস্টিং টুল হিসাবে পুতুল হল -

  • শুধুমাত্র Chrome এবং Chromium ব্রাউজার সমর্থন করে।
  • Coss-ব্রাউজার পরীক্ষা করা সম্ভব নয়।
  • মোবাইল টেস্টিং করা যাবে না।

হেডলেস ক্রোম টেস্টিং:

হেডলেস ব্রাউজার মানে হল Puppeteer একটি ক্রোম ব্রাউজারের সাথে একটি ব্যাকগ্রাউন্ড অ্যাপ্লিকেশন হিসাবে ইন্টারঅ্যাক্ট করছে, যার মানে হল যে ক্রোম UI স্ক্রিনে দৃশ্যমান নয়। সুতরাং, হেডলেস ক্রোম টেস্টিং মানে অটোমেশন টেস্টিং একটি লুকানো ব্রাউজারে সঞ্চালিত হতে হবে। এছাড়াও, হেডলেস ক্রোম পরীক্ষার পরে, Puppeteer সঠিকভাবে ওয়েব স্ক্রিন ক্যাপচার করতে সক্ষম হয়।

পুতুল বনাম সেলেনিয়াম

অটোমেশন টেস্টিং টুল হিসাবে পাপেটিয়ার এবং সেলেনিয়ামের মধ্যে তুলনা নীচে ব্যাখ্যা করা হয়েছে -

  • প্রোগ্রামিং ভাষা সমর্থন - Puppeteer শুধুমাত্র জাভাস্ক্রিপ্ট সমর্থন করে, যেখানে সেলেনিয়াম Java, Python, Node.js, এবং C# ভাষা সমর্থন করে।
  • ব্রাউজার সাপোর্ট - Puppeteer শুধুমাত্র Chrome বা Chromium ব্রাউজারের জন্য প্রযোজ্য, কিন্তু সেলেনিয়াম Chrome, Mozilla, Safari, IE, Opera ব্রাউজারগুলিকেও সমর্থন করে।
  • সম্প্রদায় সমর্থন - পাপেটিয়ারের জন্য Google গ্রুপ, গিটহাব এবং স্ট্যাক ওভারফ্লোতে সীমাবদ্ধ সম্প্রদায় সমর্থন। কিন্তু সেলেনিয়ামের জন্য, একাধিক ফোরামে ব্যাপক সম্প্রদায়ের সমর্থন পাওয়া যায়।
  • সঞ্চালনের গতি- Puppeteer স্ক্রিপ্টের সম্পাদন সেলেনিয়ামের চেয়ে দ্রুত।
  • ইনস্টলেশন এবং সেটআপ - Puppeteer ইনস্টলেশন এবং সেটআপ একটি আরো সহজ এবং সহজ প্রক্রিয়া.
  • ক্রস-প্ল্যাটফর্ম সমর্থন - Puppeteer এটা সমর্থন করে না, কিন্তু সেলেনিয়াম পারে।
  • রেকর্ডিং - রেকর্ডিং বৈশিষ্ট্য Puppeteer-এ উপলব্ধ নেই। কিন্তু এই বৈশিষ্ট্যটি সেলেনিয়াম IDE-এর জন্য উপলব্ধ।
  • স্ক্রিনশট- Puppeteer এর একটি ইমেজ বা পিডিএফ ফরম্যাট হিসাবে একটি স্ক্রিনশট নেওয়ার ক্ষমতা রয়েছে, যেখানে সেলেনিয়াম শুধুমাত্র ইমেজ ফরম্যাট সমর্থন করতে পারে।
  • টেস্টিং প্ল্যাটফর্ম সমর্থন - পাপেটিয়ার শুধুমাত্র ওয়েব ব্রাউজার সমর্থন করে, তবে সেলেনিয়াম ওয়েব এবং স্বয়ংক্রিয়ভাবে কাজ করতে পারে অ্যাপিয়াম সহ মোবাইল.
  • কোডিং দক্ষতা - এটি Puppeteer সেলেনিয়াম ওয়েব ড্রাইভারের জন্য প্রয়োজন কিন্তু সেলেনিয়াম IDE এর জন্য নয়।

উপরের তুলনার উপর ভিত্তি করে, আমরা উপসংহারে পৌঁছাতে পারি যে Puppeteer সর্বোত্তম পছন্দ করবে যখন আমাদের যেকোনো ওয়েব অ্যাপ্লিকেশনের জন্য ইউনিট স্তরের পরীক্ষা করতে হবে যেখানে একটি দ্রুত এবং নমনীয় সমাধান প্রয়োজন। অন্য টুল, মোবাইল অ্যাপ্লিকেশন এবং ক্রস-প্ল্যাটফর্মের প্রয়োজন হলে সেলেনিয়াম হবে ভালো পছন্দ অ্যাপ্লিকেশন পরীক্ষা. ক্লিক এখানে LambdaGeeks থেকে সেলেনিয়াম শিখতে।

উপসংহার:

এই পরিচায়ক নিবন্ধে পুতুল টিউটোরিয়াল, আমরা পাপেটিয়ার ওয়েব স্ক্র্যাপিং এবং পাপেটিয়ার টেস্ট অটোমেশন ওভারভিউ সম্পর্কে শিখেছি। আমরা পাপেটিয়ার ইনস্টল করার জন্য ধাপে ধাপে নির্দেশিকা সম্পর্কে শিখব এবং পরবর্তী পাপেটিয়ার নিবন্ধে একটি ছোট স্ক্রিপ্ট কার্যকর করব। ক্লিক করুন এখানে এই Puppeteer টিউটোরিয়ালের জন্য রেফারেন্স পোর্টাল পরিদর্শন করুন।

মতামত দিন