PracticU

Automation Framework

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

Automation Framework
השיעור פותח את הדיון בסביבת אוטומציה מסודרת לצוות הבדיקות, ומדגים טסט פשוט לפני שמוסיפים מסגרת עבודה.
למה צריך מסגרת עבודה
1. הבעיה: בדיקות עם Selenium לבדן הן רצף פקודות, בלי דוחות, בלי ניהול ובלי תיעדוף.
2. היתרונות של מסגרת אוטומציה: כתיבת טסטים מסודרת, דוח HTML אחרי כל ריצה, תיעדוף ובחירה של טסטים, ריצה מקבילית, ושימוש בנתונים חיצוניים, למשל מקובץ אקסל.
3. TestNG: השיעורים הבאים מראים איך TestNG נותן מענה לדרישות האלה.
הדמו: טסט פרימיטיבי
1. האתר והתרחיש: נכנסים ל-timeanddate.com, לוחצים על דף מזג האוויר, מקלידים New York, בוחרים את התוצאה הנכונה ובודקים את הכותרת.
2. הכתיבה: מגדירים את הדרייבר, מבצעים driver.get, מוצאים אלמנטים לפי ID ולפי טקסט של קישור, שולחים טקסט עם sendKeys, ומשווים את הטקסט שנמצא לטקסט הצפוי.
3. דיבאג: מריצים במצב דיבאג ומוסיפים watch כדי לבדוק אם התנאי מחזיר true.
שימו לב
- הטסט הפרימיטיבי עובד, אבל הוא לא מציג דוח ולא מסביר איזה טסט עבר. זו הסיבה שמוסיפים מסגרת.
אחרי השיעור יש לכם טסט עובד שישמש בסיס לשכלול עם TestNG.
השיעור הבא בקורס: TestNG Setup

פרקי ההרצאה: Automation Framework

  1. 00:00

    מבוא לסביבת עבודה לאוטומציה

  2. 01:00

    היתרונות של סביבת אוטומציה

  3. 02:09

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

  4. 03:03

    הרצת טסטים מונחי נתונים

  5. 03:41

    טסט בסיסי ללא framework

  6. 04:21

    הדגמה ידנית של מסלול הבדיקה

  7. 05:49

    כתיבת הטסט הראשון בקלאס

  8. 07:40

    חיפוש טקסט ושליחה לשדה

תמלול ההרצאה: Automation Framework

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

  1. 00:02

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

  2. 00:18

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

  3. 00:35

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

  4. 01:00

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

  5. 01:19

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

  6. 01:32

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

  7. 02:04

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

  8. 02:25

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

  9. 02:39

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

  10. 02:59

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

  11. 03:32

    את כל זה אנחנו נלמד בהמשך. אז אנחנו מוכנים להתחיל להכיר את ה-Automation Framework אבל בדוגמה הראשונה אני ארצה ליצור איזשהו טסט בסיסי פרימיטיבי שאותו בהמשך אנחנו נראה איך אנחנו משפרים בעזרת ה-Automation Framework אז בואו נראה למה אני מתכוון בסרטונים האחרונים הכרנו את האתר timeanddate.com

  12. 04:04

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

  13. 04:29

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

  14. 05:24

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

  15. 05:49

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

  16. 06:05

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

  17. 06:24

    אז הדבר הראשון שאני רוצה לעשות זה driver.get ואנחנו רוצים להקיש את האתר שהיינו שם קודם. get time and date.co לאחר מכן אנחנו רוצים לבצע לחיצה על הכפתור של וודר אוקיי אנחנו נלחץ פה לבצע אינספקט על ידי מכש ימני ויש לי פה את הוודר ואני יכול לבצע פה זיהוי על ידי אקספט אוקיי זה האקספט שאני אשתמש בו אנחנו רואים שיש לנו זיהוי חד ערכי ואני חוזר

  18. 07:16

    לאקליפס ומבצע קליק על אותו אלמנט שזיהינו בעזרת האקספט אוקיי אז יש לנו את הזיהוי הזה ואנחנו מבצעים ולאחר מכן אנחנו רוצים לבצע חיפוש שלחצנו כאן אנחנו רוצים לעשות send key על הטאב הזה שיש לנו פה את ה-id שלו אז אני אשתמש ב-id ואני אשלח טקסט אוקיי find element ו-by id ויש לי פה את הזיהוי ה-id שלו כאן אני רוצה send key וכאן את הביטוי

  19. 08:23

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

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

ההרצאה הקודמת: Switch to Window

ההרצאה הבאה: TestNG Setup

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

  • מבוא ל-Robot Framework
  • שימוש ב-Entity Framework - חלק 1
  • סיכום קורס - Entity Framework Core
  • אתר OSINT Framework

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

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