תשתית לאוטומציה

19Shinigaby77

New member
תשתית לאוטומציה

היי לכולם וצהריים טובים

אני חדש כאן בפורום והייתי מעוניין לדעת איזו תשתית להרצת אוטומציה נמצאת אצלכם בארגון
אני לומד כעת באופן עצמאי את הנושא ורציתי לשאול לאחר שכתבתי טסטים בסלניום כיצד זה יתבטא בעבודה בתוך ארגון מבחינת כלים וכדומה
עד כה הרצתי טסטים מתוך testNG suite שבה יצרתי את קובץ ה XML והוספתי את הטסטים לבדיקה
מצטער שזה נושא חופר ואני מתאר שכבר נשאלתם בנושא הזה לא מעט אז מבקש את סליחתכם מראש
 

עמית ו

New member
יש כמה דרכים בהן זה יכול להתבטא

1. בדיוק כמו אצלך - יש קוד, וכשצריך מישהו מריץ אותו מהמחשב שלו.
2. הקוד רץ כל לילה. בדרך כלל מתוזמן בעזרת שרת כמו Jenkins.
3. הקוד רץ כחלק מתהליך בניית הקוד - כשמפתח מכניס קוד, זה יוצר טריגר שמריץ את הבדיקות. זה יכול לקרות גם בעזרת ג'נקינס, אבל לפעמים יהיה שילוב עם כלי source control כמו למשל GitHub
 

19Shinigaby77

New member
תודה על התגובה

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

עמית ו

New member
נחסוך לך, זה לא.

Jenkins מתממשק עם TestNG. בפרט, כל מה שהוא יודע לעשות זה להריץ שורות commandline (טוב, נו, ולפרוש את הקוד שלך מתוך source control).
"סלניום" זאת כולה ספרייה שמזיזה דפדפנים, בקוד כתוב היטב זה לא יגיע אפילו לעשרה אחוז מהקוד שלך, וזו לא הספרייה שמנהלת את הבדיקות (זה שמור ל testNG).
&nbsp
הדרך בה זה עובד -
אתה מגדיר את testng.xml כך שיריץ את המבדקים שאתה רוצה שירוצו, ואז מוצא את הדרך להריץ את זה מתוך שורת הפקודה (גוגל פשוט ימצא לך את זה). עם השורה הזו אתה ניגש לג'נקינס ומגדיר ג'וב שיריץ את השורה הרלוונטית. יש מלא דברים קטנים שתצטרך לסדר כדי שזה יעבוד, אבל זה בגדול מה שצריך לקרות.
 

19Shinigaby77

New member
סליחה שלא חזרתי אליך

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

עמית ו

New member
בכיף

הכלים בהם משתמשים בהם הם שפת תכנות. ספציפית במקום בו אני עובד כרגע - פייתון, במקום הקודם ג'אווה.
כל הספריות הספציפיות הן בעיקר לא חשובות כי כל ספרייה פותרת בעיה ספציפית והחוכמה היא לשלב ביניהן.
בגדול, סדר ההחלטות שאתה צריך לקבל הוא זה:
1. באיזו שפה לכתוב (המלצה חמה - לך על השפה המשותפת עם צוות הפיתוח, אלא אם יש לך סיבות ממש טובות לא לעשות את זה. בדרך כלל, הסיבה היחידה ששמעתי היא "הם עובדים בC++" ואז באמת יש פחות תמיכה מכל הכלים מסביב).
2. בהינתן שפה - באיזה unit test framework להשתמש - אם אתה בג'אווה הבחירה היא בדרך כלל בין Junit ל TestNG, אם אתה בפייתון, הבחירה היא בין unittest,nose,pytest ולפחות על פי השמועות, יש לpytest יתרונות על השתיים האחרות (לא עבדתי איתן אז אני לא יודע את זה ממקור ראשון, ופייטסט מעצבנת אותי ממש, אבל זה יותר כי פייתון היא שפה מטופשת)
3. אילו יכולות צריך לפריימוורק שלך ומה הספרייה שנותנת לך את זה (דוגמאות ליכולות - יצירת דו"ח HTML, התחברות למסד הנתונים, עבודה מול VM, הזזת דפדפן, בקשות REST, תמיכה בסביבות מרובות) - כל הבאזזוורדס שנתקלים בהם בדרך כלל נמצאים ברמה הזו, שזו הרמה האחרונה של בחירת כלים שעושים בבניית מערך אוטומציה.
&nbsp
חוץ מזה, מקום ש"חושב לבצע אוטומציה" צריך לשכור מישהו שיודע מה הוא עושה, כי אחרת הוא ייפול על האף. קח את זה בחשבון - אם מבקשים ממך להוביל פרוייקט אוטומציה בלי שיש לך ניסיון עם מערכת אוטומציה טובה, אתה בעיקר תיכשל, אז אם זה קורה - בקשה מהם להזמין יועץ חיצוני שיעזור לכם, ונסה לוודא שהוא יודע על מה הוא מדבר.
 
למעלה