কুকুরছানা অটোমেশন পরীক্ষা - পুতুল টিউটোরিয়াল 6 এর একটি দুর্দান্ত গাইড Guide

পুতুল অটোমেশন পরীক্ষা - বৈশিষ্ট্য চিত্র

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

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

টসকা টিউটোরিয়াল # 1: কুকুরছানা ওভারভিউ

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

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

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

টোসকা অভিভাবকসংবঁধীয় #5: নমুনা পপিটার প্রকল্প

টসকা টিউটোরিয়াল # 6: পুতুল অটোমেশন টেস্টিং

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

Pu পুতুল ইনস্টল করুন

Application ওয়েব অ্যাপ্লিকেশন চালু করুন

The ক্রোম ব্রাউজার থেকে বস্তুর বৈশিষ্ট্যগুলি শনাক্ত করুন

· ফর্ম জমা দেওয়ার পদক্ষেপ - পাঠ্য প্রবেশ করুন, ইভেন্ট ক্লিক করুন, যাচাইকরণ করুন

· স্ক্রিনশট ক্যাপচার

Pu পপিটার অটোমেশনের জন্য স্ক্রিপ্টগুলি কার্যকর করুন

পুতুল অটোমেশন

সফ্টওয়্যার পণ্যগুলির মান নিশ্চিত করার জন্য পরীক্ষার প্রয়োজন। সফ্টওয়্যার বিকাশ প্রক্রিয়াগুলিতে একাধিক স্তরের পরীক্ষার সংজ্ঞা দেওয়া আছে। একটি সফ্টওয়্যার এর কার্যকারিতা পরীক্ষা করার জন্য, ম্যানুয়ালি বা স্বয়ংক্রিয় প্রক্রিয়া মাধ্যমে করা যেতে পারে। স্বয়ংক্রিয় সফ্টওয়্যার পরীক্ষার মূল উদ্দেশ্যগুলি হ'ল -

  • দ্রুত পরীক্ষা কার্যকর করার চক্র।
  • মানুষের ত্রুটির সম্ভাবনাগুলি এড়িয়ে চলুন।
  • পরীক্ষার কার্যকর করার সময় হ্রাস করুন।
  • মুক্তির চক্র সময় হ্রাস করুন।
  • মানের সাথে আপোস করার সাথে আরও কার্যকারিতা আটকান।
  • সমান্তরালভাবে একাধিক সম্পাদন করা যেতে পারে।

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

পুতুল অটোমেশন পরীক্ষার পদ্ধতি:

পপিটার অটোমেশন পরীক্ষার সাথে জড়িত পদক্ষেপগুলি নীচে ব্যাখ্যা করা হয়েছে - 

পদক্ষেপ 1 # কার্যকরী পরীক্ষার পরিস্থিতি সনাক্ত করুন:

আমরা নীচের দৃশ্যের জন্য পপিটার অটোমেশন সম্পাদন করার ধাপে ধাপে পদ্ধতিটি দেখাব - 

Brow ওয়েব ব্রাউজারটি চালু করুন।

Amazon আমাজন ওয়েব অ্যাপ্লিকেশন আহবান করুন।

  • "টেস্টিং বুক" বইটি অনুসন্ধান করুন।
  • ফল থেকে কার্টে বইটি যুক্ত করুন।
  • কার্ট খুলুন এবং কার্টে বইটি পাওয়া যাচ্ছে কিনা তা পরীক্ষা করুন।
  • স্ক্রিন ক্যাপচার করুন এবং ব্রাউজারটি বন্ধ করুন।

পদক্ষেপ 2 # পুতুল ইনস্টল করুন এবং পরীক্ষার কেস তৈরি করুন:

একটি নির্দিষ্ট ফোল্ডারে একটি "খালি নমুনা_স্ক্রিপ্ট.জে" হিসাবে একটি খালি জাভাস্ক্রিপ্ট ফাইল তৈরি করুন। এখানে, আমরা রুট ফোল্ডারটি নমুনাপ্রজেক্ট হিসাবে বিবেচনা করব। পপিটিয়ার ইনস্টল করতে, আমরা কমান্ডটি ব্যবহার করব - "এনপিএম ইনস্টল পুতুল"। নেটওয়ার্ক গতির উপর ভিত্তি করে ইনস্টলেশন পদ্ধতিটি কিছুটা সময় নেয়। এটি প্রায় 350MBs ডেটা ডাউনলোড করবে। ইনস্টলেশনের পরে, নোড_মডিউলগুলি ফোল্ডার, যার মধ্যে বিভিন্ন কুকুরছানা উপাদান এবং প্যাকেজ-লক.জসন ফাইল রয়েছে, সেটিকে নমুনা পুতুলের প্রকল্পের মূল ফোল্ডারে তৈরি করা হবে।

স্টিপি 3 # টেস্ট অবজেক্টের ক্যাপচার আইডেন্টিফিকেশন প্রপার্টি:

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

1. খুলুন বিকাশকারী সরঞ্জাম যা "মেনু -> আরও সরঞ্জাম" এর অধীনে উপলভ্য, এবং উপাদান ট্যাবে যান go

২. ফাইন্ডার সরঞ্জামটি ব্যবহার করে (উপাদানগুলির ট্যাবটির বাম শীর্ষে থাকা তীর আইকনটিতে ক্লিক করা), অ্যাপ্লিকেশন থেকে পরীক্ষার বিষয়টিকে হাইলাইট করুন। এখানে, আমরা অনুসন্ধান বাক্সটি পরিদর্শন করব।

পুতুলের অটোমেশন পরীক্ষা - ক্রোম বিকাশকারী সরঞ্জামটি খুলুন
পুতুলের অটোমেশন পরীক্ষা - ক্রোম বিকাশকারী সরঞ্জামটি খুলুন

3. ইচ্ছা বৈশিষ্ট্যগুলি চিহ্নিত করতে হাইলাইটেড উত্স কোডটি বিশ্লেষণ করুন। পরীক্ষার অবজেক্টের এক্সপ্যাথ সম্পত্তি পাওয়ার জন্য, হাইলাইট করা অংশটিতে ডান ক্লিক করুন এবং ক্লিপবোর্ডে এক্সপ্যাথ সম্পত্তি অনুলিপি করতে "অনুলিপি>> অনুলিপি করুন" ক্লিক করুন।

পুতুলের অটোমেশন পরীক্ষা - এক্সপথ অনুলিপি করুন
পুতুলের অটোমেশন পরীক্ষা - এক্সপথ অনুলিপি করুন

৪. এখন, ফাইন্ডার টেক্সটবক্সে এক্সপথটি পেস্ট করুন এবং এক্সপাথটি অনন্যভাবে সনাক্ত করে কিনা তা পরীক্ষা করতে এন্টার টিপুন।

পুতুলের অটোমেশন পরীক্ষা - এক্সপথ পরীক্ষা করুন
পুতুলের অটোমেশন পরীক্ষা - এক্সপথ পরীক্ষা করুন

৫. একইভাবে, আমাদের অন্য পরীক্ষার অবজেক্টের জন্য সনাক্তকরণের বৈশিষ্ট্যও ক্যাপচার করতে হবে।

পদক্ষেপ 4 # কুকুরছানা অটোমেশন বিকাশ পদক্ষেপ:

পরীক্ষার কেসটি সম্পন্ন করার জন্য, আমাদের ওয়েব পৃষ্ঠাগুলিতে কিছু নির্দিষ্ট অপারেশন করা দরকার। অপারেশন প্রতিটি জন্য, বিভিন্ন পদ্ধতি উপলব্ধ। "পপিটার অটোমেশন টেস্টিং" এর জন্য আমাদের দৃশ্যে যে পদ্ধতিগুলি ব্যবহার করা হয় সেগুলি এখানে ব্যাখ্যা করা হয়েছে।

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

//Include the puppeteer package
const puppeteer = require('puppeteer'); 
 (async () => {
    //launching the headless browser
    const browser = await puppeteer.launch({ headless: true });
   //Create instance of the browser
    const page = await browser.newPage();
   //Navigate to the url
    await page.goto('https://www.amazon.in/');
  })()

পুরো টেস্টিং একটি হেডলেস ব্রাউজারে করা হবে। আমরা যদি হেডফুল ব্রাউজারটি খুলতে চাই তবে আমাদের লঞ্চ পদ্ধতিতে অবজেক্টটি পাস করতে হবে "{মাথাহীন: মিথ্যা}"।

অস্তিত্ব পরীক্ষা করুন - আমাদের পদ্ধতিটি ব্যবহার করা দরকার পেজ.ওয়েট ফরেক্সপথ ath যা এক্সপথের অস্তিত্ব পরীক্ষা করে পরীক্ষা পরীক্ষার রেফারেন্সটি ফিরিয়ে দেবে। রিটার্নের রেফারেন্সটি পরীক্ষা করে আমরা পরীক্ষার ক্ষেত্রে একটি যাচাই পয়েন্ট যুক্ত করতে পারি।

	let searchBox = await page.waitForXPath("//*[@id='twotabsearchtextbox']",{ visible: true });
	if (searchBox === null) //Verification of the test object
	{
		console.log('Amazon screen is not displayed');
	}

তথ্য দিন - ব্যবহার করে আদর্শ যে অবজেক্ট রেফারেন্স পদ্ধতি, আমরা পাঠ্য প্রবেশ করতে পারেন।

await searchBox.type("Testing Book");

এলিমেন্টে ক্লিক করুন  - একইভাবে, ব্যবহার করে ক্লিক যে কোনও অবজেক্ট রেফারেন্সের পদ্ধতি, আমরা ক্লিক অপারেশন করতে পারি।

let btnSearch = await page.waitForXPath("//*/input[@id='nav-search-submit-button']",{visible:true });
btnSearch.click();

কনসোলে বার্তা প্রিন্ট করুন  - পদ্ধতিটি ব্যবহার করে কনসোল.লগ, আমরা কনসোলের আউটপুট হিসাবে কোনও বার্তা মুদ্রণ করতে পারি।

console.log(‘Console lag has been generated’);

নতুন ট্যাব দেখুন - পদ্ধতি ব্যবহার করে page.target এবং browser.waitforTarget, আমরা নতুন ট্যাব সম্পর্কিত রেফারেন্সটি ভেরিয়েবলের মধ্যে পরীক্ষা করতে এবং সঞ্চয় করতে পারি।

	const pageTarget = page.target();
	const newTarget = await browser.waitForTarget(target => target.opener() === pageTarget);
	//get the new page object:
	const page2 = await newTarget.page();

স্ক্রিনশট ক্যাপচার করুন - পদ্ধতিটি ব্যবহার করে পৃষ্ঠা স্ক্রিনশট, যুক্তি হিসাবে প্রদত্ত ফাইলের নাম অনুসারে নির্দিষ্ট পৃষ্ঠার একটি স্ন্যাপশট নেওয়া হয়েছে এবং সংরক্ষণ করা হয়েছে।

await page.screenshot({ path: ‘screenshot1.png’ });

পৃষ্ঠা এবং ব্রাউজার বন্ধ করুন - পদ্ধতিটি ব্যবহার করে ঘনিষ্ঠ, আমরা ওয়েব পৃষ্ঠা এবং ব্রাউজার উভয়ই বন্ধ করতে পারি।

	await page.close();
	await browser.close();

অপেক্ষা করুন সময় - নির্দিষ্ট ক্ষেত্রে পৃষ্ঠার লোডিং বা কোনও নির্ভরশীল কাজ শেষ করার জন্য অপেক্ষা করা প্রয়োজন; আমাদের একটি পূর্বনির্ধারিত সময়ের জন্য কার্যকর করতে বিরতি দেওয়া দরকার। এটি সম্পাদন করতে, আমরা ব্যবহার করতে পারি পেজ.ওয়েটফোরটাইমআউট পদ্ধতি যা আর্গুমেন্টের মাধ্যমে পাস করা মান (মিলি-সেকেন্ডে) এর উপর ভিত্তি করে নির্বাহকে বিরতি দিতে পারে।

await page.waitForTimeout(2000);

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

/**
 * @name Amazon search
 */
const puppeteer = require('puppeteer');
const reportPath = 'C:\\LambdaGeeks\\puppteer_proj_sample\\output\\';
const screenshot = 'screen1.png';
// Used to export the file into a .docx file
try {
  (async () => {
    const browser = await puppeteer.launch({ headless: false });
    const pageNew = await browser.newPage()
    await pageNew.setViewport({ width: 1280, height: 800 });
    await pageNew.goto('https://www.amazon.in/');
	//Enter Search criteria
	let searchBox = await page.waitForXPath("//*[@id='twotabsearchtextbox']",{ visible: true });
	if (searchBox === null)
	{
		console.log('Amazon screen is not displayed');
	}
	else{		
		await searchBox.type("Testing Book");
		console.log('Search criteria has been entered');
	} 		
	//Clicked on search button
	let btnSearch = await pageNew.waitForXPath("//*/input[@id='nav-search-submit-button']",{ visible: true });
	if (btnSearch === null)
	{
		console.log('Search button is not showing');
	}
	else{
		await btnSearch.click();
		console.log('Clicked on search button');
	}	
	//Click on specific search result
	let myBook = await pageNew.waitForXPath("//*[contains(text(),'Selenium Testing Tools Cookbook Second Edition')]",{ visible: true })
	if (myBook === null)
	{
		console.log('Book is not available');
	}
	else{
		await myBook.click();
		console.log('Click on specific book to order');
	} 	
	// Identify if the new tab has opened
	const pageTarget = pageNew.target();
	const newTarget = await browser.waitForTarget(target => target.opener() === pageTarget);
	//get the new page object:
	const page2 = await newTarget.pageNew();	
	await page2.setViewport({ width: 1280, height: 800 });
	
	//Add to cart
	let addToCart = await page2.waitForXPath("//*/input[@id='add-to-cart-button']",{ visible: true });
	if (addToCart === null)
	{
		console.log('Add to cart button is not available');
	}
	else{
		console.log('Click on add to Cart button');
		await addToCart.click();		
	} 		
	//Verify add to cart process	
	let successMessage = await page2.waitForXPath("//*[contains(text(),'Added to Cart')]",{ visible: true });
	if (successMessage === null)
	{
		console.log('Item is not added to cart');
	}
	else{
		console.log('Item is added to cart successfully');		
	} 		
	// Capture no of cart
	let cartCount = await page2.waitForXPath("//*/span[@id='nav-cart-count']",{ visible: true});
	let value = await page2.evaluate(el => el.textContent, cartCount)
	console.log('Cart count: ' + value);
	cartCount.focus();
	await page2.screenshot({ path: screenshot });
	
	await pageNew.waitForTimeout(2000);    
	await page2.close();
	await pageNew.close();
    await browser.close();
  })()
} catch (err) {
  console.error(err)
}

পদক্ষেপ 5 # পপিটার অটোমেশন টেস্ট কার্যকর:

কমান্ড ব্যবহার করে আমরা এক্সিকিউশনটি শুরু করতে পারি নোড নমুনা_স্ক্রিপ্ট.জেএস কমান্ড প্রম্পট মাধ্যমে। কার্যকর করার সময়, ক্রোমিয়াম ব্রাউজারটি খোলা হবে এবং স্বয়ংক্রিয়ভাবে কার্যকরী পদক্ষেপগুলি সম্পাদন করবে এবং চূড়ান্ত পৃষ্ঠার স্ক্রিনশট সংরক্ষণ করবে। স্ক্রিনশট এবং কনসোল আউটপুট নীচের মত দেখতে হবে।

পুতুলের অটোমেশন পরীক্ষা - কনসোল আউটপুট
পুতুলের অটোমেশন পরীক্ষা - কনসোল আউটপুট
পুতুল অটোমেশন পরীক্ষা - ক্যাপচার স্ক্রিন
পুতুল অটোমেশন পরীক্ষা - ক্যাপচার স্ক্রিন

উপসংহার:

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

কে মন্ডল সম্পর্কে

কুকুরছানা অটোমেশন পরীক্ষা - পুতুল টিউটোরিয়াল 6 এর একটি দুর্দান্ত গাইড Guideহাই, আমি কে মন্ডল, আমি একটি শীর্ষস্থানীয় প্রতিষ্ঠানের সাথে যুক্ত। আমি ডোমেন জুড়ে 12+ বছরের কাজের অভিজ্ঞতা রাখছি যেমন, অ্যাপ্লিকেশন বিকাশ, অটোমেশন টেস্টিং, আইটি পরামর্শদাতা। আমি বিভিন্ন প্রযুক্তি শিখতে খুব আগ্রহী। আমি আমার আকাঙ্ক্ষা পূরণ করতে এবং বর্তমানে ল্যাম্বডিজিক্সে দুজনেই একজন লেখক এবং ওয়েবসাইট বিকাশকারী হিসাবে অবদান রাখছি।
লিংকডইন- https://www.linkedin.com/in/kumaresh-mondal/ এ সংযুক্ত করুন

মতামত দিন

আপনার ইমেইল প্রকাশ করা হবে না। প্রয়োজনীয় ক্ষেত্রগুলি * চিহ্নিত করা আছে।

en English
X