PracticU

סיכום החומר בקורס סלניום מתקדם - חלק 2

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

סיכום החומר בקורס סלניום מתקדם - חלק 2
בשיעור מייבאים לאקליפס את פרויקט הדוגמה של האוטומציה, סורקים את המבנה שלו, ומבינים כיצד הקבצים מתחברים זה לזה. הפרויקט משמש כדוגמה לכתיבת סביבת בדיקות לאפליקציית Web.
ייבוא הפרויקט
1. יוצרים Workspace חדש באקליפס. Workspace הוא סביבת עבודה נפרדת שמזהה את הפרויקטים שבתוכה.
2. בתפריט File בוחרים Import, ואחר כך Existing Projects into Workspace. בוחרים את קובץ ה-ZIP של הפרויקט, והאקליפס מזהה את שם הפרויקט מתוכו.
3. בתכונות הפרויקט מוסיפים את הג'ארים שהפרויקט צריך: Log4j, POI, ReportNG, Selenium ו-TestNG. הג'ארים נבחרים מתיקיות שבהן הם נשמרו.
מבנה הפרויקט
- תיקיית ה-source מכילה חבילות (packages) לשירותים, לדפים (Page Objects) ולטסטים.
- בתיקיית השורש יש קובץ נתונים מסוג properties, שמכיל זוגות מפתח וערך. בדוגמה מופיע מפתח url עם כתובת האתר.
- קובץ XML של TestNG מגדיר אילו טסטים ירוצו, וכולל גם את הפרמטר של שם הדפדפן, כך שאפשר לשנות אותו בלי לשנות את הקוד.
מחלקת השירות
1. המתודה getProperty קוראת את הקובץ של ה-properties ומחזירה ערך לפי מפתח. היא סטטית, כך שאפשר לקרוא לה בלי ליצור אובייקט.
2. המתודה getWebDriver מקבלת את שם הדפדפן ואת כתובת הבסיס, יוצרת דרייבר מתאים, מגדירה זמני המתנה, פותחת את הכתובת ומגדילה את החלון.
הכנה לטסטים
- מתודת Before Class רצה פעם אחת לפני כל הטסטים במחלקה, וקוראת את הכתובת ואת הדרייבר.
- מתודת Before Method רצה לפני כל טסט, ופותחת את הדף שנבדק.
- אחרי ההכנה, הטסטים יוצרים אובייקטים של הדפים ומפעילים את המתודות שלהם.
הסיכום: הייבוא דורש workspace, ג'ארים והגדרות נכונות. המבנה מחלק את הקוד לשירותים, לדפים ולטסטים, והנתונים החיצוניים נקראים מקובץ properties.
השיעור הבא בקורס: סיכום החומר בקורס סלניום מתקדם - חלק 3

פרקי ההרצאה: סיכום החומר בקורס סלניום מתקדם - חלק 2

  1. 00:00

    מעבר מתיאוריה לפרויקט מוכן

  2. 00:41

    הגדרת Workspace ייעודי ב-Eclipse

  3. 01:23

    ייבוא הפרויקט לתוך ה-Workspace

  4. 02:36

    הוספת ספריות ה-JAR לנתיב הבנייה

  5. 04:45

    מבנה הפרויקט: packages, Data File ו-XML

  6. 06:09

    הסבר על טסט TestNG ו-Before Class

תמלול ההרצאה: סיכום החומר בקורס סלניום מתקדם - חלק 2

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

  1. 00:02

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

  2. 00:23

    אני הולך לסביבת העבודה שלי, ID, האקליפס. כאן יצרתי Workspace נקי. יצירת Workspace מתבצעת דרך תפריט File, סוויץ' וורקספייס ויש לנו אפשרות ליצור וורקספייס דרך הסוויץ' וורקספייס.

  3. 00:41

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

  4. 01:07

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

  5. 01:21

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

  6. 01:37

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

  7. 02:03

    זה הקובץ zip שאותו אני רוצה לייבא שימו לב האקליפס כבר מזהה את שם הפרויקט תוך קובץ הזיפ Automation Projects Demo ואני לוחץ Finish. כשביצעתי Finish אני צריך לדאוג לייבא את כל הג'ארים שהפרויקט משתמש בהם.

  8. 02:34

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

  9. 02:48

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

  10. 03:07

    את ה-JRE אני לא צריך כי כאן יש קבצים אמיתיים, ב-Log4J וה-POI אין את הקבצים עצמם ולכן אני צריך לייבא ג'ארס. איך נייבא את הג'ארס?

  11. 03:23

    נלחץ על Add Extended Jars. אני אלך לספרייה שבה הורדתי ושמרתי את הג'ארס, לדוגמה אצלי זה C Jars. ללכת לספריית הסלניום, נייבא את כל הג'ארים שנמצאים שם.

  12. 03:45

    שוב, היוויתי את שתי הג'ארים העליונים, עכשיו אני נכנס לליבס, לוקח את קונטרול A ומייבא את כולם, ואני ממשיך הלאה לספריות ה-reported G, לספריית ה-POI, אני מייבא את כל הג'ארים שנמצאים לי בספריות האלה, כולל בתוך ספריות המשנה, כל פעם אני מייבא חדש,

  13. 04:25

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

  14. 04:52

    אנחנו רואים שיש לנו את שם הפרויקט, יש לנו את הקבצי ג'אר של ה-JRE שזה ה-Java Runtime Environment ואז יש לנו את ספריית ה-source, פה יש לנו את כל המבנה של ה-packages שהוא מובנה Page Object יש לנו בספריית השורש או בספריית הפרויקט גם Data File שבו אני יכול להחזיק Key ו-Value.

  15. 05:16

    יש לנו את ה-Key URL ואת ה-ערך, שווה ערך. ויש לנו כאן את ה-ReportNG XML. הדרך שלי בעצם להריץ את ה-XML שלי ולבצע ריצה שתייצר לי גם דוח של ReportNG מהפרויקט. בספריית ה-Source נוכל לראות שיש לנו את ה-Packages הבאים, יש לנו את ה-utility של טסט, פייג'ס ו-DP, אוקיי?

  16. 05:49

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

  17. 06:04

    בתוך ה-TestPageObject נוכל לראות שיש לנו כאן מבנה של טסט שהוא מבוסס על טסט-NG. אנחנו רואים פה את ה-annotation של ה-TestNG וכאן אנחנו רואים את ה-Before Class.

  18. 06:26

    אנחנו יכולים לראות את זה גם בסקשן של ה-Outline, יש לנו Before Class, Before Method ואז יש לנו מספר טסטים לדוגמה ואז יש לנו את ה-After Method ו-After Class.

  19. 06:38

    בואו נראה שנייה ממה מורכב ה-Before Class. יש לנו את ה-Before Class, בלוג אני מוציא איזשהו אינפו שאני אומר שאני בתוך ה-Before Class ואז יש לי הגדרת משתנה מערכת, של ה-Escape של ה-ReportNG שמאפשר לי בעצם להוציא ל-HTML טאגים HTML, אוקיי?

  20. 07:04

    שימו לב שלכל שורת הגדרה יש הערה בדיוק מה היא עושה.

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

ההרצאה הקודמת: סיכום החומר בקורס סלניום מתקדם - חלק 1

ההרצאה הבאה: סיכום החומר בקורס סלניום מתקדם - חלק 3

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

  • סיכום החומר בקורס AWS
  • סיכום החומר
  • מה לומדים בקורס סלניום - QA Selenium
  • רובוט VS סלניום

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

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