iMACROS VS Selenium IDE

0

מאת: רונית אדרי, מרצה לבדיקות תוכנה QA ב- HackerU  http://www.hackeru.co.il

 

כל יישומי ה-  Web ואתרי האינטרנט הנכתבים אמורים לתפקד היטב על פי הדרישות, בכל הסביבות ובכל הדפדפנים, אך בדיקות תאימות ידניות של כל יכולת חדשה בכל דפדפן יכולות להעסיק את הבודקים למשך פרקי זמן ארוכים. כמו כן, כל שינוי בקוד יכול בקלות להוסיף באגים חדשים, ואז נדרשת בנוסף לבדיקות הפיתוחים החדשים או תיקוני הבאגים גם בדיקת רגרסיה. התהליך הארוך עלול לעכב מאוד את כל תהליך הפיתוח.

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

Selenium IDE

Selenium IDE

הורדת הכלי: http://www.seleniumhq.org/projects/ide/

*בשלב זה Selenium IDEמיושמת כתוסף לדפדפן FireFox בלבד. (יש לשים לב לגירסת הדפדפן אם אינה מעודכנת לחדשה ביותר, יש לבחור בגירסאות קודמות של התוסף.)

 

Selenium IDE היא סביבת פיתוח משולבת עבור תסריטי בדיקות לבודקים ולמפתחים. היא חלק מ- Selenium suit שכוללת גם את Selenium RC ו-Selenium Web driver  אשר נדרשות להתקנה בצד שרת.
התוסף מאפשר להקליט, לערוך ולהפעיל תרחישי בדיקה לאיתור באגים, להקליט בקלות ובמהירות ולהפעיל בדיקות ביעילות ובפשטות. עם קצת ידע ב- HTML וב- API של Selenium אפשר לכתוב בדיקות גם ללא צורך בהקלטה.קיימת תמיכת השלמה אוטומטית וניתן לכתוב תרחיש בדיקה מלא כמעט ללא התערבות בקוד.

Selenium IDE רץ בסביבת הקליינט ללא צורך כלל בהתקנה על השרת ולכן קל מאוד להתקין אותו ואין צורך בסביבה מורכבת או בסביבה בכלל על מנת להפעילו.

יכולות הכלי:

אפשרות לוודא את הכותרת של כל דף באופן אוטומטי
איתור ולמידת האובייקטים המצויים באתר תוך שימוש במזהים, בשמות, או ב- XPath לפי צורך
אפשרות לייצא בלחיצה פשוטה לקוד Java, Python ועוד, מה שמאפשר לייצור אוטומציה רחבה יותר למי שיש לו ידע בקוד
מילוי טפסים, השוואת נתונים, הקלטת פעולות עכבר ומקלדת
אפשרות עבודה מול  Coockies כולל מחיקה, ווידוא תוכן ה- Coockies ועוד
בדיקות אימות הימצאות אובייקטים בעמוד הנבדק
שליפת מקרים או נתונים מטבלאות אקסל
השלמה אוטומטית לכל פקודות Selenium הנפוצות
יכולות Debug כולל Breakpoints
שמירת מקרי הבדיקות כקובציHTML , תסריטי רובי או כל פורמט אחר
תמיכה בקבצי משתמש Extensions.js – יש אפשרות להעלות קובץ ובו לכתוב פונקציות מותאמות אישית שמופיעות לאחר מכן בממשק וניתנות לבחירה
יתרונות:

קל מאוד לשימוש ולהתקנה
לא נדרש ניסיון קודם בתכנות למרות שנדרש ידע ב-HTML וב -DOM
ניתן לייצא מקרי בדיקה לפורמטים שימושיים ב-Selenium RC ו-WebDriver
עזרה מובנית ועזרה ברשת, מודול דוחות
יוצר קוד במגוון שפות תכנות (iMacros עובד בשיטה שונה, קוד ארוז שניתן לקרוא לו מכל שפת תיכנות)
הכל ניתן להורדה בחינם
חסרונות:

נתמך רק ב-FireFox
תוכנן לכתיבת אבי טיפוס לבדיקות בלי אפשרות להעמקה ולכתיבת תרחישים מורכבים
אין תמיכה לפעילות איטרטיבית (לולאות) ומותנית (IF)
ביצוע הבדיקות איטי בהשוואה לזה של Selenium RC ו-WebDriver
בעיות בהקלטת Frames, IFrames ו – Popup Windows – להקלטת IFrames, נדרש לבחור בהם בצורה מפורשת בעזרת XPath
הקלטה ידנית אינה עובדת היטב עם אתרים המכילים AJAX ו-Flash

אילו בדיקות ניתן לבצע באמצעות Selenium IDE?
בדיקות שפיות (Sanity)
בדיקות פונקציונליות (Functionality tests) ללא איטרציות ותנאים
בדיקות קישוריות (ניתן לשלב בבדיקות רגרסיה)
בדיקות רגרסיה (לווידוא אובייקטים על המסכים)

iMACROS

iMACROS

 

הורדת הכלי: http://imacros.net/download

 

iMacros הוא תוסף עבור Firefox , Google Chrome ו – Internet Explorer אשר מוסיף אפשרויות הקלטה וניגון תסריטי בדיקה. בתוכנה יש אפשרות ליצור פקודות מאקרו ודוגמאות קוד  .JavaScriptiMacros פותח על ידי iOpusופורסם לראשונה בשנת 2001 – כתוכנת האוטומציה הראשונה בעולם שהנה מבוססת דפדפן. התוכנה יכולה לבצע כל שילוב של גלישה באתרים, מילוי טפסים, קליקים על קישורים, איסוף מידע, איתור חכם של תמונות בכל הטכנולוגיות ועוד.

באמצעות התוסף ניתן לבדוק אתרים שפותחו בשלל טכנולוגיות פיתוח אתרים כגון Java, Flash Flex או יישומוני  Silverlightוכן כל אלמנטיAJAX .

יכולות הכלי:

מילוי טפסים וניהול סיסמאות – התוכנה מסוגלת למלא כל טופס ויודעת לשמור סיסמאות מוצפנות.
אוטומציה של העלאות והורדות -  התוכנה יודעת לבצע אוטומציה של העלאות קבצים או תמונות , דפי אינטרנט שלמים (עם או בלי תמונות) וכמובן את אותן הפעולות בהעלאה. ניתן להשתמש במשתנים כשמריצים את הסקריפט בצורה של Command Line ולייבא מידע מתוך קבצי CSV (ניתן לשלב את ההקלטות עםJavaScriptכדי להשיג תוצאות מורכבות יותר.
מידע ואיסוף – הכלי iMacros יודע בצורה אוטומטית לקרוא מידע מאתרים ולייצא אותו לקבציCSV . יש לסקריפט תמיכה מלאה בכל קידוד של מידע כולל סינית.
מאפשר הקלטתiFrame  ו – Popup Windows לעומת סלניום ששם הנושא קצת יותר בעייתי.
משתמש באלגוריתמים שונים כדי לזהות אלמנטים בדרך פשוטה ומובנת על ידי שימוש בתכונות Built in.
כל ה- Assertions מתבצעות אוטומטית ע"י פקודת TAG.
כל שגיאה מתועדת ומדווחת ויש אפשרות לבצע התאמות ע"י עריכת הסקריפט שנוצר.
יש רק פורמט אחד שבו נשמר המקרו שלiMacros  הוא פשוט מאוד ללמידה לבודקים ונקרא מכל שפת קוד.
משימות מורכבות כגון תרחישים מבוססי נתונים (Data Driven) ניתן לבצע עם התערבות מעטה בקוד. ידע בשפות סקריפט יכול לשפר את רמת האוטומציה.
זיהוי אוטומטי של כל סוגי האלמנטים כולל:  Flex, Flash, AJAX.
יתרונות:

עובד על דפדפנים: FireFox, Chrome ו-Internet Explorer
תמיכה באוטומציה לבדיקה בטכניקת AJAX, יישומוני Flex, Flash, Silverlight ו- Java בגירסת ה- Standard Addition ו – Additions Enterprise – שתיהן בתשלום
תמיכה באוטומציה של Popups ו -iFrames
מנגנון זיהוי תמונה באתרים שאינם מבוססי HTML (בתשלום)
בדיקות אוטומטיות להורדת קבצים
שילוב עם כל תכנות Windows או שפת האינטרנט Scripting ממשק ( אובייקט COM ) ל- Scripting (קוד מדגם תצוגה). Selenium IDE לוקח את הגישה של יצירת קוד שונה
איסוףנתוניםוהורדה לקבצי טקסט ו- CSV (Data Extraction)
חסרונות:

מייצר קוד שמבוסס על ה- API של ה-iMacros בניגוד ל-  Selenium IDE שמייצר קוד בשפה על פי בחירה
אינו חינמי לחלוטין. חלק מיתרונות הכלי הנם בתשלום – למשל אם רוצים להוסיף את המנגנון לזיהוי תמונה באתרים בתוכם רכיבים בטכניקות AJAX,Flash  וכו'
אילו בדיקות ניתן לבצע באמצעות iMacros?

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

עשו את השיקולים שלכם: אם האתר שאתם בודקים משתנה באופן תדיר, אולי בדיקות אוטומטיות אינן פתרון אידאלי שכן תחזוקה תדרוש מכם יותר מבדיקות ידניות.

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

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

Imacros VS Selenium IDE

באופן כללי, בחירת הכלי תלויה בדרישות. אם יש לכם אתר/יישום אינטרנט שכולל בתוכו טכניקות כגון AJAX , Flash תעדיפו לבדוק עם iMacros . ישנה אפשרות לפיתוח ולהרצה של מספר בדיקות לא מבוטל גם באמצעות selenium IDE וניתן לאחר העמקה בכלי לעבור לגירסתSelenium WebDriverבהתקנה על השרת ולהתאים את התסריטים בצורה יותר מקיפה.

 


שתף

אודות מחבר

Menachem Marom