Playwright 1.56 מגיע עם שלושה סוכני AI מובנים המתכננים סדרת בדיקות, כותבים את סקריפטי ה-TypeScript המתאימים ומתקנים לוקטורים (locators) שבורים תוך כדי תנועה. התוצאה: עבודת בדיקות ידנית סיזיפית הופכת לתהליך עבודה בסיוע AI.
למה השינוי הזה חשוב
מהנדסי אוטומציה עוקבים מזה זמן רב אחרי לולאה חוזרת: תרגום דרישות למקרי בדיקה, כתיבת סקריפטים ידנית, הרצתם, ואז מרדף אחרי סלקטורים לא יציבים (flaky) בכל פעם שה-UI משתנה. עלויות התחזוקה עלולות לגזול את כל הזמן שנחסך הודות לאוטומציה, במיוחד בממשקי משתמש (front-ends) שמתפתחים במהירות. על ידי הטמעת סוכני AI ישירות בתוך מסגרת הבדיקות, Playwright מקצרת את מחזור ה-"תקן-והרץ" ומאפשרת למהנדסים להתמקד באסטרטגיית בדיקות ברמה גבוהה במקום בציד סלקטורים.
הסבר על שלושת הסוכנים
- Planner Agent – מקבל תיאור בשפה טבעית של מה שהאפליקציה אמורה לעשות, סורק את האתר החי, ומפיק תוכנית Markdown מובנית. התוכנית מפרטת תהליכי משתמש עיקריים ותרחישי קצה, מה שמעניק תוכנית עבודה ברורה לפני כתיבת קוד כלשהו.
- Generator Agent – לוקח את תוכנית ה-Markdown ומייצר קוד בדיקה ב-TypeScript שניתן להרצה. הוא מתקשר עם הדפדפן הפועל כדי לוודא שהסלקטורים יציבים, ויכול לפעול לפי Page Object Model (תבנית עיצוב המפרידה בין מבנה הדף לבין לוגיקת הבדיקה) אם יתבקש לכך.
- Healer Agent – מנטר הרצות בדיקות; כאשר כשל נובע משינוי ב-UI, הוא מריץ מחדש את השלבים שנכשלו, בוחן את ה-DOM המעודכן ומציע סלקטור או לוקטור מתוקן. ההצעה מופיעה כטיוטת תיקון (patch) שהמפתח יכול לאשר או לשנות.
הסוכנים פועלים ב"לולאה סוכנותית" (agentic loop): Planner → Generator → Healer. כל שלב מזין את הבא בתור, מה שיוצר צינור עבודה (pipeline) המסתגל מעצמו ונשאר מסונכרן עם האפליקציה הנבדקת.
במה זה שונה מכלי AI כלליים
מודלים בסגנון צ'אט או תוספי השלמת קוד יכולים לייצר קטעי קוד, אך חסרה להם גישה ישירה ל-DOM החי ולתצורת הפרויקט הספציפית. הסוכנים של Playwright משתמשים ב-Model Context Protocol שמזרים את מבנה הדף הנוכחי ואת הגדרות מסגרת הבדיקות אל המודל, מה שמאפשר ל-AI להסיק מסקנות לגבי האלמנטים המדויקים איתם הוא יתקשר. הקוד שהוא מייצר הוא לא רק תקין מבחינה תחבירית, אלא גם מעוגן לממשק המשתמש האמיתי ברגע היצירה.
איך מתחילים בכמה פקודות
- הגדר פרויקט Node והוסף את Playwright כתלות (dependency).
- הרץ את הפקודה
npx playwright init-agents --loop=vscodeכדי להפעיל את לולאת ה-AI בתוך העורך שלך. - כתוב בדיקת "זרע" (seed) מינימלית שטוענת את האפליקציה; זה נותן לסוכנים הקשר (context) קונקרטי.
- שלח הנחיות (prompts) בשפה טבעית (למשל, "Create a checkout flow covering discount codes") כדי להפעיל את ה-Planner, תן ל-Generator לייצר את הסקריפט, ואפשר ל-Healer לשמור עליו תקין.
טיפים לשיפור ביצועי הסוכנים
- בדיקת זרע ברורה – הבדיקה הראשונית צריכה להפעיל את האפליקציה באופן אמין ולחשוף את אלמנטי ה-UI העיקריים; נקודות כניסה מעורפלות עלולות לבלבל את ה-Planner.
- נתוני זרע מובנים – אספקת JSON fixtures המתארים קלטים צפויים עוזרת ל-Generator לבחור סלקטורים מתאימים.
- בקש Page Object Model – הנחיה מפורשת ל-Generator לבנות תשתית של page objects תניב קוד נקי וקל יותר לתחזוקה.
- התייחס לפלט ה-AI כטיוטה – סקור את הסקריפטים שנוצרו לפני ביצוע commit; הסוכנים עדיין עלולים לפספס דקויות של לוגיקה עסקית או לייצר סלקטורים גנריים מדי.
