Playwright 1.56 मध्ये तीन इन-बिल्ट AI एजंट्स देण्यात आले आहेत जे टेस्ट सूटचे नियोजन करतात, संबंधित TypeScript स्क्रिप्ट्स लिहितात आणि बिघडलेले (broken) locators त्वरित दुरुस्त करतात. परिणामी: मॅन्युअल टेस्टिंगचा कंटाळवाणा प्रवास आता एका AI-सहाय्यित वर्कफ्लोमध्ये बदलतो.
हा बदल का महत्त्वाचा आहे
ऑटोमेशन इंजिनिअर्स बऱ्याच काळापासून एकाच चक्रात अडकलेले आहेत: गरजांचे (requirements) टेस्ट केसेसमध्ये रूपांतर करणे, स्वतः कोड करून स्क्रिप्ट्स लिहिणे, त्या रन करणे आणि त्यानंतर UI बदलल्यावर अस्थिर (flaky) सिलेक्टर्स शोधत राहणे. विशेषतः वेगाने बदलणाऱ्या फ्रंट-एंड्समध्ये, ऑटोमेशनमुळे वाचवलेल्या वेळेपेक्षा देखभालीचा (maintenance) खर्च अधिक असू शकतो. टेस्टिंग फ्रेमवर्कमध्ये थेट AI एजंट्स समाविष्ट केल्यामुळे, Playwright 'fix-and-run' चक्र कमी करते आणि इंजिनिअर्सना सिलेक्टर्स शोधण्याऐवजी उच्च-स्तरीय टेस्ट स्ट्रॅटेजीवर लक्ष केंद्रित करण्यास मदत करते.
तीन एजंट्सचे स्पष्टीकरण
- Planner Agent – ॲप्लिकेशनने काय करावे याचे नैसर्गिक भाषेतील वर्णन घेतो, लाईव्ह साइटचा शोध घेतो आणि एक स्ट्रक्चर्ड Markdown प्लॅन तयार करतो. हा प्लॅन मुख्य युजर फ्लो आणि एज-केस सिनेरिओची यादी देतो, ज्यामुळे कोणताही कोड लिहिण्यापूर्वी एक स्पष्ट ब्लूप्रिंट मिळते.
- Generator Agent – Markdown प्लॅनचा वापर करून एक्झिक्युटेबल TypeScript टेस्ट कोड तयार करतो. सिलेक्टर्स स्थिर आहेत की नाही याची पडताळणी करण्यासाठी तो रनिंग ब्राउझरशी संवाद साधतो आणि सूचना दिल्यास तो Page Object Model (एक डिझाइन पॅटर्न जो पेज स्ट्रक्चरला टेस्ट लॉजिकपासून वेगळे करतो) देखील फॉलो करू शकतो.
- Healer Agent – टेस्ट रनवर लक्ष ठेवतो; जेव्हा एखादी त्रुटी UI बदलामुळे येते, तेव्हा तो अयशस्वी पायऱ्या पुन्हा रन करतो, अपडेटेड DOM ची तपासणी करतो आणि सुधारित सिलेक्टर्स किंवा लोकेटर सुचवतो. ही सूचना एका 'ड्राफ्ट पॅच'च्या स्वरूपात येते, जो डेव्हलपर स्वीकारू शकतो किंवा त्यात बदल करू शकतो.
हे एजंट्स एका “agentic loop” मध्ये काम करतात: Planner → Generator → Healer. प्रत्येक पायरी पुढच्या पायरीला माहिती पुरवते, ज्यामुळे एक स्वयंचलितपणे ॲडजस्ट होणारी पाइपलाइन तयार होते जी टेस्ट केल्या जाणाऱ्या ॲप्लिकेशनशी सुसंगत राहते.
हे सामान्य AI टूल्सपेक्षा कसे वेगळे आहे
चॅट-स्टाईल मॉडेल्स किंवा कोड-कम्प्लिशन एक्सटेंशन्स कोडचे छोटे तुकडे (snippets) तयार करू शकतात, परंतु त्यांच्याकडे लाईव्ह DOM आणि विशिष्ट प्रोजेक्ट कॉन्फिगरेशनचा थेट प्रवेश नसतो. Playwright चे एजंट्स Model Context Protocol वापरतात, जे सध्याची पेज स्ट्रक्चर आणि टेस्ट फ्रेमवर्क सेटिंग्ज मॉडेलमध्ये स्ट्रीम करतात, ज्यामुळे AI ला ज्या एलिमेंट्ससोबत संवाद साधायचा आहे त्याबद्दल अचूक तर्क लावता येतो. याद्वारे तयार केलेला कोड केवळ सिंटॅक्टिकली अचूकच नाही, तर तो तयार करतानाच्या क्षणी रिअल UI शी देखील जोडलेला असतो.
काही कमांड्सद्वारे सुरुवात कशी करावी
- Node प्रोजेक्ट सेट करा आणि Playwright ला डिपेंडन्सी म्हणून जोडा.
- तुमच्या एडिटरमध्ये AI लूप सुरू करण्यासाठी
npx playwright init-agents --loop=vscodeरन करा. - ॲप्लिकेशन लोड करणारी एक किमान “seed” टेस्ट लिहा; यामुळे एजंट्सना एक ठोस संदर्भ मिळतो.
- नैसर्गिक भाषेतील प्रॉम्प्ट्स द्या (उदा. “Create a checkout flow covering discount codes”) जेणेकरून Planner सुरू होईल, Generator स्क्रिप्ट तयार करेल आणि Healer ती व्यवस्थित ठेवेल.
एजंट्स अधिक चांगल्या प्रकारे काम करण्यासाठी काही टिप्स
- स्पष्ट seed test – सुरुवातीची टेस्ट विश्वसनीयपणे ॲप सुरू करणारी आणि मुख्य UI एलिमेंट्स दर्शवणारी असावी; संदिग्ध एन्ट्री पॉइंट्समुळे Planner गोंधळू शकतो.
- स्ट्रक्चर्ड seed data – अपेक्षित इनपुट्सचे वर्णन करणारे JSON फिक्स्चर्स पुरवल्यास Generator ला योग्य सिलेक्टर्स निवडण्यास मदत होते.
- Page Object Model साठी सांगा – Generator ला स्पष्टपणे पेज ऑब्जेक्ट्स तयार करण्यास सांगितल्यास अधिक स्वच्छ आणि देखभालीयोग्य कोड मिळतो.
- AI आउटपुटला ड्राफ्ट म्हणून पहा – कोड कमिट करण्यापूर्वी तयार केलेल्या स्क्रिप्ट्सची पडताळणी करा; एजंट्सकडून बिझनेस-लॉजिकमधील बारकावे सुटू शकतात किंवा ते अतिशय सामान्य सिलेक्टर्स तयार करू शकतात.
