הקדמה
במאמר זה, אסביר אילו עדכונים בוצעו בפרויקט הדוגמה של סלניום בפייתון שפיתחתי יחד עם אליאס שורוש.
המחסנית הטכנולוגית ששימשה ליישום הפתרון היא:
שפת תכנות: פייתון
מסגרת בדיקות: 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 הבא מוסיף מידע חשוב זה.
הדוח כולל כעת את גרסת הדפדפן:
לסיכום
במאמר זה, סקרנו עדכוני תשתית מרכזיים שבוצעו במהלך תחזוקת הפרויקט. העדכונים נעשו על מנת שפרויקט זה ישמור על מעמדו כפרויקט דוגמה מוביל של סלניום בפייתון (נכון לעכשיו עם 15 כוכבי GitHub ומאות צפיות על בסיס יומי).
בדיקות מהנות!