האם אתחול אובייקטים ההבדל היחיד בין POM ל- Page Factory בסלניום?


תשובה 1:

המידע הבא נלקח משיטת JavaFoc בכיתה PageFactory בשיטת initElements ():

סטטי ציבורי T initElements (מנהל התקן WebDriver, Class pageClassToProxy) {T page = instantiatePage (מנהל התקן, pageClassToProxy); initElements (מנהל התקן, עמוד); עמוד חזרה; }
  • התקן מופע של המחלקה הנתונה, והגדר שרת פרוקסי עצל לכל אחד מה- WebElement והרשימה שדות שהוכרזו, בהנחה ששם השדה הוא גם ה- "id" או "השם" של אלמנט ה- HTML.

משמעות הדבר היא שלכיתה:

דף מחלקה ציבורית {WebElement פרטי להגיש; }

יהיה אלמנט שיכול להיות ממוקם באמצעות הביטוי xpath

// * [@ id = 'הגש'] "או // * [@ name = 'הגש']
  • כברירת מחדל, האלמנט או הרשימה מסתכלים בכל פעם שקוראים לו שיטה. כדי לשנות התנהגות זו, פשוט הערה את השדה בהערת CacheLookup. כדי לשנות את מיקום האלמנט, השתמש בהערה FindBy.

——————————————————————————————

לכן, בעת השימוש ב- PageFactory,

  1. WebElement או רשימה משתנים מוצהרים כפרטיים בכיתת אובייקט הדף. אם למשתנה WebElement יש אותו שם עם מזהה אלמנט הרשת או שם התכונה, אין צורך לציין איתור לאלמנט אחרת, איתור האלמנטים מוגדר בשיטת FindBy ביאור. מגדיר פרוקסי עצלן לכל אלמנט אינטרנט ממחלקת האובייקטים של הדף; פרוקסי זה משייך את אלמנט הרשת לאיתורו; אך עדיין לא חיפש את אלמנט האינטרנט כאשר נעשה שימוש באלמנט (על ידי קריאת שיטות עליו כגון לחיצה (), getText (), isEnabled () וכו '), קורה הדבר הבא: האיתור המשויך לאלמנט האינטרנט במהלך מחלקת העמודים) אתחול נשלף האלמנט מחפש בדומיין הדומיין בו האלמנט נמצא, הקוד מתקשר עם זה אם אינך מעוניין לחפש את האלמנט בדומיין הדפדפן בכל פעם שהוא משמש, ניתן להשתמש בהערת CacheLookup; במקרה זה, האלמנט נשמר במטמון לאחר שנמצא לראשונה

זה רק הסיפור הקצר של עמוד המפעל.

מאוד מועיל לקרוא את הקוד ולנסות להבין איך הוא עובד.

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

  • שיעורי פרוקסי של אתחול גנרטורי-ריברציה

לקח זמן להבין את זה אבל אני שמח מאוד שעשיתי את זה.

בהצלחה!

אהבתם את המאמר הזה ואתם רוצים לקרוא עוד?

עיין בבלוג הקווורה החדש שלי:

טיפים וטריקים סלניום


תשובה 2:

ב- POM (Model Object Model) אתה יוצר מחלקה חדשה לכל עמוד / URL חדש ומכניס לתוכו את כל שיטות זיהוי האלמנטים שלך.

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

PS - Page Factory נראה כמו תרגול ממש רע אם יש לכם טונות של אלמנט בכיתה ואתם משתמשים רק באחד.