
navigate עם המחרוזת של הרישום.true. המשתנה bResult מתחיל כ-false ומשתנה רק בהצלחה.הטקסט המלא של הדקות הראשונות בהרצאה «Page Object Design - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, אנחנו נמשיך בשיעור הקרוב להכיר את ה-Page Object Design, את צורת העבודה הזאת שמבוססת על תכנון הטסטים שלנו וחלוקת הפרויקט בדיקות לדפים שמייצגים את הפעולות ואת הדפים באתר שאותו אנחנו בודקים.
עברנו בשיעורים הקודמים על המצגת ואמרנו שהשלב הבא בעבודה האוטומטית שלנו זה ללמוד לעבוד עם Page Object Design ואחר כך אנחנו נמשיך ונכיר דברים נוספים במסגרת העבודה של הפרויקט האוטומטי.
אז למה אנחנו צריכים את ה-Page Object? אמרנו שזה סטנדרט, אמרנו שזה עושה היגיון, קל לתחזק אותו וקל להרחיב את הדפים שאנחנו עובדים איתם ולהעתיק ולשכפל אותם ולהשתמש בעצם ביסודות ה-Object Oriented והתחלנו לתכנן ממש את התהליך עבודה.
כשאנחנו רוצים לעבוד עם Page Object Design אנחנו צריכים לתכנן בעצם מה אנחנו הולכים לבדוק, זאת אומרת איזה תהליך עסקי אנחנו רוצים לממש במערכת האוטומטית שלנו ולהכין את הדפים שאותו אנחנו צריכים כדי לבנות את התהליך העסקי הזה, בואו נדגים את זה.
אני עובר ל-ID שלי, יצרתי לעצמי קלאס מסוג טסט, זה קלאס טסט-אנג'י טיפוסי, יש את החלק של ה-Before Class שבו אני מאתחל את המשתנה המערכת שלי ומחליט איזה בראוזר אני אעבוד איתו, ואז אנחנו מתחילים בעצם לעבוד עם הדרייבר שיש לנו בתוך הקלאס,
ובפייג' אובייקט דיזיין אנחנו יוצרים אינסטנט של הדף שאותו אנחנו רוצים. במקרה שלנו הפעולה שרצינו לעשות זה ללכת לאתר שאנחנו בודקים ומהנקודה של ה-home להגיע לדף הרג'יסטרציה זה הטסט שרצינו זאת אומרת את הפעולה הזאת.
אז הכנו בדף ה-home page שלנו הכנו בעצם איזשהו אפשר איזשהו מתודה שנקראת navigate זה הטסט שלי ופה עשינו אתחול לאובייקט הום פייג' ובהום פייג' עצמו הפעלנו את המתודה נוויגציה שמקבלת סטרינג ודרך הסטרינג בעצם מממשת את הצורת ההגעה הזאת. זאת אומרת בעזרת האקשנס הצלחנו לבצע את הפעולה שאנחנו מבצעים ידנית, שוב אני חוזר לפעולה, עמידה
על האייקון של היוזר ואז הגעה לרג'יסטר ולהגיע לטופס. אז בעצם יש לנו פה את הפעולה של העגל הרג'יסר בעזרת האקשנס מוב טו אלמנט ואקשנס נקודה קליק על הקישור לדף הרג'יסטרציה.
אז בואו נראה, נריץ את זה פעם אחת ונראה למה אני מתכוון כשאנחנו מריצים את זה. יש לנו את ה-Test Page ויש לנו פה טסט אחד שהוא ב-Enable True, הוא עושה אתחול לדף ה-Home Page, קראתי לה instantHP והתחלנו להריץ אותו באמצעות המתודה navigate שנמצאת בתוכו.
פעולה נוספת שאני יכול לעשות על מנת שיהיה לי פשוט יותר קל ויותר נקי, זה להעביר את ההכרזה הזאת מחוץ למתודה הספציפית הזאת, מחוץ למתודה של הטסט עצמו.
זאת אומרת שזה יהיה ב-before method או ב-before class. זאת אומרת אנחנו יכולים כאן, בואו נשים אותו ב-before-method, נשים אותו כאן בחלק הזה של ה-TestNG ואז אנחנו משתמשים בו.
שימו לב שאת ההכרזה אנחנו צריכים לעשות מחוץ למתודות, זאת אומרת בחלק העליון של הקלאס על מנת שהוא יהיה מוכר בכל הטסטים של הקלאס הזה. אז העברתי את ה-HomePage מתחת להכרזה על המשתנים, ובבי פור מתוד אני רק מאתחל אותו ומבצע את הלחיצה הזאתי, מבצע את ההכרזה הזאתי ואז אני יכול לבצע את הלחיצה, אתם רואים?
הקוד נראה הרבה יותר נקי, אני אעשה פה breakpoint ואני אריץ, אוקיי, אז רק שנייה, בואו נרשום קצת את השורה, וזה הטסט שלנו, כל מה שהוא עושה הוא משתמש בדף ה-off page על מנת להפעיל את המתודה navigate ורג'יסטרציה, פה נריץ את זה בדיבאג, אני לוחץ על האייקון של הדיבאג ומפעיל בעצם את התהליך של ההגעה לחלון הרג'יסטרציה.
אוקיי, יש לי פה כמה דיבאגים, אני אוריד אותם ואמשיך את הריצה. הגעתי לאפטר מתוד ואנחנו רואים באמת שהגענו לחלון רג'יסטרציה. אוקיי, אז בעצם הטסט שלנו עושה את מה שהוא צריך והוא הגיע לאפטר מתוד אחרי שביצע את הטסט.
כרגע הטסט שלנו נראה מאוד מסודר אבל עדיין לא מבצע ממש בדיקה. זאת אומרת לא ביצעתי שום דבר. אז הייתי רוצה להוסיף למתודה רג'סטר את היכולת לדעת באמת שהגעתי לדף הנכון.
אז יש לי פה את הסוויץ' והסוויץ' שאני משתמש בו זה הדף רג'סטר, המתודה Navigate מכילה את הסוויץ' ופה בסוף אני אם אני ארצה להחזיר איזשהו ערך בוליאני שאכן הגעתי למקום הנכון אז בואו ניצור פה איזשהו משתנה בוליאני נקרא לו bresult שווה לצורך העניין false זה יהיה הערך הדפולטי שלו ואם הגענו לדף של הרג'יסטרציה הוא יחזיר true בואו נראה אז אוקיי נמפה אותו נעשה
inspect לדף הזה בואו נמפה את ונעשה איזשהו וידוי קטן שבאמת זה נמצא מבחינת החלון של הבדיקה. אז אנחנו מוודאים על ידי ה-DriverFindElement וה-Expat של הכותרת שאכן הגענו לדף של הרג'יסטרציה ואז אנחנו מחזירים True ובסוף המתודה אנחנו מחזירים את ה-B-Result
ככה שיש לנו את המתודה של הנביגציה אנחנו כמובן נעשה וידוא בכל דף ודף שהגענו לדף הנכון, כרגע אנחנו מתמקדים רק בקייס של ה-register, אוקיי? ואנחנו מכניסים פה תעיף וכותבים פה