מה הדרך היעילה ביותר לאוטומציה הנדרשת למספר אתרים דומים?

  • פותח הנושא YC17
  • פורסם בתאריך

YC17

New member
מה הדרך היעילה ביותר לאוטומציה הנדרשת למספר אתרים דומים?

שלום,
מה הדרך היעילה ביותר להגדרת סביבת עבודה לאוטומציה הנדרשת למספר רב של אתרים?
יש לנו מספר רב של אתרים בעלי Flow דומה:
  • חלק גדול מהפונקציונליות זהות בין האתרים ולכן הטסטים אמורים להיות משותפים (שהשוני בינהם הוא רק בזיהוי האלמנטים וההפנייה ל-DB הרלוונטי).
  • כמובן שלכל לקוח יש את הדרישות שלו, לכן יש לכל אתר גם פונקציונליות ייעודית שנדרש לה טסטים ייעודיים.
יש אפשרות לפרויקט יחיד בו כל פונקיונליות תיוצג בקלאס משלה, יש אפשרות של פרויקט אחד שייצג את האלמנטים הגנריים ועוד פרויקטים לכל אתר ואני מניח שיש פתרונות נוספים,

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

סביבת העבודה: וויזואל סטודיאו, כתיבת אוטומציה בסלניום #C.
 

עמית ו

New member
זה דורש טיפה מחשבה

אבל, הכיוון הראשון עליו אני חושב נראה בערך כך:
&nbsp
1) מחלקה אחת שיודעת לקבל מזהה של אתר ולהחזיר את כל הקונפיגורציה הרלוונטית (במכה אחת מראש או לפי דרישה - לא באמת משנה): מסד הנתונים המתאים, הURL, המזהים השונים וכו'.
2) Page Objects כלליים - כאלה שמגדירים את הפונקציונליות הבסיסית, אבל לא את המזהים הייחודיים.
3) Page Objects פרטניים - יורשים מהדפים הגנריים, מכילים את המזהים הייחודיים אבל לא שום לוגיקה גנרית. כן יכילו לוגיקה ייחודית לאתר הספציפי שלהם.
4) אוסף בדיקות כלליות - משתמשים בסוג כזה או אחר של Factory כדי להשיג את הדפים הספציפיים, אבל כתובים לפי הלוגיקה של הדפים הגנריים. כל בדיקה מקבלת מזהה של אתר כאחד הפרמטרים
5) אוסף של בדיקות פרטניות - מחולקות לפי אתר, כי לפעמים אין ברירה.
&nbsp
לגבי שמירה בפרוייקט יחיד או בכמה - זה לא באמת משנה, חלוקה לכמה פרוייקטים עלולה ליצור קצת סיבוך עם תלויות ועלולה להרגיז אתכם כשתצטרכו לפתוח חמישה פרוייקטים בכל פעם בה תגיעו לכתוב בדיקה חדשה.
 

lstlst

New member
נשמע מוכר וזו הצעתי

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

מקווה שעזרתי,
http://itschool365.wixsite.com/itschool365
 
למעלה