Playwright 1.56 में तीन इन-बिल्ट AI एजेंट्स शामिल हैं जो एक टेस्ट सुइट की योजना बनाते हैं, संबंधित TypeScript स्क्रिप्ट लिखते हैं, और चलते-फिरते (on the fly) टूटे हुए locators को ठीक करते हैं। परिणाम: मैन्युअल टेस्टिंग की थकाऊ प्रक्रिया अब एक AI-सहायता प्राप्त वर्कफ़्लो बन जाती है।

यह बदलाव क्यों महत्वपूर्ण है

ऑटोमेशन इंजीनियर लंबे समय से एक दोहराव वाले लूप का पालन कर रहे हैं: आवश्यकताओं को टेस्ट केस में बदलना, स्क्रिप्ट को हाथ से कोड करना, उन्हें चलाना, और फिर UI बदलने पर अस्थिर (flaky) सेलक्टर्स के पीछे भागना। मेंटेनेंस का बोझ, विशेष रूप से तेज़ी से बदलते फ्रंट-एंड्स में, ऑटोमेशन द्वारा बचाए गए समय से कहीं अधिक हो सकता है। टेस्टिंग फ्रेमवर्क में सीधे AI एजेंट्स को शामिल करके, Playwright "fix-and-run" चक्र को कम करता है और इंजीनियरों को सेलेक्टर खोजने के बजाय उच्च-स्तरीय टेस्ट रणनीति पर ध्यान केंद्रित करने की अनुमति देता है।

तीनों एजेंट्स का विवरण

  • Planner Agent – यह एप्लिकेशन को क्या करना चाहिए, इसके प्राकृतिक भाषा (natural-language) के विवरण को लेता है, लाइव साइट को एक्सप्लोर करता है, और एक स्ट्रक्चर्ड Markdown प्लान आउटपुट के रूप में देता है। यह प्लान मुख्य यूजर फ्लो और एज-केस परिदृश्यों को सूचीबद्ध करता है, जिससे कोई भी कोड लिखने से पहले एक स्पष्ट ब्लूप्रिंट मिल जाता है।
  • Generator Agent – यह Markdown प्लान का उपयोग करता है और निष्पादन योग्य (executable) TypeScript टेस्ट कोड तैयार करता है। यह यह सत्यापित करने के लिए चल रहे ब्राउज़र के साथ इंटरैक्ट करता है कि सेलक्टर्स स्थिर हैं, और यदि निर्देश दिया जाए तो यह Page Object Model (एक डिज़ाइन पैटर्न जो पेज स्ट्रक्चर को टेस्ट लॉजिक से अलग करता है) का पालन कर सकता है।
  • Healer Agent – यह टेस्ट रन की निगरानी करता है; जब विफलता का कारण UI में बदलाव होता है, तो यह विफल चरणों को फिर से चलाता है, अपडेटेड DOM का निरीक्षण करता है, और एक सुधारा हुआ सेलेक्टर या लोकेटर सुझाता है। यह सुझाव एक ड्राफ्ट पैच के रूप में दिखाई देता है जिसे डेवलपर स्वीकार कर सकता है या उसमें बदलाव कर सकता है।

एजेंट्स एक "एजेंटिक लूप" (agentic loop) में काम करते हैं: Planner → Generator → Healer। प्रत्येक चरण अगले चरण को इनपुट देता है, जिससे एक स्व-समायोजित पाइपलाइन बनती है जो टेस्ट किए जा रहे एप्लिकेशन के साथ तालमेल बनाए रखती है।

यह सामान्य AI टूल्स से कैसे अलग है

चैट-शैली के मॉडल या कोड-कम्प्लीशन एक्सटेंशन स्निपेट्स तो बना सकते हैं, लेकिन उनके पास लाइव DOM और विशिष्ट प्रोजेक्ट कॉन्फ़िगरेशन तक सीधी पहुँच नहीं होती है। Playwright के एजेंट्स एक Model Context Protocol का उपयोग करते हैं जो वर्तमान पेज स्ट्रक्चर और टेस्ट फ्रेमवर्क सेटिंग्स को मॉडल में स्ट्रीम करता है, जिससे AI उन सटीक तत्वों के बारे में तर्क (reason) कर पाता है जिनके साथ वह इंटरैक्ट करेगा। इसके द्वारा जनरेट किया गया कोड न केवल सिंटैक्स के रूप में सही होता है, बल्कि जनरेशन के समय वास्तविक UI से भी जुड़ा होता है।

कुछ कमांड्स के साथ शुरुआत करें

  1. एक Node प्रोजेक्ट सेटअप करें और Playwright को एक डिपेंडेंसी के रूप में जोड़ें।
  2. अपने एडिटर के अंदर AI लूप को बूटस्ट्रैप करने के लिए npx playwright init-agents --loop=vscode चलाएं।
  3. एक न्यूनतम "seed" टेस्ट लिखें जो एप्लिकेशन को लोड करता है; यह एजेंट्स को एक ठोस संदर्भ (context) प्रदान करता है।
  4. Planner को ट्रिगर करने के लिए प्राकृतिक भाषा में प्रॉम्प्ट दें (जैसे, "डिस्काउंट कोड को कवर करने वाला एक चेकआउट फ्लो बनाएं"), Generator को स्क्रिप्ट बनाने दें, और Healer को इसे सही बनाए रखने दें।

एजेंट्स को बेहतर ढंग से काम करने के लिए टिप्स

  • स्पष्ट सीड टेस्ट (Clear seed test) – प्रारंभिक टेस्ट को विश्वसनीय रूप से ऐप को लॉन्च करना चाहिए और मुख्य UI तत्वों को प्रदर्शित करना चाहिए; अस्पष्ट एंट्री पॉइंट्स Planner को भ्रमित कर सकते हैं।
  • स्ट्रक्चर्ड सीड डेटा – अपेक्षित इनपुट का वर्णन करने वाले JSON फिक्स्चर प्रदान करने से Generator को उपयुक्त सेलक्टर्स चुनने में मदद मिलती है।
  • Page Object Model के लिए कहें – Generator को स्पष्ट रूप से पेज ऑब्जेक्ट्स का ढांचा (scaffold) तैयार करने के लिए कहने से अधिक स्वच्छ और रखरखाव योग्य (maintainable) कोड मिलता है।
  • AI आउटपुट को एक ड्राफ्ट की तरह मानें – कोड कमिट करने से पहले जनरेट की गई स्क्रिप्ट्स की समीक्षा करें; एजेंट्स अभी भी बिजनेस-लॉजिक की बारीकियों को मिस कर सकते हैं या बहुत अधिक सामान्य (generic) सेलक्टर्स बना सकते हैं।

जोखिम और प्रति-तर्क

आगे क्या देखें