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

אוטומציית בדיקות - ביצוע בדיקות גמיש עם Playwright Python ו-GitHub Actions

פורסם:

מבוא

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

הפתרון המוצג במאמר זה מודגם בפרויקט הדוגמה שלי Playwright Python example project, שפותח בשיתוף עם אליאס שורוש.

מימוש הפתרון

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

name: Nightly regression tests

on:
  schedule:
    - cron: "0 0 * * *"
  workflow_dispatch:
    inputs:
      pytest_command:
        description: "Custom pytest command"
        required: true
        default: '-m "not devRun"'

jobs:
  nightly:
    runs-on: ubuntu-latest
    steps:
      # ... (setup steps omitted)
      - name: Run custom pytest command
        if: github.event_name == 'workflow_dispatch'
        run: |
          source .venv/bin/activate
          xvfb-run pytest ${{ github.event.inputs.pytest_command }} --base-url ${{ vars.BASE_URL }}
      - name: Run default pytest command
        if: github.event_name != 'workflow_dispatch'
        run: |
          source .venv/bin/activate
          xvfb-run pytest -m "not devRun" --base-url ${{ vars.BASE_URL }}

בואו נפרק את החלקים המרכזיים:

  1. תצורת טריגר: זרימת העבודה מוגדרת לרוץ בלוח זמנים לילי באמצעות ביטוי cron. היא תומכת גם בהפעלה ידנית באמצעות workflow_dispatch, המאפשרת ביצוע לפי דרישה.
  2. פרמטרי קלט: כאשר מופעלת ידנית, משתמשים יכולים לספק פקודת pytest מותאמת אישית באמצעות הקלט. פקודת ברירת מחדל מסופקת להרצת בדיקות שאינן מסומנות כ-”devRun”.
  3. ביצוע מותנה: זרימת העבודה משתמשת בצעדים מותנים כדי לקבוע אם להריץ את הפקודה המותאמת אישית או את פקודת ברירת המחדל. עבור הפעלות ידניות, היא משתמשת בפקודה המותאמת אישית שסופקה. עבור הרצות מתוזמנות, היא משתמשת בפקודת ברירת המחדל.

יתרונות גישה זו:

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

דוגמת שימוש

כדי להפעיל ידנית את זרימת העבודה עם פקודת pytest מותאמת אישית:

  1. נווט ללשונית “Actions” בפרוייקט GitHub שלך.
  2. בחר את זרימת העבודה “Nightly regression tests”.
  3. לחץ על “Run workflow”.
  4. הזן את פקודת pytest המותאמת אישית שלך, למשל, -k "login and not logout".
  5. לחץ על “Run workflow” כדי להתחיל את הביצוע.

github actions

זה יריץ רק את הבדיקות התואמות לביטוי שסופק, ויעניק לך שליטה מדויקת על אילו בדיקות מבוצעות.

לסיכום

על ידי מינוף GitHub Actions עם פקודות pytest הניתנות להתאמה אישית, יצרנו צינור בדיקות גמיש ורב עוצמה עבור בדיקות Playwright Python. גישה זו מאפשרת לצוותים לשמור על איזון בין הרצות רגרסיה ליליות עקביות לבין היכולת לבצע בדיקות ספציפיות לפי דרישה. היא משפרת את זרימת העבודה של הבדיקות, ומאפשרת איטרציות מהירות יותר ובדיקות ממוקדות יותר בעת הצורך.

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

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


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

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


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