מבוא
מאמר זה יספק הוראות שלב אחר שלב כיצד לערוך cookies ב-Selenium Python.
cookies הן קבצי טקסט קטנים המאוחסנים במכשיר המשתמש על ידי אתר אינטרנט. הן משמשות לזכירת העדפות משתמש, פרטי התחברות ומידע אחר הספציפי למשתמש. cookies מאוחסנות במכשיר המשתמש ונשלחות בחזרה לשרת עם כל בקשה, מה שמאפשר לשרת לזהות את המשתמש ואת העדפותיו.
ההכלים הטכנולוגיים המשמשים למימוש הפתרון הם:
שפת תכנות: Python
פלטפורמת בדיקות: pytest
פלטפורמת דיווח: Allure
קישור לפרויקט שפותח יחד עם אליאס שורוש.
מקרים נפוצים לעדכון ערכי cookies
ישנם מצבים שונים בהם נדרש לעדכן ערכי cookies. הנה שלושה תרחישים אופייניים:
- שינוי נתוני סשן: כאשר עליך לעדכן מידע הקשור לסשן המאוחסן בcookies, כגון אסימוני אימות משתמש או הגדרות ספציפיות למשתמש.
- בדיקת תרחישים שונים: באוטומציית בדיקות, ייתכן שתרצה לשנות ערכי cookies כדי לדמות מצבי משתמש שונים או לבדוק פונקציונליות שונות של היישום.
- ניפוי באגים ופתרון תקלות: עדכון ערכי 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 המסופקת במאמר זה שנמצאת כאן. יכולת זו מאפשרת לך לטפל במגוון תרחישים, כולל ניהול סשנים, בדיקות, ופתרון תקלות, מה שמוביל למסגרת אוטומציית ווב חזקה ויעילה יותר.
בדיקות מהנות!