מבוא
במאמר זה, אסקור את היכולת להוסיף session storage, local storage, cookies ולוגי קונסול לדוח אוטומציית הבדיקות שלנו.
הכלים הטכנולוגיים המשמשים למימוש הפתרון הם:
שפת תכנות: Python
מנוע בדיקות: pytest
תשתית דוחות: Allure
קישור לפרויקט שפותח יחד עם אליאס שורוש.
אנו מבינים כמה קריטי להבטיח שהיישומים שלנו פועלים בצורה חלקה ויעילה כמהנדסי אוטומציית בדיקות. ניתן להשיג זאת על ידי רישום מידע מפתח שימושי לפתרון בעיות וניפוי באגים. מידע זה כולל לוגי קונסול, session storage, local storage ו-cookies.
לוגי קונסול מתייחסים להודעות שנרשמות בקונסול המפתחים של הדפדפן. הודעות כאלה משמשות בדרך כלל לרישום מידע על המצב הנוכחי של היישום, לדיווח על שגיאות ואזהרות, ולרישום מידע ניפוי באגים. אם תלחץ על F12 בדפדפן מודרני ותבחר בלשונית Console, תוכל לגשת ללוגי הקונסול.
Session Storage ו-Local Storage הם מנגנוני אחסון אינטרנטיים המאפשרים ליישומי אינטרנט לאחסן נתונים באופן מקומי במכשיר המשתמש. Session storage משמש לאחסון נתונים ספציפיים לסשן משתמש יחיד, בעוד ש-local storage משמש לאחסון נתונים שאמורים להישמר גם לאחר שהמשתמש סוגר את הדפדפן. ההבדל בין השניים הוא שנתוני session storage נמחקים כאשר המשתמש סוגר את הדפדפן, בעוד שנתוני local storage נשמרים.
Cookies, לעומת זאת, הם קבצי טקסט קטנים המאוחסנים במכשיר המשתמש על ידי אתר אינטרנט. הם משמשים לזכירת העדפות משתמש, פרטי התחברות ומידע אחר הספציפי למשתמש. Cookies מאוחסנים במכשיר המשתמש ונשלחים בחזרה לשרת עם כל בקשה, מה שמאפשר לשרת לזהות את המשתמש ואת העדפותיו.
מימוש הפתרון
import json
import allure
allure.attach(
body=json.dumps(driver.get_cookies(), indent=4),
name="Cookies",
attachment_type=allure.attachment_type.JSON
)
allure.attach(
body=json.dumps(
{item[0]: item[1] for item in driver.execute_script("return Object.entries(sessionStorage);")},
indent=4
),
name="Session Storage",
attachment_type=allure.attachment_type.JSON
)
allure.attach(
body=json.dumps(
{item[0]: item[1] for item in driver.execute_script("return Object.entries(localStorage);")},
indent=4
),
name="Local Storage",
attachment_type=allure.attachment_type.JSON
)
allure.attach(
body=json.dumps(driver.get_log("browser"), indent=4),
name="Console Logs",
attachment_type=allure.attachment_type.JSON
)
אנו משתמשים בספריית Allure כדי לצרף סוגי נתונים שונים לדוח הבדיקה. ספרייה זו מספקת API קל לשימוש לצירוף נתונים, כולל טקסט, JSON ותמונות, לדוח.
באמצעות שיטת get_cookies()
של Selenium כדי לקבל את הcookies המשויכות לסשן הדפדפן הנוכחי ולצרף אותן לדוח בפורמט JSON.
הcookies כלולות כעת בצירופי הדוח:
שורות הקוד הבאות משתמשות בשיטת execute_script()
של Selenium כדי לאחזר את התוכן של session storage ו-local storage, בהתאמה. ערכים אלה מומרים לאחר מכן למילון, מעוצבים כ-JSON, ומצורפים לדוח.
ה-session וה-local storage כלולים כעת בצירופי הדוח:
השורה האחרונה של הקוד משתמשת בשיטת get_log()
של Selenium כדי לאחזר את לוגי הקונסול ולצרף אותם לדוח בפורמט JSON.
לוגי הקונסול כלולים כעת בצירופי הדוח:
לסיכום
הקוד שנמצא כאן מדגים כיצד להוסיף לוגי קונסול, session storage, local storage ו-cookies לדוחות Allure באמצעות Python, Selenium ו-Allure. על ידי שימוש בספריות אלה ובקוד זה, מפתחים ובודקים יכולים להבטיח שיש להם את כל המידע הדרוש כדי לבדוק ביסודיות את היישומים שלהם ולפתור כל בעיה שמתעוררת במהלך תהליך הבדיקה.
בדיקות מהנות!