הכרות
כשרוצים לבצע בדיקות אוטומטיות על גבי דפדפני Web, אחד מהכלים הידועים כיום בשוק הינו ה"סלניום".
לסלניום קיימים 3 סוגי מוצרים: Selenium IDE, Selenium Grid ו-Selenium Web Driver.
בעוד ש-Selenium Grid מאפשר ניהול הרצות במקביל על מכונות שונות ודפדפנים שונים במקביל, Selenium WebDriver מצריך שימוש בספריות וידע בקוד.
Selenium IDE הוא כלי אשר אינו מצריך ידע בקוד מכוון שהוא מבצע הקלטה והרצה (Record & Play) של פעולות שביצענו בדפדפן וזאת על ידי שימוש בפקודות של סלניום.
הכלי נתמך על ידי דפדפני Chrome-ו Firefox.
תכונות מרכזיות
הקלטה והרצת בדיקות
בכדי לעבוד עם הכלי צריך להוסיף את התוסף לדפדפן מ-https://www.selenium.dev/selenium-ide/
לאחר הוספת התוסף, יש ליצור פרויקט חדש ובתוך הפרויקט החדש, יש לייצר מקרה בדיקה.
ראשית מגדירים את הכתובת של האתר שרוצים לעבוד איתו ואז לוחצים על כפתור הקלטה (Rec), ומיד לאחר מכן יופיע האתר בדפדפן חדש. מה שנשאר לעשות זה לבצע את הפעולות הרצויות בדפדפן.
בינתיים ברקע כל פעולה שלנו מוקלטות ובסיום ההקלטה ניתן לראות את כל הפעולות שמבצעים תחת כותרות "פקודה, יעד וערך (command, target, value)".
ב – command ניתן לבחור את הפקודות איתן אנו נרצה לעבוד, ב-target מוקלטים הלוקייטורים וב-value מוסיפים את הערכים שאיתם רוצים לעבוד.
עכשיו אפשר ללחוץ על כפתור Stop בכדי לעצור את ההקלטה ולצפות בפעולות שביצענו. ניתן ליצור מנות בדיקה (Suites Test) המאפשרים לארגן את כל תסריטי הבדיקה לפי הצורך.
ניתן להוסיף עוד מקרי בדיקה או מנות בדיקה ע"י לחיצה על כפתור ה-"+" ובסוף ניתן לשמור את הפרויקט במחשב עם סיומת side. ניתן להריץ את מקרי בדיקות או מנות בדיקה במהירות הרצויה ע"י כפתור השעון שנמצא ב-toolbar.
פקודות גם תוך כדי הקלטה
בנוסף להקלטה וצפייה של כל הפעולות שביצענו ניתן להוסיף פקודות לצורך מתן תוקף (Validation) ולא לחזור על אותם פעולות ולידציה עם נתונים שונים באופן ידני.
הפקודות הן ב-3 קבוצות: Action ,Accessors& Assertions.
פקודות Action הן באינטראקציה עם web elements ביישומון כמו: open, set windows size, click, close, echo.
פקודות Accessors הן אחסון הנתונים בתוך משתנים שהמשתמש הגדיר ע"י :
Store, Store Value, Store Text, Store Title
פקודות Assertions הן ולידציות מסוג: assert, verify, wait for
כאשר:
ניתן לבחור את הפקודות:
ניתן לבחור את הפקודות גם תוך כדי הקלטה ע"י לחיצה בכפתור ימני בעכבר ובחירה מרשימה וזה חוסך בזמן.
פקודות שניתן לבחור תוך כדי הקלטה הן:
Assert, Store ,Verify, Wait For, Mouse Over
לוקייטורים נוספים
בזמן הקלטה, הכלי שומר לוקייטורים נוספים בנוסף ללוקייטור הראשי. בזמן הריצה, אם הלוקייטור הראשון לא יכול למצוא את האלמנט אז הוא ממשיך ללוקייטור הבא, עד למציאת האלמנט. הבדיקה תכשל רק במקרה ושום לוקייטור לא ימצא את האלמנט.
ניתן לראות זאת ב-Target:
פקודות תנאי ולולאות
ניתן להגדיר תנאים כגון: if, else if, else, end
ולולאות כגון: while, end, do, repeat if, times, for each.
לדוגמא ניתן להוסיף מוצר לסל במקרה שהוא בהנחה:
איתור באגים (Debbuging)
לחיצה ליד שורת הפקודה תוסיף את האפשרות "דיבאג" לצורך עצירה של הרצה בשלב הרצוי. ע"י לחיצה על הכפתור שבצילום ניתן להמשיך להריץ את הבדיקה שלב אחרי שלב .
Command Line Runner
ניתן להריץ את הפרויקט במספר דפדפנים שונים על ידי שימוש ב-Command Line. לצורך זה צריכים להתקין את node (גרסה 8 או 10) , Selenium-side-runner ו-browser driver.
https://nodejs.org/en/download/
C:\Users\USER\Desktop>nmp install -g selenium-side-runner
C:\Users\USER\Desktop>nmp install -g chromedriver
לאחר התקנה של כל מה שנדרש ניתן להריץ את הפקודה:
Logs
בתחתית המסך בלשונית הלוגים ניתן לראות את כל ביצועי ההרצה של כל פקודה ומה התקבל לאחר הרצה כולל התוצאה הסופית. ניתן לקבל ב"לוגים" הדפסה רצויה ע"י שימוש בפקודת echo ב-command.
Code Export
ניתן לייצא את הקוד עבור המשך העבודה בסביבת פיתוח.
לחיצה על הכפתור הימני בעכבר על הבדיקה תראה את אפשרויות הייצוא ל:
Java JUnit, C# NUnit, C# xUnit, JavaScript Mocha, Python pytest, Ruby RSpec
שימוש חוזר של מקרי שימוש (Reuse)
אחת התכונות שמאוד אהבתי היא שניתן לכתוב סקריפט ולהריץ אותו במקרה בדיקה אחר. במקרה הבדיקה מגדירים משתנה בפורמט {...}$ ומאחסנים אותו במקרה בדיקה נוסף (לדוגמא ב-Invalid Login) עם הערכים שרוצים להריץ אתו ע"י פקודת Run, תכונה הזו יכול לחסוך לנו זמן.
יתרונות
חסרונות
ציון
מענה לצרכים של החברה 8/10
נותן למשתמש חווית שימוש 9/10
תמיכה וקהילה 8.5/10
סה"כ 8.5