ক্রোম দিয়ে অটোমেশন এবং টেস্টিং

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

এই সংক্ষিপ্ত বিবরণে ক্রোমের অটোমেশন এবং টেস্টিং ইকোসিস্টেমের মূল পণ্যগুলো— Chrome for Testing , ChromeDriver , Puppeteer , এবং Chrome Headless mode —এর সাথে পরিচয় করিয়ে দেওয়া হয়েছে এবং নির্ভরযোগ্য ও পুনরাবৃত্তিযোগ্য টেস্টিং ওয়ার্কফ্লোর জন্য কীভাবে এগুলোকে একসাথে ব্যবহার করা যায়, তা ব্যাখ্যা করা হয়েছে।


পরীক্ষার জন্য ক্রোম

Chrome for Testing হলো ক্রোমের একটি বিশেষ সংস্করণ, যা ওয়েব অ্যাপ টেস্টিং এবং অটোমেশনের কাজগুলোকে লক্ষ্য করে তৈরি করা হয়েছে।

এন্ড-টু-এন্ড টেস্ট স্যুট বা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পাইপলাইন চালানোর সময়, বারবার টেস্ট রানের পরেও প্রায়শই সামঞ্জস্যপূর্ণ ও পুনরুৎপাদনযোগ্য ফলাফলের প্রয়োজন হয়। সাধারণ ব্রাউজার ইনস্টলেশনের উপর নির্ভর না করে, Chrome for Testing আপনাকে আপনার টেস্ট এনভায়রনমেন্টের জন্য নির্দিষ্ট ক্রোম সংস্করণ ডাউনলোড এবং পিন করার সুবিধা দেয়।

মূল বৈশিষ্ট্য

  • চাহিদা অনুযায়ী সংস্করণযুক্ত ডাউনলোড: নির্দিষ্ট সংস্করণযুক্ত ক্রোম বাইনারিগুলো অ্যাক্সেস করুন, যাতে আপনি সর্বদা আপনার পছন্দের সঠিক সংস্করণটির সাথেই পরীক্ষা করতে পারেন।
  • বিভিন্ন চ্যানেলে জোড়া বাইনারি: সমস্ত চ্যানেলের ( Stable , Beta , Dev , এবং Canary ) প্রতিটি Chrome রিলিজের জন্য, Chrome for Testing প্রাসঙ্গিক ChromeDriver বাইনারিগুলির সাথে মিলে যাওয়া Chrome বাইনারি সরবরাহ করে। সেইসাথে, যারা এখনও স্বয়ংক্রিয় পরীক্ষায় এটি ব্যবহার করেন, তাদের জন্য পুরোনো Chrome Headless shell ( chrome-headless-shell )-ও প্রদান করা হয়।
  • সহজ ডাউনলোড অটোমেশন: @puppeteer/browsers কমান্ড-লাইন ইউটিলিটি ব্যবহার করে বাইনারিগুলো সহজেই ডাউনলোড করা যায় অথবা অ্যাভেইলেবিলিটি ড্যাশবোর্ডের মাধ্যমে সেগুলোর তথ্য জানা যায়।

আরও জানুন


ক্রোমড্রাইভার

ChromeDriver হলো একটি ওপেন-সোর্স স্বতন্ত্র সার্ভার যা W3C WebDriver স্ট্যান্ডার্ড এবং দ্বিমুখী WebDriver BiDi প্রোটোকল বাস্তবায়ন করে। এটি WebDriver-ভিত্তিক টেস্ট ফ্রেমওয়ার্ক (যেমন Selenium, WebDriverIO, এবং Nightwatch) এবং Chrome ব্রাউজারের মধ্যে সেতু হিসেবে কাজ করে।

মূল বৈশিষ্ট্য

  • W3C WebDriver এবং WebDriver BiDi সমর্থন: দ্রুত ইভেন্ট লিসেনিং, নেটওয়ার্ক মনিটরিং এবং লগ ইন্টারসেপশনের জন্য ক্লাসিক WebDriver অটোমেশন কমান্ড এবং WebDriver BiDi-এর মাধ্যমে রিয়েল-টাইম দ্বিমুখী যোগাযোগ উভয়ই সমর্থন করে।
  • Chrome for Testing-এর সাথে একত্রে প্রকাশিত: ChromeDriver রিলিজগুলো সরাসরি Chrome for Testing পরিকাঠামোর সাথে সমন্বিত। Chrome for Testing-এর প্রতিটি সংস্করণের জন্য, একটি সামঞ্জস্যপূর্ণ ChromeDriver সংস্করণ একই সাথে প্রকাশ করা হয়, যা সংস্করণ-অমিলের ঝামেলা দূর করে।

আরও জানুন


পুতুলনাচ শিল্পী

Puppeteer হলো গুগল দ্বারা তৈরি একটি জাভাস্ক্রিপ্ট লাইব্রেরি যা Chrome DevTools Protocol (CDP) বা WebDriver BiDi-এর মাধ্যমে Chrome নিয়ন্ত্রণ করার জন্য একটি উচ্চ-স্তরের API প্রদান করে।

মূল বৈশিষ্ট্য

  • কোনো সেটআপ ছাড়াই অটোমেশন: Puppeteer ডিফল্টরূপে স্বয়ংক্রিয়ভাবে পরীক্ষার জন্য একটি সামঞ্জস্যপূর্ণ Chrome বাইনারি ডাউনলোড করে, যা ইনস্টল করার সাথে সাথেই ব্রাউজার অটোমেশন সক্ষম করে।
  • ক্রোমের উপর সম্পূর্ণ নিয়ন্ত্রণ: হেডফুল বা হেডলেস মোডে সহজেই স্ক্রিনশট নিন, পিডিএফ তৈরি করুন, ফর্ম সাবমিশন স্বয়ংক্রিয় করুন, নেটওয়ার্ক রিকোয়েস্ট ইন্টারসেপ্ট করুন এবং UI টেস্ট চালান।

আরও জানুন


ক্রোম হেডলেস মোড

ক্রোম হেডলেস মোড আপনাকে কোনো দৃশ্যমান ইউজার ইন্টারফেস ছাড়াই একটি আনঅ্যাটেন্ডেড পরিবেশে ক্রোম চালানোর সুযোগ দেয়। কমান্ড লাইনে --headless ফ্ল্যাগটি ব্যবহার করে সার্ভার এনভায়রনমেন্ট, কন্টেইনার এবং CI/CD পাইপলাইনে ক্রোম নির্বিঘ্নে চলে।

মূল বৈশিষ্ট্য

  • একীভূত ব্রাউজার ইঞ্জিন: মডার্ন হেডলেস মোড ( --headless ) হেডফুল ক্রোমের মতোই হুবহু একই ব্রাউজার ইমপ্লিমেন্টেশন ব্যবহার করে।
  • উন্নত অটোমেশন ও ডিবাগিং সুবিধা: স্ক্রিনশট ক্যাপচার, পিডিএফ তৈরি, রিমোট ডিবাগিং এবং ভার্চুয়াল স্ক্রিন কনফিগারেশন সমর্থন করে।

আরও জানুন


উদাহরণ: এই পণ্যগুলো একসাথে ব্যবহার করা

একটি সাধারণ স্বয়ংক্রিয় টেস্টিং বা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) ওয়ার্কফ্লোতে, এই প্রোডাক্টগুলো একসাথে কাজ করে একটি পুনরুৎপাদনযোগ্য, তত্ত্বাবধানহীন টেস্টিং পরিবেশ প্রদান করে:

  1. ব্রাউজার বাইনারি (পরীক্ষার জন্য ক্রোম): পরীক্ষার জন্য একটি নির্দিষ্ট, সংস্করণ-সংযোজিত ক্রোম বাইনারি ব্যবহার করুন, যাতে আপনার পরীক্ষার ফলাফল বিভিন্ন রানে অভিন্ন থাকে।
  2. এক্সিকিউশন মোড (ক্রোম হেডলেস মোড): বাইনারিটি হেডলেস মোডে ( --headless ) চালান, যাতে টেস্টগুলো সার্ভার, কন্টেইনার বা CI পাইপলাইনে কোনো গ্রাফিক্যাল ডিসপ্লে ছাড়াই নির্বিঘ্নে এক্সিকিউট হয়।
  3. অটোমেশন ড্রাইভার (পাপেটিয়ার বা ক্রোমড্রাইভার): পাপেটিয়ার বা ওয়েবড্রাইভার বিআইডিআই (WebDriver BiDi) -এর মাধ্যমে সংযুক্ত অন্য কোনো টেস্টিং ফ্রেমওয়ার্কের মতো অটোমেশন লাইব্রেরি ব্যবহার করে ব্রাউজারটি পরিচালনা করুন।

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

W3C WebDriver ফ্রেমওয়ার্ক (যেমন Selenium বা WebdriverIO) ব্যবহার করার সময়, আপনি স্বয়ংক্রিয়ভাবে Chrome for Testing এবং ChromeDriver বাইনারিগুলির একটি উপযুক্ত জোড়া ডাউনলোড করতে পারেন এবং UI ছাড়া চালানোর জন্য --headless ফ্ল্যাগটি পাস করতে পারেন।


এন্টারপ্রাইজ এবং রিলিজ চ্যানেল নির্দেশিকা