PracticU

המבנה הנכון של פרוייקט הטסטים
עם קובץ Common

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

המבנה הנכון של פרוייקט הטסטים עם קובץ Common
ההרצאה מוסיפה לפרויקט שכבה נוספת, קובץ Common, כדי שה-Keywords לא יהיו תלויים ישירות ב-Selenium ואפשר יהיה להחליף את התשתית בעתיד.
השלבים העיקריים
1. ניווט בין קבצים: ב-PyCharm לחיצה על Ctrl עם הלחצן השמאלי של העכבר על Keyword מובילה להגדרה שלו, וכך רואים איך הוא מבצע.
2. קובץ Common: העתקת קובץ ה-Keywords לספריית ה-Common, שינוי ה-Documentation ל-Common Keywords, והשארת הספריות Selenium ו-Dialog. הקובץ הזה בשכבה נמוכה יותר, וה-Keywords עושים בו שימוש.
3. Suite Setup כללי: מוסיפים לו Argument (בסוגריים מרובעים) כדי שיוכל לפתוח כל דפדפן שנבחר, ולא רק אחד קבוע.
4. הזנת טקסט כללית: שתי הפעולות, המתנה עד שה-input זמין והזנת טקסט, מאוחדות ל-Keyword כללי אחד עם שני ארגומנטים: ה-Web Element והטקסט.
5. לחיצה כללית: Keyword נוסף שממתין שהאלמנט יהיה זמין ואז לוחץ עליו, עם ארגומנט Web Element.
6. בדיקת קיום בדף: Keyword כללי שמשתמש ב-Wait Until Page Contains, ו-Keyword נוסף לסגירת הדפדפן שנקרא מתוך ה-Teardown.
7. שימוש ב-Common בקובץ ה-Keywords: מחליפים בכל מקום את פקודות Selenium בקריאות ל-Keywords הכלליים, ומוסיפים Resource שמצביע על קובץ ה-Common. כך אפשר למחוק קוד כפול, כי המתנה והזנה כבר כלולות.
8. שגיאה בהרצה: הטסט נכשל כי ה-Suite Setup בקובץ הטסטים עדיין קרא ל-Keyword של שכבת ה-Common עם 0 ארגומנטים במקום הצפוי. מתקנים לקריאה ל-Keyword הנכון משכבת ה-Keywords, והטסט רץ נקי.
למה זה Best Practice
אם נרצה להחליף את Selenium בספרייה אחרת שיודעת לתקשר עם דפדפן, נשנה רק את קובץ ה-Common. יש בזה שכבתיות מעט מלאכותית, כי חלק מה-Keywords עושים אותו דבר, אבל המרצה נאמן לגישה של להחליף את הפעולות של Selenium בפעולות משלנו.
המבנה הסופי: ספריית טסטים, ספריית Results ושתי שכבות ב-Resources, Keywords ו-Common. אחרי ההרצאה אפשר לבנות Keywords מעל שכבת Common, ולשנות כל פעולה במקום אחד.
השיעור הבא בקורס: הרצת הטסטים עם דפדפנים שונים

פרקי ההרצאה: המבנה הנכון של פרוייקט הטסטים עם קובץ Common

  1. 00:00

    שלוש ספריות הפרויקט וניווט בין Keywords

  2. 00:57

    למה מפרקים Keywords לקובץ Common

  3. 01:35

    הגדרת ליברריז ו-Suite Setup ב-Common

  4. 02:11

    שימוש בקובץ Common מתוך הטסט

  5. 02:49

    מתודה כללית להזנת טקסט לאלמנט

  6. 03:41

    מתודת Common ללחיצה על כפתור

תמלול ההרצאה: המבנה הנכון של פרוייקט הטסטים עם קובץ Common

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

  1. 00:02

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

  2. 00:27

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

  3. 00:46

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

  4. 00:55

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

  5. 01:08

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

  6. 01:28

    אז בואו נראה איך אני כותב את ה-common robots. בואו נעתיק את כל הקובץ של ה-Keword, קונטרול C לספריית ה-Common כדי שיהיה לנו את המבנה, תכף נתחיל לשנות אותו, דוקומנטיישן, נשנה את זה ל-Common-Kewords.

  7. 01:42

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

  8. 01:58

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

  9. 02:30

    ב-resource ונשתמש ב-common-robot. אז יש לנו את זה ואנחנו משתמשים בטסט שלנו של סט הפרוסס, אופן-בראוזר, ביסוד סט הפרוסס ונשלח לו את החום.

  10. 02:43

    אז יש לנו את החלק הזה, type-user, והם שימו לב שאנחנו בעצם משתמשים בשתי פעולות של wait until element is enabled ו-input text. אני בעצם יכול לקחת את שני החלקים האלה ולייצר לי איזה common, בסדר? אז אני אומר משהו כללי כזה, ואז אני מעתיק את הפעולות שביצעתי.

  11. 03:03

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

  12. 03:17

    אז בואו נקרא לזה כאן טקסט. את ה-E-Mail-אדרס נחליף ב-Common במילה הכללית Web-אלמנט, ואת הטקסט אחליף בטקסט הגנרי הכללי שיישלח לי לקובץ הזה.

  13. 03:31

    אז יש לנו עכשיו איזשהו common method, מתודה כללית, שיודעת לחכות שה input יהיה enable, ואז להזין טקסט. אוקיי, תכף נראה איך זה עובד.

  14. 03:43

    זה common אחד, וה-common השני שאנחנו רוצים לעשות זה click button. אז בואו נראה דוגמה שאנחנו משתמשים פה. יש לנו wait until element enable, אז בואו נעשה פה, קליק ונוסיף את המילה ארגומנט ואנחנו צריכים פה להוסיף את החלק של וב אלמנט אוקיי אז אני עושה משהו כללי וב אלמנט למה אני עושה את זה כדי לפשט עוד יותר את התהליך עבודה שלי אתם תכף תראו שיש

  15. 04:11

    לזה מטרה מאוד מאוד מוגדרת

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

ההרצאה הקודמת: המבנה הנכון - של פרויקט טסטים

ההרצאה הבאה: הרצת הטסטים - עם דפדפנים שונים

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

  • המבנה הבסיסי של Jmeter
  • רכיבים נפוצים - Common Controls
  • פרוייקט מסכם ב-Xcode
  • פרוייקט ראשון ב-MVC

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

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