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

אוטומציית בדיקות - מקסום חלון הדפדפן עם Playwright Python ו-Pytest

פורסם:

הקדמה

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

עיקרון זה מודגם ב-Pytest fixtures המסופקים כחלק מפרויקט הדוגמה שלי ב-Playwright Python, שפותח בשיתוף עם אליאס שורוש.

הבעיה

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

יישום הפתרון

ניתן למצוא את קוד הפתרון כאן.

@pytest.fixture(scope="session")
def browser_context_args(browser_context_args: Dict):
        """
    Fixture to set browser context arguments.
    See: https://playwright.dev/python/docs/api/class-browser#browser-new-context

    Args:
        browser_context_args (dict): Browser context arguments.

    Returns:
        dict: Updated browser context arguments.
    """
        return {
        **browser_context_args,
        "no_viewport": True,
        }

Fixture זה של Pytest נועד להגדיר את הארגומנטים עבור context דפדפן של Playwright, במיוחד בהקשר של session. בואו נפרט את הקוד:

@pytest.fixture(scope="session")
def browser_type_launch_args(browser_type_launch_args: Dict):
    """
    Fixture to set browser launch arguments.
    See: https://playwright.dev/python/docs/api/class-browsertype#browser-type-launch

    Args:
        browser_type_launch_args (dict): Browser type launch arguments.

    Returns:
        dict: Updated browser type launch arguments.
    """
    return {**browser_type_launch_args, "args": ["--start-maximized"]}

Fixture זה של Pytest נועד להגדיר את ארגומנטי ההפעלה עבור דפדפן Playwright, במיוחד בהקשר של session. בואו נפרט את הקוד:

יחד, שילובי הגדרות אלה מאפשרים בדיקות במסך מלא עם Playwright Python ו-pytest.

לסיכום

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

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


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

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


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