PracticU

Page Object Design עם Method By

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

Page Object Design עם Method By
בשיעור משפרים את מתודת ההקלדה בדף הרישום: במקום לכתוב ניקוי והקלדה בכל שדה, בונים מתודה אחת שמבצעת את שתי הפעולות לפי זיהוי.
צעדי העבודה
1. מתודת fillText: המתודה מקבלת אלמנט ומחרוזת, ומבצעת clear ואחר כך sendKeys.
2. הסיבה לניקוי: אם כבר יש טקסט בשדה, הוא נמחק לפני ההקלדה, והערך החדש הוא היחיד.
3. שליחת By במקום אלמנט: המתודה מקבלת את הזיהוי בלבד, ובתוכה מוצאת את האלמנט עם driver.findElement.
4. קיצור הקוד: בכל שדה כותבים עכשיו שורה אחת עם הזיהוי והטקסט.
הערות
את הזיהוי אפשר לשלוח לפי name, לפי id או לפי XPath.
בשלב הבא מעבירים את המתודה לקלאס בסיס משותף לכל הדפים.
השיעור הבא בקורס: Page Object Design עם Base Page

פרקי ההרצאה: Page Object Design עם Method By

  1. 00:00

    מבוא למתודה כללית לכל הדפים

  2. 00:41

    מתודה למילוי טופס הרישום

  3. 01:44

    איחוד clear ו-sendKeys במתודה אחת

  4. 02:43

    כתיבת מתודת fillText

  5. 04:29

    מילוי שדות אימייל וסיסמה

  6. 05:41

    העברת By במקום WebElement

תמלול ההרצאה: Page Object Design עם Method By

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

  1. 00:02

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

  2. 00:39

    של הדפים. לדוגמה HP מייצג את דף ה-Home Page, RP Registration Page שמייצג לנו את דף הרג'יסטרציה. אז בדף הרג'יסטרציה אנחנו מבצעים מתודה שנקראת Field Registration Form והיא בעצם מקלידה את הערכים שנשלחים מהקלאס של הטסט, שפה אני שולח פרטים על מנת לרשום לקוח חדש באתר שאותו אני בודק.

  3. 01:10

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

  4. 01:37

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

  5. 01:54

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

  6. 02:32

    בוא אני אסביר את זה ואנחנו נראה את הדוגמה פה יש לי את ה-registration page אני רוצה לכתוב את זה בצורה קצת יותר נקייה אז אני יוצר לעצמי מתודה נוספת אזר שהיא תהיה מסוג void זאת אומרת היא תחזיר כלום ואני אקרא לה fill text ומה שהיא תקבל היא תקבל בעצם את ה-web-element אני אקרא לו we והיא תקבל גם את הסטרינג שאותו היא צריכה להקליד str אני אקרא לזה והיא תבצע פה את הפעולה

  7. 03:16

    של ה-we נקודה clear ו-we.sandkeys את ה-str זאת אומרת השתמשתי במתודה הזאתי כדי לבצע את ה-sandkeys אבל גם את ה-clear עכשיו איך אני ממיר את הפעולות האלה לשימוש במתודה במקום להשתמש בכל הקוד הארוך הזה אני פשוט אבצע את הקריאה הזאתי ויש לי פה את הפייה הזאתי וכאן אני לא צריך את הסנד קיז אני רק

  8. 04:00

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

  9. 04:33

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

  10. 05:15

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

  11. 05:41

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

  12. 06:08

    שהוא כבר מזוהה אני אשתמש בקלאס שנקרא ביי והזיהוי הוא יהיה גם אני אקרא לו ביי זאת אומרת אני אשלח למתודה שלי רק את ה-by,

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

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

ההרצאה הבאה: Page Object Design עם Base Page

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

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

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

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