דלג לתוכן
חזור

אוטומציית בדיקות - כיצד לערוך cookies ב-Selenium Python

פורסם:

מבוא

מאמר זה יספק הוראות שלב אחר שלב כיצד לערוך cookies ב-Selenium Python.

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

ההכלים הטכנולוגיים המשמשים למימוש הפתרון הם:

שפת תכנות: Python

פלטפורמת בדיקות: pytest

פלטפורמת דיווח: Allure

קישור לפרויקט שפותח יחד עם אליאס שורוש.

מקרים נפוצים לעדכון ערכי cookies

ישנם מצבים שונים בהם נדרש לעדכן ערכי cookies. הנה שלושה תרחישים אופייניים:

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

הבעיה

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

מימוש הפתרון

def edit_cookie(self, cookie_key, cookie_value):
    cookie = self.wait.until(
        lambda d: d.get_cookie(cookie_key),
        message=f"Cookie '{cookie_key}' does not exist within the given timeout")
    self.driver.delete_cookie(cookie_key)
    self.driver.add_cookie({
        "name": cookie['name'],
        "value": cookie_value,
        "domain": cookie['domain'],
        "path": cookie['path'],
        "secure": cookie['secure'],
        "expiry": cookie['expiry']
    })

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

לסיכום

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

בדיקות מהנות!


הציעו שינויים

מוכנים לבנות את מפת הדרכים שלכם? נתחיל כאן


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