לפני כמה ימים התפרסם בבלוג הרישמי של פרוייקט ה-Selenium פוסט חדש המדבר על העתיד הלא ורוד של המוצר Selenium IDE.

בגדול, נרשם שם כי בעקבות השינויים הטכנולוגיים שקורים מתחת לפני השטח בדפדפן הפיירפוקס וכן חוסר בכוח אדם מצד פרוייקט הסלניום שיבוא וייעדכן אחר שינויים אלו, הוחלט שהחל מגירסת FireFox 55 ומעלה תיפסק התמיכה ב-Selenium IDE.

עכשיו אני יודע את הדיעה הרווחת בתעשייה לגביי הכלי הזה ושאר הכלים שפועלים על הקלטות כמנוע יצירת ה-Test Cases שלהם, ואני גם מסכים איתה (במידה). בצורה הזו , לחלוטין לא מומלץ לבנות פרוייקט אוטומציה באירגון.

קורסים דיגיטליים בעתיד האוטומציה

אבל, אני חייב להראות גם את הצד השני של המטבע.

1. כמה שכלי הקלטות הם נושא מושמץ בקרב אנשי האוטומציה, אי אפשר לקחת דבר אחד מהם (מהכלים): אין דבר פשוט יותר ומהיר יותר מפעולת הקלטה. תסתכלו על כל כלי האוטומציה המסחריים בשוק, כמה מהם תומכים בפעולת הקלטה ? התשובה היא כולם ! (תבדקו את UFT , Ranorex, Squish , SeeTest, CodedUI , TestComplete, TestStudio ואחרים) , האם כולם טועים בבחירתם ?

2. עברו לא מעט מים בנהר מאז אותם ימים של 2004 , אז יצא ה-Selenium IDE ה-"טיפש" לאוויר העולם, כיום ישנם כלי הקלטות חכמים, שיודעים לעשות Reuse לפעולות הקלטה, לעבוד עם פרמטרים , לתמוך בקוד ולעבוד עם טכניקות מודרניות כמו ה-Pgae Objects, Data Driven Testing וכו'. ראה למשל: Testim IO

3. אם נצא מהכלל (כלי הקלטות) ונתמקד בפרט (Selenium IDE ) , המוצר התפתח פלאים מאז שיצאה גירסתו הראשונה, המוצר משתמש בדפדפן הפיירפוקס כפלטפורמה, פלטפורמה עליה נוכל להוריד ולהתקין מוצרים משלימים נוספים שבאים מעל ה-Selenium IDE (אציג דוגמאות בהמשך) , במילים אחרות – נוכל להתקין Plugins או Addons  נוספים על המוצר

אז האם הייתי לוקח את Selenium IDE כסוס עבודה לבניית פרוייקט אוטומציה מאפס ? ברור שלא. אבל למקרים בהם אצטרך לבצע רצף של כמה פעולות בסיסיות שחוזרת על עצמן בכל פעם על מוצר (או Feature) יציב יחסית, השימוש בSelenium IDE בהחלט יכול להילקח בחשבון. מה גם , שזו לא חייבת פעולת בדיקה , זו יכולה להיות פעולה אוטומטית של מילוי שדות בטבלת HTML למשל בכדיי לשרת אותי הלאה בבדיקות שלי.

במידה והפוסט הזה יזיז משהו למישהו והוא יחליט לתרום מזמנו להמשך פיתוחו של המוצר, אנו נמשיך להינות גם מהתוספים של המוצר:

ה-FlexMonkium שנותן לנו את היכולת להקליט פעולות על מוצרי אנימציה

ה-Page Coverage – אותו תוסף שמפיק לנו דוחות על כיסוי האלמנטים בדף (אין שום דבר שדומה לזה ב-Selenium WebDriver האהוב)

ה-Power Debugger – לתת לנו את האופציה לדבג את מקרה הבדיקה, ממש כמו בפעולת קידוד

ה- ScreenShot on Fail – שלוקח צילום של המסך באופן אוטומציה ברגע כישלון

ה- File Logging – אותו מכניזם שיוצר לנו לוגים ברמות שונות (Debug, Error, Info, Warning)

ה- Highlight Elements – שצובע לנו את האלמנט אותו זיהינו, רגע לפני הפעלת הפעולה עליו, בזמנו מימשתי משהו דומה לזה ב-WebDriver

ה- SelBlocks – שמאפשר לי לקודד ב-JavaScript לתוך הקוד המחולל של Selenium IDE (קוד זה נקרא – Selenease)

ה- SelBench – שמאפשר לי להכניס פעולות (ב-JavaScript) לבדיקות (Asserts) , לוגים ופופאפים (Alert)

ה- CSV File Reader – שקורא פרמטרים מתוך קובץ CSV (למימוש Data Driven Testing)

ה- Test Results – שמפיק דוח ריצה ברור וקריא

וכמו כן את ה-SeLite – שהוא אוסף של Plugins מאוד מומלץ שמרחיב אפילו עוד יותר את יכולות ה-Selenium IDE כמו חיבור ל-DB , הרצה של קבוצות שונות של בדיקות, בחירת Random Inputs וכו'…


לסיכום, אם באים עם ציפיות שה-Selnium IDE יבוא ויחליף את פרוייקט האוטומציה הנוכחי שלנו – נתאכזב , לא לשם כך הוא מיועד וזאת למרות שבשנים האחרונות פיתחו לו לא מעט תוספים אפקטיביים.

במקרים מסויימים, ניתן להשתמש בו ולהפיק תוצרים מהירים עם מינימום מאמץ. אני מאוד מקווה שבכל זאת מישהו ירים שם את הכפפה וימשיכו לפתח את המוצר הזה, גם לטובת אלו שמתנסים בפעם הראשונה בכלי אוטומציה (לא כולם יודעים לקודד על ההתחלה)

2 תגובות נוספו

  1. כתבת "עכשיו אני יודע את הדיעה הרווחת בתעשייה לגביי הכלי הזה ושאר הכלים שפועלים על הקלטות כמנוע יצירת ה-Test Cases שלהם, ואני גם מסכים איתה (במידה). בצורה הזו , לחלוטין לא מומלץ לבנות פרוייקט אוטומציה באירגון."

    סלח לי על הבורות, כי אני ממש רק התחלתי להתעניין בתחום, אבל…
    מה האלטרנטיבה הטובה יותר לכלי הקלטות, כשרוצים לעשות אוטומציה של בדיקות של אפליקציית/אתר Web?

    • היי, כלי מבוסס הקלטות הטוב ביותר שאני מכיר הינו Testim IO , אך הוא כלי מסחרי הדורש רישיון.
      אם אתה מעוניין באלטרנטיבה חינמית, ה-Selenium IDE הוא אחלה של דבר להתחיל איתו, בגרסאות שלו כיום, הוא שופר פלאים

השאר הערה\הודעה