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

מודל זה הינו מודל הקוד שעומד מאחורי ארכיטקטורת מערכת אוטומציה.

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

 

 

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

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

 

מחלקת ה-Tests:

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

דוגמא:

public class myLogicTestsClass
{
   public void Test_01()
   {
      ServiceClass.Click_on_Element("SomeElement");
      ServiceClass.Update_Field("Field_To_Find" , "Field_To_Update");
      ServiceClass.Clear_Cache();
   }

   public void Test_02()
   {
      ServiceClass.Click_on_Element("OtherElement");
      ServiceClass.Upload_File("C:\Documents\CameraFiles");
   }
}

מה ראינו פה? בתוך המחלקה מצויות 2 פונקציות, כל פונקציה תייצג לי מקרה בדיקה (Scenario), בתוך כל פונקציה נראה קריאה לפונקציות נוספות שיושבות במחלקת השירות (כמו לחיצה על כפתור או עידכון שדה).

 


 

מחלקת השירות:

מחלקה זו באה לתמוך בהרכבת תרחישי הבדיקות שלנו, שימו לב בדוגמת הקוד למעלה כי אנו קוראים לפונקציה – Click_on_Element שיושבת בתוך מחלקה שנקראת ServiceClass – זוהי מחלקת השירות שלי.

מה יושב שם ? המימוש של פונקציות גנריות וקריאה לפונקציות ייעודיות יותר – כאלו שהמימוש שלהם שונה בין סביבה לסביבה למשל. כאן נבצע את התיעול למחלקות אחרות, כי הרי פעולה של ניקוי ה-Cache (כמו שנתון בדוגמא) יכולה להתבצע ל גם על קליינט מעל PC וגם על Device.

 

דוגמא:

* רוצים לראות את המשך הפוסט ? צרו עימי קשר ונקבע פגישה לקורס פרונטלי

 


arrowBackarrowMainarrowFor

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