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

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

פורסם:

הקדמה

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

קישור לפרויקט.

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

שפת תכנות: פייתון

מסגרת בדיקות: pytest

מסגרת דיווח: Allure

החלפת פעולת Selenium Grid בדפדפן + דרייבר של כרום מובנים

בעבר, זרימת העבודה שלנו השתמשה בפעולה מובנית כדי להרים ספק רשת מרוחק בשם selenoid, אך כאשר הדפדפן עודכן, היה צורך לשנות את היכולות הרצויות (desired capabilities), דבר שאינו רצוי. יתר על כן, גילינו שמכונות ubuntu-latest כבר מגיעות עם דפדפן גוגל כרום ו-ChromeDriver תואם.

הסרנו את אפשרות הדפדפן “המרוחק” מ-confetest.py ואנו מפעילים אפשרות של כרום ללא ממשק גרפי (headless):

elif browser == "chrome_headless":
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--disable-dev-shm-usage")
    chrome_options.add_argument("--no-sandbox")
    driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)

כמו כן, מחקנו את השימוש בפעולת Selenoid.

שימוש ב-Dependabot לעדכון אוטומטי של תלויות הפרויקט

מעקב ידני אחר תלויות הפרויקט גוזל זמן, ולכן פותחו בוטים אוטומטיים כדי לפשט תהליך זה. Dependabot הוא המועדף עליי. יצרנו קובץ dependabot.yml וקיבלנו את כל בקשות המשיכה (PRs) הנכנסות עבור פעולות GitHub ועבור תלויות הפייתון שלנו.

תיקון באג בקריאת קבצי אקסל עקב עדכון תלות

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

שימוש בפעולה מובנית להתקנת תלויות פייתון

זרימת העבודה שלנו השתמשה בעבר בפקודת shell להתקנת תלויות הפייתון. commit זה משתמש בפעולת GitHub מובנית.

הוספת גרסת כרום לסביבת Allure

כל זרימת עבודה מייצרת דוח Allure המאוחסן תחת GitHub Pages בפרוייקט זה. זה הוסבר במאמר קודם. כאשר מוצאים פגמים במערכת הנבדקת (SUT), חשוב לציין את גרסת הדפדפן, שכן פגמים מסוימים לא ישוחזרו בגרסאות שונות. ה-commit הבא מוסיף מידע חשוב זה.

הדוח כולל כעת את גרסת הדפדפן:

allure report

לסיכום

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

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


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

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


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