আজ আমরা পরীক্ষার জন্য Chrome ঘোষণা করতে পেরে আনন্দিত, একটি নতুন Chrome স্বাদ যা বিশেষভাবে ওয়েব অ্যাপ পরীক্ষা এবং অটোমেশন ব্যবহারের ক্ষেত্রে লক্ষ্য করে৷ এই নিবন্ধটি ব্যাখ্যা করে যে কেন ক্রোম টিম এটির প্রয়োজনীয়তা অনুভব করেছে এবং একটি নির্দিষ্ট উদাহরণের মাধ্যমে চলে যেখানে পরীক্ষার জন্য Chrome একজন বিকাশকারী হিসাবে আপনাকে উপকৃত হতে পারে।
পটভূমি
ব্রাউজার টেস্টিং ম্যানুয়ালি বা স্বয়ংক্রিয়ভাবে করা হোক না কেন, একটি উচ্চ-মানের ওয়েব অভিজ্ঞতা তৈরি করার একটি গুরুত্বপূর্ণ উপাদান। একই সময়ে, একটি পর্যাপ্ত ব্রাউজার টেস্টিং এনভায়রনমেন্ট সেট আপ করা কুখ্যাতভাবে কঠিন, তাই এটি ধারাবাহিকভাবে একটি শীর্ষ ওয়েব ডেভেলপার ব্যথা পয়েন্ট হিসাবে রিপোর্ট করা হয়েছে । আজ, আমরা একটি পরিবর্তন ঘোষণা করছি যা আশা করি এই ব্যথা কিছুটা কমিয়ে দেবে।
স্বতঃ-আপডেট: ব্যবহারকারীদের জন্য দুর্দান্ত, বিকাশকারীদের জন্য বেদনাদায়ক
ক্রোমের সবচেয়ে উল্লেখযোগ্য বৈশিষ্ট্যগুলির মধ্যে একটি হল স্বয়ংক্রিয়-আপডেট করার ক্ষমতা। ব্যবহারকারীরা জেনে খুশি যে তারা আধুনিক ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্য, ব্রাউজার বৈশিষ্ট্য এবং সর্বদা বাগ সংশোধন সহ একটি আপ-টু-ডেট এবং সুরক্ষিত ব্রাউজার সংস্করণ চালাচ্ছে।
যাইহোক, একজন বিকাশকারী হিসাবে এন্ড-টু-এন্ড পরীক্ষার একটি স্যুট চালাচ্ছেন আপনার সম্পূর্ণ ভিন্ন দৃষ্টিকোণ থাকতে পারে:
- আপনি বারবার টেস্ট রান জুড়ে ধারাবাহিক, পুনরুত্পাদনযোগ্য ফলাফল চান—কিন্তু ব্রাউজার এক্সিকিউটেবল বা বাইনারি দুটি রানের মধ্যে নিজেকে আপডেট করার সিদ্ধান্ত নিলে এটি ঘটতে পারে না।
- আপনি একটি নির্দিষ্ট ব্রাউজার সংস্করণ পিন করতে চান এবং আপনার উত্স কোড সংগ্রহস্থলে সেই সংস্করণ নম্বরটি পরীক্ষা করতে চান, যাতে আপনি পুরানো কমিট এবং শাখাগুলি পরীক্ষা করতে পারেন এবং সেই সময় থেকে ব্রাউজার বাইনারির বিরুদ্ধে পরীক্ষাগুলি পুনরায় চালাতে পারেন।
একটি স্বয়ংক্রিয়-আপডেট করা ব্রাউজার বাইনারি দিয়ে এর কিছুই সম্ভব নয়। ফলস্বরূপ, আপনি স্বয়ংক্রিয় পরীক্ষার জন্য আপনার নিয়মিত Chrome ইনস্টলেশন ব্যবহার করতে নাও চাইতে পারেন। নিয়মিত ব্রাউজার ব্যবহারকারীদের জন্য কী ভাল এবং স্বয়ংক্রিয় পরীক্ষা করা ডেভেলপারদের জন্য কী ভাল তার মধ্যে এটি মৌলিক অমিল।
সংস্করণযুক্ত ব্রাউজার বাইনারি
স্বতঃ-আপডেট একপাশে, আপনি একটি নির্দিষ্ট সংস্করণ সহ একটি Chrome বাইনারি খুঁজে পাওয়া কঠিন হতে পারে। Google ইচ্ছাকৃতভাবে সংস্করণযুক্ত Chrome ডাউনলোডগুলি উপলব্ধ করে না, যেহেতু ব্যবহারকারীদের সংস্করণ নম্বরগুলি সম্পর্কে যত্ন নেওয়া উচিত নয়—তাদের সর্বদা যত তাড়াতাড়ি সম্ভব সর্বশেষ সংস্করণে আপডেট করা উচিত। এটি ব্যবহারকারীদের জন্য দুর্দান্ত, তবে বিকাশকারীদের জন্য একটি পুরানো Chrome সংস্করণে একটি বাগ রিপোর্ট পুনরুত্পাদন করতে হবে তাদের জন্য বেদনাদায়ক৷
আপনি যখন ব্রাউজার অটোমেশনের জন্য ChromeDriver ব্যবহার করতে চান তখন এই সমস্যার আরও নির্দিষ্ট উদাহরণ। আপনাকে যে কোনোভাবে একটি ক্রোম বাইনারি ডাউনলোড করতে হবে তা নয়, দুটি বাইনারি সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করতে আপনার একটি অনুরূপ সংস্করণের ChromeDriver বাইনারিও প্রয়োজন।
এই সমস্যাগুলি সমাধান করার কোনও ভাল উপায় না থাকার কারণে, আমরা জানি যে অনেক বিকাশকারী পরিবর্তে ক্রোমিয়াম (ক্রোম নয়) বাইনারিগুলি ডাউনলোড করে, যদিও এই পদ্ধতির কিছু ত্রুটি রয়েছে। প্রথমত, এই ক্রোমিয়াম বাইনারিগুলি সমস্ত প্ল্যাটফর্ম জুড়ে নির্ভরযোগ্যভাবে উপলব্ধ নয়৷ দ্বিতীয়ত, এগুলি ক্রোম রিলিজ প্রক্রিয়া থেকে আলাদাভাবে তৈরি এবং প্রকাশ করা হয়েছে, যার ফলে তাদের সংস্করণগুলিকে বাস্তব ব্যবহারকারী-মুখী ক্রোম রিলিজে ম্যাপ করা অসম্ভব৷ তৃতীয়ত, ক্রোমিয়াম ক্রোম থেকে আলাদা।
সমাধান: পরীক্ষার জন্য ক্রোম
এই সমস্যাগুলি সমাধান করার জন্য ডিজাইন করা হয়েছে, ক্রোম ফর টেস্টিং হল ক্রোমের একটি ডেডিকেটেড ফ্লেভার যা টেস্টিং ইউজ কেসকে লক্ষ্য করে, স্বয়ংক্রিয় আপডেট ছাড়াই, ক্রোম রিলিজ প্রক্রিয়ার সাথে একত্রিত, প্রতিটি ক্রোম রিলিজের জন্য উপলব্ধ। একটি সংস্করণযুক্ত বাইনারি যা পরীক্ষার ব্যবহারের ক্ষেত্রে নেতিবাচকভাবে প্রভাবিত না করে যতটা সম্ভব নিয়মিত Chrome-এর কাছাকাছি।
পরীক্ষার জন্য ক্রোম তৈরি করতে, আমরা ক্রোমিয়াম এবং ক্রোম কোডবেসে পরিবর্তন এনেছি এবং সমস্ত চ্যানেলে (স্থির, বিটা, দেব, এবং ক্যানারি)।
পরীক্ষার জন্য ক্রোমের চারপাশের অবকাঠামো Chrome এর বাইরেও আকর্ষণীয় সুযোগগুলি আনলক করে৷ উদাহরণ স্বরূপ, আমরা পূর্বে একটি মিলে যাওয়া ক্রোম এবং ক্রোমড্রাইভার বাইনারি খোঁজার বিষয়ে যে অসুবিধাগুলি উল্লেখ করেছি তা সম্পূর্ণরূপে দূর করা যেতে পারে Chromeড্রাইভার রিলিজ প্রক্রিয়াটিকে ক্রোম ফর টেস্টিং পরিকাঠামোতে সংহত করার মাধ্যমে৷ এই ব্যবহারকারী-মুখী ব্যথার বিন্দুটি সমাধান করার পাশাপাশি, এটি Chrome-এর সাথে ChromeDriver রিলিজগুলিকেও সারিবদ্ধ করে এবং ম্যানুয়াল ChromeDriver রিলিজ প্রক্রিয়াটিকে সরিয়ে দেয়।
বাইনারি পরীক্ষার জন্য আমি কীভাবে ক্রোম পেতে পারি?
আপনার প্ল্যাটফর্মের জন্য বাইনারি পরীক্ষার জন্য Chrome ডাউনলোড করার সবচেয়ে সহজ উপায় হল আমাদের @puppeteer/browsers
কমান্ড-লাইন ইউটিলিটি ব্যবহার করে, npm
এর মাধ্যমে উপলব্ধ। এখানে কিছু উদাহরণ আছে:
# Download the latest available Chrome for Testing binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome@stable
# Download a specific Chrome for Testing version.
npx @puppeteer/browsers install chrome@116.0.5793.0
# Download the latest available ChromeDriver version corresponding to the Canary channel.
npx @puppeteer/browsers install chromedriver@canary
# Download a specific ChromeDriver version.
npx @puppeteer/browsers install chromedriver@116.0.5793.0
আপনি যদি এই বাইনারিগুলি ডাউনলোড করার জন্য আপনার নিজস্ব স্বয়ংক্রিয় স্ক্রিপ্ট তৈরি করতে পছন্দ করেন তবে আমরা আপনাকে কভার করেছি। আমরা ক্রোম রিলিজ চ্যানেল (স্থির, বিটা, দেব, ক্যানারি) প্রতি সর্বশেষ উপলব্ধ সংস্করণ সহ JSON API এন্ডপয়েন্ট অফার করি। সর্বশেষ অবস্থার একটি দ্রুত ওভারভিউ পেতে, উপলভ্যতা ড্যাশবোর্ড পরীক্ষার জন্য Chrome-এর সাথে পরামর্শ করুন।