PracticU

הורשה בג'אווה - inheritance

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

הורשה בג'אווה - inheritance
השיעור מסביר הורשה (inheritance) בג'אווה: קלאס בן מקבל את הקוד של קלאס אב, כך שקוד משותף נכתב פעם אחת ומשמש את כל הדפים בפרויקט האוטומציה.
השלבים העיקריים
1. הבעיה: דף ההתחברות, דף החיפוש ודף עדכון הפרופיל צריכים את אותן פעולות, כמו הקלדה בשדה ולחיצה על כפתור. כתיבה נפרדת של הפעולות בכל דף תיצור כפילות.
2. קלאס אב: נוצר קלאס BasePage שמכיל את המתודות המשותפות typeText ו-click. typeText מקבלת את שם השדה והטקסט, ו-click מקבלת את שם הכפתור.
3. קלאסים בנים: LoginPage ו-ProfilePage נכתבים עם המילה extends ושם הקלאס BasePage, ולכן הם יורשים את המתודות בלי להעתיק אותן.
4. שימוש במתודה משותפת: בתוך LoginPage נכתבת מתודה login שמקבלת משתמש וסיסמה, ממלאת את השדות ולוחצת על Submit בעזרת המתודות של קלאס האב.
5. הפעלה: בקלאס main יוצרים מופע של LoginPage ושל ProfilePage, וכל אחד מהם מפעיל את המתודה שלו.
6. ניווט בקוד: בעזרת Ctrl ולחיצה על שם המתודה באקליפס אפשר לעבור להגדרה שלה בקלאס האב.
שימו לב
מתודה שנכתבה בקלאס האב זמינה לכל הבנים, ולכן שינוי בה משפיע על כולם.
אחרי השיעור תוכלו להפריד קוד משותף לקלאס אב ולהשתמש בו מכמה דפים בעזרת extends.
השיעור הבא בקורס: טיפול בשגיאות - Exception Handling

פרקי ההרצאה: הורשה בג'אווה - inheritance

  1. 00:00

    מה זה הורשה ולמה משתמשים בה

  2. 01:02

    קוד משותף במחלקת אב אחת

  3. 01:42

    דוגמת דפים: לוגין, חיפוש ופרופיל

  4. 03:02

    מחלקות בנות לכל דף באתר

  5. 03:42

    יצירת פרויקט Java לתרגול הורשה

  6. 05:50

    יצירת מחלקת Login Page

  7. 06:55

    מתודת לוגין עם שם משתמש וסיסמה

תמלול ההרצאה: הורשה בג'אווה - inheritance

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

  1. 00:02

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

  2. 00:41

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

  3. 01:08

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

  4. 01:25

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

  5. 01:46

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

  6. 02:07

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

  7. 02:39

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

  8. 02:56

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

  9. 03:20

    כאן אנחנו רואים עוד child class, profile page וכל האובייקטים האלה יהיו מקושרים ל-parent class, קלאס אחד גדול שיכיל את כל הקוד המשותף לכל האחרים, לכל הדפים האחרים.

  10. 03:42

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

  11. 03:56

    אז הפעולה הראשונה שאני ארצה לעשות זה יצירת פרויקט חדש. אז אני מקיש בחלק הזה של האקליפס, מקש ימני, New ואני מחפש Java Project אם אני לא מוצא אני הולך ל-Adder ופה אני מחפש Java Project ואני בוחר ב-Java Project.

  12. 04:19

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

  13. 04:41

    בעצם יצר לי Java פרויקט בסביבת האקליפס שלי, אני רואה את ה-JRE ואת ה-SRC, פה מה שאנחנו צריכים ליצור עכשיו זה על ידי מקש אם אני immune, ונקרא לזה practice אוקיי אוקיי יש לי package ריק מתחת לספריית ה src קיצור של source וכרגע מה שאני רוצה לעשות זה להתחיל להדגים שימוש בהורשה אז קודם כל אמרנו שבדוגמה שלנו ניצור כמה אובייקטים

  14. 05:18

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

  15. 05:35

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

  16. 05:50

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

  17. 06:26

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

  18. 06:55

    אוקיי, נפתח את הסוגיה עם סולסלים וכרגע אנחנו נוסיף איזשהו הסבר, אני כותב cso control space ומה שאני יכול לעשות עכשיו זה לתאר מה אני הולך לעשות, אז אני כותב method will login to site, אוקיי, ועכשיו מה שאני צריך

  19. 07:28

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

לקורס המלא: קורס סלניום Selenium בסיסי

ההרצאה הקודמת: תרגול Dynamic Class

ההרצאה הבאה: טיפול בשגיאות - Exception Handling

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

  • הורשה - Inheritance
  • מה היא ג'אווה
  • הורשה ב-NodeJS
  • הורשה ב-TypeScript

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

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