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

אוטומציית בדיקות - כיצד להוסיף נתוני בקרת גרסאות Git לדוח Allure ב-Java

פורסם:

מבוא

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

שפת תכנות: Java

כלי בנייה: Maven

מנוע בדיקות: TestNG

תשתית דוחות: Allure

תלויות:

הבעיה

לפעמים בדיקות שעוברות הופכות ללא יציבות (flaky), זה יכול לקרות מסיבות רבות:

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

הפתרון – הוספת נתוני בקרת גרסאות לדוח Allure

סקירת מסגרת הדיווח Allure

ראשית, בואו נסקור את מסגרת Allure. הנה הדגמה של יכולות המסגרת: https://demo.qameta.io/allure/

מדוע בחרנו ב-Allure?

התכונה שבה נשתמש במאמר זה כדי להוסיף את נתוני בקרת הגרסאות שלנו היא היכולת להוסיף מידע סביבתי לדוח.

מימוש הפתרון

ראשית, עלינו להוסיף את maven-git-commit-id-plugin לקובץ pom.xml שלנו. לאחר מכן, לאחר בניית Maven מוצלחת, נוצר קובץ מאפייני git תחת ספריית target/classes. הקובץ מכיל את המאפיינים הבאים הזמינים לחילוץ:

git.branch, git.build.host, git.build.time, git.build.user.name, git.build.version, git.closest.tag.commit.count, git.closest.tag.name, git.commit.id, git.commit.id.abbrev, git.commit.id.describe, git.commit.id.describe-short, git.commit.message.full, git.commit.message.short, git.commit.time, git.commit.user.name, git.dirty, git.remote.origin.url, git.tags.

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

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

@AfterSuite
public void WriteAllureEnvironmente() throws IOException {
    String path = System.getProperty("user.dir") + "\\target\\classes\\git.properties";
    Properties prop = new Properties();
    InputStream input = new FileInputStream(path);
    prop.load(input);
    allureEnvironmentWriter(ImmutableMap.<String, String>builder()
        .put("git.branch", prop.getProperty("git.branch"))
        .put("git.build.host", prop.getProperty("git.build.host"))
        .put("git.build.time", prop.getProperty("git.build.time"))
        .put("git.commit.id", prop.getProperty("git.commit.id"))
        .put("git.commit.message.short", prop.getProperty("git.commit.message.short"))
        .put("git.commit.time", prop.getProperty("git.commit.time"))
        .put("git.remote.origin.url", prop.getProperty("git.remote.origin.url"))
        .build());
}

התוצאה של ההרצה בדוח שנוצר היא:

allure report

נתוני בקרת הגרסאות הרלוונטיים מוצגים תחת סעיף הסביבה. שימו לב שבעת יצירת המפה אנו מחליטים אילו מאפיינים אנו רוצים לחלץ.

לסיכום

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

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


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

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


הפוסט הקודם
אוטומציית בדיקות - אתחול Selenium WebDriver - המדריך המלא
הפוסט הבא
אוטומציית בדיקות - כיצד לדלג אוטומטית על מקרי בדיקה נכשלים