আজ আমরা আনন্দের সাথে ঘোষণা করছি যে Chrome for Testing , একটি নতুন Chrome বিকল্প যা বিশেষভাবে ওয়েব অ্যাপ টেস্টিং এবং অটোমেশন ব্যবহারের ক্ষেত্রে লক্ষ্য করে। এই নিবন্ধটি ব্যাখ্যা করে যে কেন Chrome টিম এটির প্রয়োজন বলে মনে করেছিল, এবং এমন কিছু সুনির্দিষ্ট উদাহরণ নিয়ে আলোচনা করা হয়েছে যেখানে Chrome for Testing একজন ডেভেলপার হিসেবে আপনার উপকারে আসতে পারে।
পটভূমি
উচ্চমানের ওয়েব অভিজ্ঞতা তৈরির জন্য ব্রাউজার টেস্টিং একটি গুরুত্বপূর্ণ উপাদান, তা ম্যানুয়ালি বা স্বয়ংক্রিয়ভাবে করা হোক না কেন। একই সাথে, পর্যাপ্ত ব্রাউজার টেস্টিং পরিবেশ স্থাপন করা অত্যন্ত কঠিন, এতটাই যে এটি ধারাবাহিকভাবে ওয়েব ডেভেলপারদের জন্য একটি শীর্ষ সমস্যা হিসেবে রিপোর্ট করা হয়েছে । আজ, আমরা এমন একটি পরিবর্তন ঘোষণা করছি যা আশা করি এই সমস্যা কিছুটা কমিয়ে দেবে।
স্বয়ংক্রিয় আপডেট: ব্যবহারকারীদের জন্য দুর্দান্ত, ডেভেলপারদের জন্য বেদনাদায়ক
ক্রোমের সবচেয়ে উল্লেখযোগ্য বৈশিষ্ট্যগুলির মধ্যে একটি হল এর স্বয়ংক্রিয় আপডেটের ক্ষমতা। ব্যবহারকারীরা জেনে খুশি যে তারা একটি আপ-টু-ডেট এবং সুরক্ষিত ব্রাউজার সংস্করণ চালাচ্ছে যার মধ্যে রয়েছে আধুনিক ওয়েব প্ল্যাটফর্ম বৈশিষ্ট্য, ব্রাউজার বৈশিষ্ট্য এবং সর্বদা বাগ সংশোধন।
তবে, একজন ডেভেলপার হিসেবে এন্ড-টু-এন্ড পরীক্ষার একটি স্যুট পরিচালনা করার সময় আপনার দৃষ্টিভঙ্গি সম্পূর্ণ ভিন্ন হতে পারে:
- বারবার পরীক্ষা চালানোর সময় আপনি ধারাবাহিক, পুনরুৎপাদনযোগ্য ফলাফল চান—কিন্তু যদি এক্সিকিউটেবল বা বাইনারি ব্রাউজার দুটি রানের মধ্যে নিজেকে আপডেট করার সিদ্ধান্ত নেয় তবে এটি নাও ঘটতে পারে।
- আপনি একটি নির্দিষ্ট ব্রাউজার সংস্করণ পিন করতে চান এবং সেই সংস্করণ নম্বরটি আপনার সোর্স কোড সংগ্রহস্থলে পরীক্ষা করতে চান, যাতে আপনি পুরানো কমিট এবং শাখাগুলি পরীক্ষা করতে পারেন এবং সেই সময় থেকে ব্রাউজার বাইনারিগুলির বিরুদ্ধে পরীক্ষাগুলি পুনরায় চালাতে পারেন।
স্বয়ংক্রিয়ভাবে আপডেট হওয়া ব্রাউজার বাইনারি দিয়ে এর কিছুই সম্ভব নয়। ফলস্বরূপ, আপনি স্বয়ংক্রিয় পরীক্ষার জন্য আপনার নিয়মিত Chrome ইনস্টলেশন ব্যবহার করতে চাইবেন না। এটি হল নিয়মিত ব্রাউজার ব্যবহারকারীদের জন্য কী ভালো এবং স্বয়ংক্রিয় পরীক্ষা করা ডেভেলপারদের জন্য কী ভালো তার মধ্যে মৌলিক অমিল।
সংস্করণযুক্ত ব্রাউজার বাইনারি
অটো-আপডেট ছাড়াও, নির্দিষ্ট সংস্করণ সহ Chrome বাইনারি খুঁজে পেতে আপনার অসুবিধা হতে পারে। Google ইচ্ছাকৃতভাবে সংস্করণযুক্ত Chrome ডাউনলোডগুলি উপলব্ধ করে না, কারণ ব্যবহারকারীদের সংস্করণ সংখ্যা সম্পর্কে চিন্তা করার দরকার নেই - তাদের সর্বদা যত তাড়াতাড়ি সম্ভব সর্বশেষ সংস্করণে আপডেট করা উচিত। এটি ব্যবহারকারীদের জন্য দুর্দান্ত, তবে ডেভেলপারদের জন্য বেদনাদায়ক যারা পুরানো Chrome সংস্করণে বাগ রিপোর্ট পুনরুত্পাদন করতে চান।
এই সমস্যার আরও সুনির্দিষ্ট উদাহরণ হল যখন আপনি ব্রাউজার অটোমেশনের জন্য ChromeDriver ব্যবহার করতে চান। আপনাকে কেবল কোনওভাবে একটি Chrome বাইনারি ডাউনলোড করতে হবে না, পাশাপাশি দুটি বাইনারি সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করার জন্য আপনার একটি অনুরূপ সংস্করণযুক্ত ChromeDriver বাইনারিও প্রয়োজন।
এই সমস্যাগুলি সমাধানের কোনও ভাল উপায় না থাকার কারণে, আমরা জানি যে অনেক ডেভেলপার ক্রোমিয়াম (ক্রোম নয়) বাইনারি ডাউনলোড করে, যদিও এই পদ্ধতির কিছু ত্রুটি রয়েছে। প্রথমত, এই ক্রোমিয়াম বাইনারিগুলি সমস্ত প্ল্যাটফর্মে নির্ভরযোগ্যভাবে উপলব্ধ নয়। দ্বিতীয়ত, এগুলি ক্রোম রিলিজ প্রক্রিয়া থেকে আলাদাভাবে তৈরি এবং প্রকাশিত হয়, যার ফলে তাদের সংস্করণগুলিকে প্রকৃত ব্যবহারকারী-মুখী ক্রোম রিলিজে ফিরিয়ে আনা অসম্ভব হয়ে পড়ে। তৃতীয়ত, ক্রোমিয়াম ক্রোম থেকে আলাদা।
সমাধান: পরীক্ষার জন্য ক্রোম
এই সমস্যাগুলি সমাধানের জন্য ডিজাইন করা, Chrome for Testing হল Chrome-এর একটি নিবেদিতপ্রাণ সংস্করণ যা পরীক্ষার ব্যবহারের ক্ষেত্রে লক্ষ্য করে, স্বয়ংক্রিয় আপডেট ছাড়াই, Chrome রিলিজ প্রক্রিয়ার সাথে একীভূত, প্রতিটি Chrome রিলিজের জন্য উপলব্ধ। একটি সংস্করণযুক্ত বাইনারি যা পরীক্ষার ব্যবহারের ক্ষেত্রে নেতিবাচক প্রভাব ফেলবে না এবং যতটা সম্ভব নিয়মিত Chrome-এর কাছাকাছি থাকবে।
পরীক্ষার জন্য Chrome তৈরি করার জন্য, আমরা Chromium এবং Chrome কোডবেসে পরিবর্তন এনেছি এবং সমস্ত চ্যানেলে (স্থিতিশীল, বিটা, ডেভ এবং ক্যানারি) Chrome রিলিজ প্রক্রিয়ার মাধ্যমে লকস্টেপে একটি সর্বজনীনভাবে উপলব্ধ বাকেটে এই বাইনারিগুলি তৈরি এবং আপলোড করার জন্য অবকাঠামো সেট আপ করেছি।
Chrome for Testing-এর চারপাশের পরিকাঠামো Chrome-এর বাইরেও আকর্ষণীয় সুযোগগুলি উন্মোচন করে। উদাহরণস্বরূপ, Chrome এবং ChromeDriver-এর সাথে মিলে যাওয়া বাইনারি খুঁজে বের করার ক্ষেত্রে আমরা পূর্বে যে অসুবিধাগুলির কথা উল্লেখ করেছি তা ChromeDriver রিলিজ প্রক্রিয়াটিকে Chrome for Testing পরিকাঠামোর সাথে একীভূত করে সম্পূর্ণরূপে দূর করা যেতে পারে। ব্যবহারকারী-সম্পর্কিত এই সমস্যা সমাধানের পাশাপাশি, এটি ChromeDriver রিলিজগুলিকে Chrome-এর সাথে সারিবদ্ধ করে এবং ম্যানুয়াল ChromeDriver রিলিজ প্রক্রিয়াটি বাদ দেয়।
বাইনারি পরীক্ষার জন্য আমি কীভাবে Chrome পেতে পারি?
আপনার প্ল্যাটফর্মের জন্য বাইনারি পরীক্ষা করার জন্য 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
আপনি যদি এই বাইনারিগুলি ডাউনলোড করার জন্য নিজস্ব স্বয়ংক্রিয় স্ক্রিপ্ট তৈরি করতে চান, তাহলে আমরা আপনার জন্য ব্যবস্থা করেছি। আমরা প্রতিটি Chrome রিলিজ চ্যানেলের (স্টেবল, বিটা, ডেভ, ক্যানারি) সর্বশেষ উপলব্ধ সংস্করণ সহ JSON API এন্ডপয়েন্ট অফার করি। সর্বশেষ অবস্থা সম্পর্কে দ্রুত ধারণা পেতে, Chrome for Testing availability ড্যাশবোর্ডটি দেখুন।