PracticU

Page Object Design - חלק 2

בלי כתוביותעם כתוביות
PracticU › קורס סלניום מתקדם - CI/CD - Continues Integration › Page Object Design - חלק 2
מילון מושגים:
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
טופס - אזור בממשק שבו המשתמש מזין נתונים בשדות ושולח אותם, למשל טופס הרשמה או התחברות.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.

Page Object Design - חלק 2
בהמשך Page Object Design רואים איך מתכננים דפים לפי תהליך עסקי, וכותבים מחלקה לדף ומתודת ניווט שמפעילה אותו מתוך הטסט.
מיפוי התהליך לדפים
התהליך הנבחר: כניסה לאתר time and date, מעבר מדף הבית לדף הרישום, מילוי הטופס ולחיצה על Create Account. מכאן נגזרים שני דפים: דף הבית (HomePage) ודף הרישום (RegistrationPage). המעבר מדף הבית לדף הרישום הוא פעולה של דף הבית.
בניית דף הבית
1. משתנה דרייבר: מכריזים על WebDriver מחוץ למתודות, בתחילת הקלאס.
2. בנאי: הבנאי נקרא בשם הקלאס, מקבל WebDriver ומשייך אותו למשתנה של הקלאס.
3. מתודת navigate: מתודה ציבורית שמקבלת מחרוזת, ובתוכה switch שבוחר לאיזה מקום ללכת. לכל מקרה כותבים את הפעולות הדרושות.
4. מעבר לרישום: מזהים את הקישור לפי הזיהוי שהועתק מה-Inspect, ומבצעים עליו מעבר עכבר ולחיצה.
הרצה מתוך הטסט
הטסט יוצר אובייקט של HomePage ושולח לו את הדרייבר, ואז קורא ל-navigate עם המחרוזת של הדף הרצוי. בדיבאג נבדק שהדפדפן הגיע לחלון הרישום.
בשיטה הזאת הטסט עובד מול אובייקט הדף, ולא מול זיהויים גולמיים בכל מקום.
השיעור הבא בקורס: Page Object Design - חלק 3

פרקי ההרצאה: Page Object Design - חלק 2

  1. 00:00

    מבוא: חלק מתקדם בתכנון הדפים

  2. 01:39

    ניתוח זרימה עסקית לפני כתיבת הדפים

  3. 02:54

    תהליך הרישום שישמש את הטסט

  4. 04:41

    יצירת מבנה חבילות: טסט ודפים

  5. 05:54

    יצירת מחלקות דף הבית ודף הרישום

  6. 07:16

    בניית מחלקת דף: WebDriver ובנאי

תמלול ההרצאה: Page Object Design - חלק 2

הטקסט המלא של הדקות הראשונות בהרצאה «Page Object Design - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:23

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

  3. 00:38

    אז למה זה חשוב לנו? אמרנו שזה סטנדרט בתעשיית האוטומציה Page Object Design, זה עושה היגיון, זה הגיוני לכתוב את הטסטים בצורת דפים ולא בצורה אחת של סקריפט אחיד של טסט אחד שמכיל גם אובייקטים, גם הרבה שורות של פעולות, לפרק את זה בעצם ליחידות של דפים ולמצוא פעולות בדף על פי הפונקציונליות של הדף ובעצם לרכז

  4. 01:08

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

  5. 01:37

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

  6. 02:00

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

  7. 02:31

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

  8. 03:02

    אז הטסט שאני רוצה לבצע הוא גישה לאתר שאותו אנחנו רוצים לבדוק שזה www.timeanddate.com והפעולה הבאה היא ללכת לקלון ה-register ופה לבצע את הרג'יסטרציה של משתמש חדש באתר time and date וללחוץ על create account למלא את כל השדות חובה ולבצע לחיצה על ה-create account.

  9. 03:36

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

  10. 04:01

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

  11. 04:24

    אז הדף של ה-Home Page צריך להכיל את הפעולה שמביאה אותנו לדף הבא של הרג'יסטרציה. אוקיי, אז בואו נחזור עכשיו ל-ID שלנו, ופה אנחנו כבר מתחילים לבנות את הפרויקט שלנו אז יש לנו את דמו אחד בואו נשנה לו את השם ונעשה בעזרת רי פקטור נשנה אותו לטסט פקד שנקרא טסט אוקיי אז עשיתי שינוי לטסט ופה אני אצר עוד פקד ואני אקרא לו pages אוקיי אז יש לי את הפקד של טסט ופקד של

  12. 05:15

    פייג'ס ובעצם פה אני כבר יכול ליצור את הקלאס שידמה לי את דף הhome אז אני אקרא לו home מתחיל בעוד גדולה home page אוקיי אני לא צריך את ה static void man כי הוא לא אמור להיות קלאס הרצה ואני יצרתי home page הדף השני שאנחנו צריכים לצורך התהליך של הבדיקה שלנו זה את הregister חלון הזה של הרג'יסטרציה אוקיי אז זה יהיה הדף השני שלנו

  13. 05:54

    בואו ניצור אותו גם אותו בפרויקט ואני לוחץ מקש ימני new class ויש לנו פה את ה-registered page אוקיי אז יש לנו פה כבר שני דפים שמדמים לנו תהליך אז בדף הראשון שלנו אנחנו בעצם רוצים לדמות את התהליך של ההגעה ל-home page ובדף השני זה נסגר לי הגליקס תכף אני אפתח אותו בדף השני אנחנו נבצע את פעולת הרג'יסטרציה

  14. 06:29

    את המילוי השדות אוקיי אז יצרנו את השני דפים שלנו בתוך הpackage pages ויש לנו את הpackage test ואנחנו יכולים להתחיל לעבוד אז בואו נכיר איך אנחנו בונים בעצם אובייט מסוג page בפרויקט אוטומציה שלנו בסביבת selenium או framework selenium testng אז ה-home page

  15. 06:56

    שלנו אנחנו נותנים לו שם משמעותי שם שיסביר לנו בדיוק מה אנחנו רוצים במקרה שלנו אפליקציה time and date יש לנו פה את החלון של ה home page הזה זה החלון ולכן אני קורא לו home page אפשר לקרוא לו welcome page או main page או כל דבר אחר שיעשה היגיון מבחינתנו בתהליך עצמו של הכתיבה אז מה שאנחנו צריכים להיזכר עכשיו זה את הבסיס ביצירת אובייקט

  16. 07:26

    של השפת Java כשאנחנו יוצרים אובייקט אנחנו יוצרים קלאס בעצם מסוג page אנחנו תמיד נחזור על אותם שלבים השלב הראשון יהיה הכרזה על המשתנה המרכזי שהוא ה-WebDriver אז אנחנו נכריז על WebDriver ונקרא לו ל-Instant בשם ויש לנו פה את ההכרזה על ה-WebDriver ואז אנחנו בעצם נייבא את הקלאס של הסלניום לאחר שהבאנו את הקלאס

  17. 07:59

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

לקורס המלא: קורס סלניום מתקדם אונליין

ההרצאה הקודמת: Page Object Design - חלק 1

ההרצאה הבאה: Page Object Design - חלק 3

הרצאות קשורות מקורסים אחרים

  • סיכום פרויקט אוטומציה במובייל - Maven, Page Object
  • Master Page
  • Object Serialization
  • המחלקה Object

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס מייבן - Maven