PracticU

מבנה קובץ של רובוט - Robot Framework

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

מבנה קובץ של רובוט - Robot Framework
קובץ robot בנוי מכמה חלקים קבועים. ההרצאה פותחת את הקובץ הראשון בפרויקט ומסבירה מה כל חלק עושה ומתי משתמשים בו.
יצירת הקובץ
בתוך ספריית Tests לוחצים מקש ימני, בוחרים New ואז File (ולא Python File, אף שהסביבה היא PyCharm), ונותנים שם first-robot-test.robot. הסיומת חייבת להיות robot.
החלקים של קובץ robot
1. Settings: הגדרות. כאן נכתוב תיעוד כללי, ושם גם קוראים ל-Library, כלומר ספרייה חיצונית עם keywords מובנים שלא אנחנו כתבנו, כמו Selenium Library. גם Resource נמצא כאן, והוא קריאה לקובץ robot אחר שבדרך כלל אנחנו כתבנו.
2. Test Timeout: חלק מנושא הסינכרון. הוא נותן למערכת סבלנות כשאלמנט בדף, למשל כפתור, עדיין disabled לחלקיקי שניות, כדי שהטסט לא ייכשל סתם.
3. Test Setup ו-Test Teardown: פעולות שמתבצעות בתחילת כל טסט ובסופו, למשל פתיחת דפדפן והגעה ל-URL, ובסוף סגירת הדפדפן או logout.
4. Suite Setup ו-Suite Teardown: אותו רעיון, אבל ברמת הקובץ כולו. כל suite הוא קובץ robot אחד, ולכן הפעולות האלה רצות פעם אחת לכל הטסטים בקובץ.
5. Variables: משתנים גלובליים שמוכרים לאורך כל הקובץ.
6. Test Cases: הטסטים עצמם, שמשתמשים בחלקים הקודמים כדי לפעול מול המערכת הנבדקת. בתוך טסט אפשר לכתוב Documentation עם הערות ומילות חיפוש, Tags לקיבוץ טסטים (למשל טסטי login או registration) ו-Timeout.
7. Keywords: מילות מפתח. אפשר להשוות אותן למתודות בתכנות מונחה עצמים: שולחים להן פרמטרים ומקבלים outputs, והן הופכות את הטסטים לפשוטים וקריאים.
בקובץ הראשון
PyCharm מציע להוסיף חלקים לפי הצורך. נוסיף Settings, Variables ו-Test Cases, ולא נפרט כרגע את Tasks. אפשר להוסיף גם Keywords. את התוכן של כל חלק נמלא בסרטונים הבאים. לא חייבים להשתמש בכל החלקים בכל קובץ.
אחרי ההרצאה אפשר לבנות שלד של קובץ robot ולהסביר מה תפקיד כל אחד מחלקיו.

פרקי ההרצאה: מבנה קובץ של רובוט - Robot Framework

  1. 00:00

    יצירת קובץ robot ראשון

  2. 00:38

    חלקי הקובץ Settings ו-Variables

  3. 01:12

    Keywords ומבנה הקוד

  4. 01:50

    Library מול Resources

  5. 02:27

    Test Timeout וסנכרון

  6. 03:07

    Setup ו-Teardown של טסט ו-Suite

  7. 03:43

    מבנה ה-Test Case וה-Tags

  8. 04:21

    מילוי החלקים בטסט

תמלול ההרצאה: מבנה קובץ של רובוט - Robot Framework

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

  1. 00:02

    בקטע הבא אני רוצה להראות את יצירת הטסט רובוט הראשון שאנחנו נריץ ביחד נתחיל בשלב הפרקטי שאנחנו בתוך הפרויקט שלנו הולכים לספריית טסטס עומדים עליה, לוחצים במקש ימני, בוחרים בתפריט new, פייל ושימו לב, פה אנחנו צריכים לתת שם אז בואו נקרא לה first-robot-test.robot

  2. 00:26

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

  3. 00:47

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

  4. 01:04

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

  5. 01:15

    ויש לנו את ה-QWords, QWords זה מילות מפתח בתרגום ישיר, אבל למעשה אפשר להקביל אותם בעולם התוכנה והתכנות מונחי עצמים, Object Oriented, ומתודות שבהן אנחנו עושים שימוש, אנחנו יכולים לשלוח פרמטרים, לקבל Outputs בחלק ה-Settings, מה שאנחנו צופים שיהיה זה דוקומנטציה, יהיה ליברי, ליברי זה

  6. 01:39

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

  7. 01:59

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

  8. 02:16

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

  9. 02:41

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

  10. 02:53

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

  11. 03:18

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

  12. 03:33

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

  13. 03:53

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

  14. 04:16

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

  15. 04:26

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

  16. 04:37

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

לקורס המלא: קורס Robot Framework אונליין

ההרצאה הקודמת: מבנה פרויקט רובוט - Robot Framework

ההרצאה הבאה: כתיבת טסט ראשון לרובוט - חלק 1

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

  • מבנה טבלאות
  • HTML - מבנה דף
  • מבנה - struct
  • מבנה הקורס AZ-900

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

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