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

אוטומציית בדיקות - שיפור קריאות הקוד באמצעות שימוש ב-Enumeration

פורסם:

הקדמה

במאמר זה, אסקור את היישום של enumeration (טיפוס מניה) שיעזור לנו לשפר את קריאות הקוד שלנו.

שפות תכנות: Java

סביבת אוטומציה: Selenium

מהו Enumeration?

מתוך התיעוד של Oracle:

טיפוס enum הוא טיפוס נתונים מיוחד המאפשר למשתנה להיות קבוצה של קבועים מוגדרים מראש. המשתנה חייב להיות שווה לאחד מהערכים שהוגדרו עבורו מראש. דוגמאות נפוצות כוללות כיווני מצפן (ערכים של NORTH, SOUTH, EAST ו-WEST) וימי השבוע.

מכיוון שהם קבועים, שמות השדות של טיפוס enum הם באותיות גדולות.

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

יישום

ראשית, נבחן קוד Selenium פשוט המנווט לאפשרות בתפריט.

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

@FindBy(css = ".menu")
private List<WebElement> menuItems;

public void selectMenuItem(int item) {
    menuItems.get(item).click();
}

במחלקת הבדיקה, השימוש במתודת הניווט הוא:

somePage.selectMenuItem(5);

עלינו לעשות ריפקטורינג למתודת הניווט כדי לשפר את הקריאות. ניצור enum עם ערכים המייצגים את אפשרויות התפריט:

public enum MenuOption {
    FIRST_OPTION(0), SECTOND_OPTION(1);

    private final int value;

    MenuOption(int value) {
        this.value = value;
    }

    public int getValue() {
        return this.value;
    }
}

לאחר מכן, נוכל לעשות ריפקטורינג למתודת הניווט שלנו במחלקת ה-Page Object:

@FindBy(css = ".menu")
private List<WebElement> menuItems;

public void selectMenuItem(MenuOption menuOption) {
    menuItems.get(menuOption.getValue()).click();
}

במחלקת הבדיקה, השימוש במתודת הניווט שעברה ריפקטורינג הוא:

somePage.selectMenuItem(MenuOption.FIRST_OPTION)

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

לסיכום

במאמר זה, סקרנו את השימוש ב-enumeration, עשינו ריפקטורינג למתודת ניווט וראינו את השיפור בקריאות הקוד שלנו.

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


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

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


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