Playwright 1.56-এ তিনটি বিল্ট-ইন AI এজেন্ট যুক্ত হয়েছে যা একটি test suite পরিকল্পনা করতে পারে, সংশ্লিষ্ট TypeScript scripts লিখতে পারে এবং তাৎক্ষণিকভাবে ত্রুটিপূর্ণ locators মেরামত করতে পারে। এর ফলে: ম্যানুয়াল টেস্টিংয়ের একঘেয়েমি একটি AI-assisted workflow-তে পরিণত হয়।

কেন এই পরিবর্তনটি গুরুত্বপূর্ণ

অটোমেশন ইঞ্জিনিয়াররা দীর্ঘকাল ধরে একটি পুনরাবৃত্তিমূলক চক্র অনুসরণ করে আসছেন: প্রয়োজনীয়তাকে test cases-এ রূপান্তর করা, হাতে কোড লিখে scripts তৈরি করা, সেগুলো চালানো এবং তারপর UI পরিবর্তনের সাথে সাথে অস্থির (flaky) selectors-এর পেছনে ছোটা। রক্ষণাবেক্ষণের অতিরিক্ত বোঝা (maintenance overhead) অনেক সময় অটোমেশনের মাধ্যমে সাশ্রয় করা সময়ের চেয়েও বেশি হতে পারে, বিশেষ করে দ্রুত পরিবর্তনশীল front-ends-এর ক্ষেত্রে। টেস্টিং framework-এর মধ্যে সরাসরি AI এজেন্ট যুক্ত করার মাধ্যমে, Playwright 'fix-and-run' চক্র কমিয়ে দেয় এবং ইঞ্জিনিয়ারদের selector খোঁজার পরিবর্তে উচ্চ-স্তরের test strategy-তে মনোযোগ দেওয়ার সুযোগ করে দেয়।

তিনটি এজেন্টের ব্যাখ্যা

  • Planner Agent – এটি অ্যাপ্লিকেশনটি কী করা উচিত তার একটি natural-language description গ্রহণ করে, লাইভ সাইটটি এক্সপ্লোর করে এবং একটি সুসংগঠিত Markdown plan প্রদান করে। এই plan-এ প্রধান user flows এবং edge-case scenarios তালিকাভুক্ত থাকে, যা কোনো কোড লেখার আগেই একটি পরিষ্কার blueprint প্রদান করে।
  • Generator Agent – এটি Markdown plan গ্রহণ করে এবং কার্যকর (executable) TypeScript test code তৈরি করে। এটি running browser-এর সাথে যোগাযোগ করে যাচাই করে যে selectors গুলো স্থিতিশীল কিনা, এবং নির্দেশ দিলে এটি Page Object Model (একটি design pattern যা page structure-কে test logic থেকে আলাদা করে) অনুসরণ করতে পারে।
  • Healer Agent – এটি test runs মনিটর করে; যখন কোনো ব্যর্থতা UI পরিবর্তনের কারণে ঘটে, তখন এটি ব্যর্থ ধাপগুলো পুনরায় চালায় (replays), আপডেট হওয়া DOM পরিদর্শন করে এবং একটি সঠিক selector বা locator সাজেস্ট করে। এই সাজেশনটি একটি draft patch হিসেবে প্রদর্শিত হয় যা ডেভেলপার গ্রহণ করতে পারেন বা পরিবর্তন করতে পারেন।

এজেন্টগুলো একটি “agentic loop”-এ কাজ করে: Planner → Generator → Healer। প্রতিটি ধাপ পরবর্তী ধাপকে ইনপুট দেয়, যা একটি স্বয়ংক্রিয়ভাবে সমন্বয়কারী pipeline তৈরি করে যা টেস্ট করা অ্যাপ্লিকেশনের সাথে তাল মিলিয়ে চলে।

সাধারণ AI টুল থেকে এটি কীভাবে আলাদা

Chat-style মডেল বা code-completion extensions কোড স্নিপেট তৈরি করতে পারে, কিন্তু লাইভ DOM এবং নির্দিষ্ট প্রজেক্ট কনফিগারেশনে তাদের সরাসরি অ্যাক্সেস নেই। Playwright-এর এজেন্টগুলো একটি Model Context Protocol ব্যবহার করে যা বর্তমান পেজ স্ট্রাকচার এবং test framework সেটিংস মডেলের কাছে স্ট্রিম করে, ফলে AI যে এলিমেন্টগুলোর সাথে কাজ করবে সে সম্পর্কে সঠিক ধারণা পেতে পারে। এটি যে কোড তৈরি করে তা কেবল syntactically correct-ই নয়, বরং তৈরির মুহূর্তে প্রকৃত UI-এর সাথেও যুক্ত থাকে।

কয়েকটি কমান্ডের মাধ্যমে শুরু করা

  1. একটি Node প্রজেক্ট সেটআপ করুন এবং Playwright-কে একটি dependency হিসেবে যোগ করুন।
  2. আপনার এডিটরের ভেতরে AI লুপটি চালু করতে npx playwright init-agents --loop=vscode কমান্ডটি চালান।
  3. অ্যাপ্লিকেশনটি লোড করার জন্য একটি মিনিমাল “seed” test লিখুন; এটি এজেন্টদের একটি নির্দিষ্ট context প্রদান করে।
  4. Planner-কে ট্রিগার করতে natural-language prompts দিন (যেমন, “Create a checkout flow covering discount codes”), Generator-কে script তৈরি করতে দিন এবং Healer-কে সেটি সচল রাখতে দিন।

এজেন্টগুলোকে আরও ভালোভাবে কাজ করানোর টিপস

  • পরিষ্কার seed test – প্রাথমিক test-টি নির্ভরযোগ্যভাবে অ্যাপটি চালু করতে এবং প্রধান UI এলিমেন্টগুলো প্রদর্শন করতে সক্ষম হতে হবে; অস্পষ্ট এন্ট্রি পয়েন্ট Planner-কে বিভ্রান্ত করতে পারে।
  • সুসংগঠিত seed data – প্রত্যাশিত ইনপুট বর্ণনা করে এমন JSON fixtures প্রদান করলে Generator-এর জন্য সঠিক selector নির্বাচন করা সহজ হয়।
  • Page Object Model-এর জন্য অনুরোধ করুন – Generator-কে স্পষ্টভাবে page objects তৈরি করতে বললে আরও পরিষ্কার এবং রক্ষণাবেক্ষণযোগ্য কোড পাওয়া যায়।
  • AI আউটপুটকে একটি draft হিসেবে বিবেচনা করুন – কোড কমিট করার আগে জেনারেট করা scripts গুলো পর্যালোচনা করুন; এজেন্টগুলো এখনও business-logic-এর সূক্ষ্ম বিষয়গুলো মিস করতে পারে বা অতিরিক্ত সাধারণ (generic) selectors তৈরি করতে পারে।

ঝুঁকি এবং পাল্টা যুক্তি

পরবর্তীতে যা খেয়াল রাখতে হবে