PracticU

דיבאג בג'אווה - Debug Mode

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

דיבאג בג'אווה - Debug Mode
השיעור מתרגל את מצב ה-Debug בג'אווה באקליפס: הרצה הדרגתית של הקוד, עצירה בנקודות מסוימות, וצפייה בערכי המשתנים כדי לבדוק שהקוד עובד נכון.
השלבים העיקריים
1. הרצה רגילה מול דיבאג: הרצה רגילה מקמפלת ומריצה את הקוד בבת אחת. במצב Debug מציבים breakpoint בשורה מסוימת, והקוד נעצר שם.
2. יצירת משתנה אקראי: יוצרים מופע של הקלאס Random בעזרת new ומשתמשים ב-nextInt(50) + 1 כדי לקבל מספר שלם בין 1 ל-50. אחר כך בודקים אותו בתנאי if ו-else if.
3. הפעלת הדיבאג: לוחצים דאבל קליק על הגבול הכחול ליד השורה כדי לקבוע breakpoint, ואז מפעילים את Debug. בפעם הראשונה אקליפס מבקש לפתוח את perspective של הדיבאג.
4. צפייה במשתנים: בחלון Variables רואים את הערכים בזמן העצירה. אפשר גם ללחוץ על המשתנה ולבחור Watch כדי לבודד אותו.
5. קפיצה בין שורות: F5 נכנס לתוך מתודה, ו-F6 מדלג עליה ומציג את הערך שהיא החזירה. F8 ממשיך את הריצה עד הסוף או עד breakpoint הבא.
פקודות והגדרות
- F5 - Step Into, F6 - Step Over, F8 - Resume.
- בתפריט Run אפשר לבחור Remove All Breakpoints.
שימו לב
בדיבאג חייבים breakpoint אחד לפחות כדי שהמצב יעצור. breakpoint בתוך תנאי שלא מתקיים לא יעצור את הריצה.
תרגלו את F5, F6 ו-F8 כדי להכיר את דרכי הניווט בקוד, ואת דרכי הבדיקה של משתנים.

פרקי ההרצאה: דיבאג בג'אווה - Debug Mode

  1. 00:00

    מטרת השיעור: הרצה בדיבאג מוד

  2. 01:41

    יצירת פרויקט ומחלקה לתרגול דיבאג

  3. 03:16

    שימוש במחלקת Random ליצירת מספר

  4. 04:37

    הגבלת טווח המספר הרנדומלי

  5. 07:07

    הצבת breakpoint והרצה במצב דיבאג

  6. 08:01

    מעבר לפרספקטיבת הדיבאג ב-Eclipse

  7. 09:16

    צפייה במשתנים דרך Variables ו-Watch

  8. 10:33

    הרצה שלב אחר שלב: Step Into ו-Step Over

תמלול ההרצאה: דיבאג בג'אווה - Debug Mode

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

  1. 00:02

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

  2. 00:17

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

  3. 00:29

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

  4. 01:05

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

  5. 01:28

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

  6. 02:28

    לתוך ספריית src ניצור מקש ימני על ידי מקש ימני ניצור package ונכתוב לו practice add ובתוך הpackage ניצור לנו את הקלאס אנחנו נבצע קלאס הרצה ולכן נסמן את הפאביק static point man בואו נכתוב debug mode practice ונלחץ finish מצוין אז יש לנו בעצם את הקלאס שלנו ואנחנו יכולים להחליף את הטקסט הזה בקוד שלנו בואו נבצע איזה שהם התניות

  7. 03:11

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

  8. 03:35

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

  9. 04:05

    אנחנו יכולים להשתמש בקלאס הזה רנדום על ידי אינסטנט רנד וכאן אני יכול לקבוע int run myrand בוא נגיד random num שווה rand next אנחנו כותבים rand נקודה נקסט אנחנו רוצים להשתמש בסוג רנדומלי מסוג int integer מספר שלם ואנחנו יכולים גם לציין פה עד איזה מספר אז בוא נגיד שאנחנו

  10. 04:46

    משתמשים ב-50 ואנחנו צריכים לעשות פלוס 1 כדי שזה יהיה 50 באמת אוקיי ועכשיו אנחנו יכולים להתחיל להשתמש ב-My Random Number על ידי פעולות של אטמרות בוליאניות if אני כותב פה my control space משלים אם הוא גדול מ-10 אז תבצע את הפעולה הבאה בוא נגיד שאני אתחל אותו ב-my שווה נגיד 79 else if בוא נעשה ככה עם המספר עצמו

  11. 05:40

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

  12. 06:53

    זאת לראות את זה בואו נוסיף את ה-show view ואת הקונסול אם אני מעריץ אותו גם אנחנו רואים שזה רץ אבל לא ביצע שום דבר אז בואו נגיד שאנחנו לא משתמשים בסיסטם אאוט פרינטלנד ובכל זאת רוצים לראות מה הערך של מהי רנדום דאם מה שעשיתי עכשיו אמרתי על שורה 12 ולחצתי דאבל קליק על הגבול הכחול אוקיי אני אחזור על זה

  13. 07:23

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

  14. 07:59

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

  15. 08:11

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

  16. 09:06

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

  17. 09:26

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

  18. 09:44

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

  19. 10:27

    וזה גם יתן לי את הערך שהוא מכיל בתוכו. עכשיו אמרנו אם הוא גדול מ-10 אז תקווה שהוא my random 99. אני רוצה עכשיו להתקדם אבל אני לא רוצה להתקדם בבת אחת להריץ את כולו אם אני רוצה להריץ בבת אחת אני בעצם נחץ על ריזום f8 אבל אם אני רוצה להתקדם שלב שלב אני יכול להשתמש בחיצים האלה step into step over זה שיש לנו קריאה למתודה ואנחנו רוצים לראות

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

ההרצאה הקודמת: עבודה עם קבצים בג'אווה - Reading Properties File

ההרצאה הבאה: Inspect Element On Browsers

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

  • דיבאג קונטיינר - Debug Container
  • מה היא ג'אווה
  • Debug View
  • מצב Debug מצב Release

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

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