PracticU

Page Object Design עם Base Page

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

Page Object Design עם Base Page
מתודות העזר המשותפות עוברות לקלאס בסיס, Base Page, כדי שכל הדפים יוכלו להשתמש בהן בלי לשכפל קוד.
צעדי העבודה
1. טסט חיפוש: מוסיפים טסט שמזין "New York" בשדה החיפוש בדף הבית ולוחץ על כפתור החיפוש. בתחילה טסט הרישום מושבת והחדש מופעל, ובהמשך מפעילים את שניהם.
2. יצירת BasePage: יוצרים מחלקה בשם BasePage ומעבירים אליה את המתודות המשותפות, כמו fillText ו-click, יחד עם משתנה דרייבר ובנאי שמקבל דרייבר.
3. הורשה: בהכרזת HomePage ו-RegistrationPage מוסיפים extends BasePage, ובבנאי קוראים ל-super כדי להעביר את הדרייבר לבנאי של האב.
4. ניקוי כפילויות: המתודות שהועברו נמחקות מהדפים, והן זמינות לכולם דרך הירושה.
הערות
בסוף השיעור הטסט של הרישום והטסט של החיפוש רצים שניהם, והמתודות המשותפות נקראות מכל דף.
למבנה הפרויקט יש עכשיו שכבה משותפת לכל הדפים, שתשמש את הטסטים הבאים.
השיעור הבא בקורס: Page Object Design עם Explicit Wait

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

  1. 00:00

    מבוא לסביבת הפרויקט עם דף בסיס

  2. 00:39

    תהליך עסקי: רישום וחיפוש

  3. 01:18

    הוספת טסט חיפוש בדף הבית

  4. 04:04

    מתודת לחיצה משותפת לכל הדפים

  5. 05:12

    בעיית שכפול מתודות בין דפים

  6. 05:53

    יצירת מחלקת Base Page לשיתוף מתודות

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

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

  1. 00:02

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

  2. 00:25

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

  3. 00:42

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

  4. 01:10

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

  5. 01:55

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

  6. 02:25

    מה שעשיתי זה זיהיתי את ה-Find Element של הסדרי חיפוש ואחר כך את הכפתור של ה-Search ועשיתי רצף פעולות. בואו נלחץ Run ונראה את זה קורה כחלק מהטסט. צריך לשים לב שאני עשיתי את הטסט שאני רוצה לבדוק ב-enabled true ואת הטסט השני ב-false אנחנו רואים שהוא ביצע את הפעולה של הלחיצה אני רק חוזר ואומר שאת הטסט שלנו הטסט הקודם עשיתי בfalse ואת הטסט החדש עשיתי ב-true והכתיבה היא באותו סגנון של הסרט שעוטף את

  7. 02:42

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

  8. 03:27

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

  9. 04:13

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

  10. 05:07

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

  11. 05:28

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

  12. 05:43

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

  13. 06:14

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

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

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

ההרצאה הבאה: Page Object Design עם Explicit Wait

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

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

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

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