החלטתי לכתוב את סדרת הפוסטים הזו בגלל שאלות חוזרות ונשנות בקרב תלמידיי ואנשי בדיקות אחרים אשר מתקשים להבין את הטרמינולוגיה, הכלים, הטכנולוגיות, הספריות והפריימוורקים שם בעולם החיצון של מפתחי המוצר. בסדרה זו אסביר על המושגים השונים מעולם פיתוח המוצר, מה ההבדלים בין ספריות קוד לבין פריימוורקים, מה פופולרי יותר בקרב המפתחים ואיך הבחירות שלהם לפיתוח […]
אוטומציה
טעויות נפוצות בפרוייקט אוטומציה
בשנים האחרונות, מאז שפתחתי את העסק שלי, יצא לי לעבור בין שלל חברות, קטנות וגדולות, לתת ייעוץ, לעזור בהקמת תשתיות ולפיכך יצא לי להיחשף לבעיות רבות וטעויות קריטיות שראיתי לאורך הדרך, רצית לשתף אתכם בפוסט זה על חלק מן הבעיות שמגדירות כישלון של פרוייקט אוטומציה לרוב עוד לפני שנכתבת שורת קוד אחת. ברוב המקרים ההתחלה […]
FindAll vs. FindBys
את הפוסט הנוכחי החלטתי לכתוב מכיוון שכבר כמה תלמידים שלי נתקלו בבאותה שאלה שנשאלת בראיונות עבודה , זוהי השאלה המעידה על הבנה ב- Page Objects Pattern והיא הולכת כך: מהו ההבדל בין אנוטציית ה-FindAll לבין אנוטציית ה-FindBys ב-Page Objects ? אז כל מי שאי פעם התעסק עם Page Objects באוטומציה, לבטח יכיר את […]
מלחמת העולמות, חלק 2
לאחרונה התחלתי סדרה של פוסטים בהם אני סוקר פריימוורקים מובילים באוטומציה (שאינם מושתתים על ה-WebDriver API) תוך כדי השוואתם, יתרונות מול חסרונות. בפוסט הקודם לא הצלחתי להגיע להצהרה על הזוכה הגדול ולמען האמת, אותו כלי שאסקור היום הוא אינו הכלי הטוב ביותר באופן גורף לכולם. אבל כן ארצה: א. להציג אותו בפניכם, מכיוון שהוא יחסית […]
מלחמת העולמות, חלק 1
אז מה ? אוטומציה, הא ? סלניום, כן ? בטח, רק סלניום. אין אוטומציה בלי סלניום… גישה זו רווחת בקרב לא מעט אנשים בתחום ולצערי גם אנשים שמתיימרים להיות "מומחי אוטומציה". אז בואו נשים את העובדות על השולחן: כיום סלניום הוא הפריימוורק הפופולרי והנפוץ ביותר באוטומציה, בטח ובטח אם אנחנו מדברים על אוטומציה על ה-Web. […]
מבוא ל-Cucumber
ה-Cucumber הינו פריימוורק אוטומציה המממש את שיטת ה-BDD, או בהרחבה ה-Behavior Driven Development. זהו פריימוורק שנכתב במקורו בשפת Ruby וכותבים איתו כיום במגוון של שפות תכנות, ה-Cucumber הוא המקביל ל-SpecFlow שחי בעולם ה-NET. אך לפני שנצלול אל נבכי הפריימוורק והקוד, בואו נבין קודם כל מה זה בכלל אומר Behavior Driven Development ? ה-BDD הינה מתודולוגיה […]
Mega Function
בשלהי העשור הקודם, כשנחשפתי לראשונה לתשתית אוטומציה (עוד בימים התמימים והעליזים של QTP ו-VB-Script), נחשפתי לראשונה למתילדה. מתילדה הייתה שמה של Mega Function, פונקציה אחת שעושה הכל ! בפרוייקט שלנו, כל מה שנרצה כל מה שנבקש – מתילדה תספק. כיום, עפ"י Design Pattern שונים ומתודולוגיות פיתוח מודרניים (לדוגמא – SOLID), אנחנו לומדים שבשביל לכתוב תשתית […]
המתנה חכמה
נושא ההמתנות באוטומציה הוא נושא חשוב מאין כמוהו, בפרוייקט שלנו נהיה חייבים להכניס איזשהו מנגנון של המתנות בשביל שנוכל לשמור על יציבות הבדיקות. מה הכוונה ? אנו נרצה לסנכרן בין המערכת הבודקת לבין המערכת הנבדקת שלנו, במילים אחרות אנו נרצה לסנכרן בין הקוד של הבדיקות שלנו, למשל סלניום, לבין האפליקציה אותה אנו בודקים (האתר למשל). […]
אוטומציה עם Shadow DOM
כשאנו כותבים אתר מסויים, אנחנו בסופו של דבר מייצרים קובץ HTML (הגי'נרוט של קובץ זה יכול להגיע מכמה טכנולוגיות מאחורי הקלעים, אך כאן זה לא המקום להרחיב עליהם). הדפדפן שאנו עובדים עימו (גוגל כרום \ מוזילה פיירפוקס \ אינטרנט אקספלורר) יודע לתרגם את תוכן ה-HTML לתוכן מסוג DOM (ראשי תיבות של Document Object Model). ה-DOM […]
הדרך לאוטומציה
יש האומרים כי המעבר מתפקיד של בודק ידני למפתח אוטומציה הוא תהליך טבעי והוא עוד חלק אבולוציוני של מקצוע הבדיקות. הרבה מהבודקים עימם אני משוחח מתארים לי כי נמאס להם כבר לבדוק ידנית את אותם תהליכים, לעבור שוב ושוב על מסמכי האיפיון ועוד, הם רואים את עצמם בתפקיד האוטומציה בעתיד וכן, גם בשביל לשדרג את […]
Katalon & Selenium
על כלי האוטומציה הנפלא – Katalon Studio כתבתי כבר כמה פוסטים בבלוג שלי. זהו באמת כלי מרשים שמומלץ לבדוק ע"י כל צוות שמעוניין להתחיל ולכתוב טסטים אוטומטיים אצלו באירגון. כאמור, מי שעובד עם Katalon Studio אינו חייב בהכרח לדעת שפת תכנות ואינו חייב לדעת בהכרח את פקודות סלניום, הכל מגיע אליו עטוף בתצורה מאוד נוחה […]
אוטומציה עם Kantu
קאנטו הוא כלי אוטומציה שנולד בגלל ואקום. בחודש אוגוסט שנת 2017, מפתחי Selenium IDE הודיעו כי מפסיקים לפתח את המוצר (ובהמשך הדרך הפרוייקט קם לתחייה ע"י מפתחים מחברת Applitools), את החלל הריק שנוצר השלימו כל מיני תוספים ופרוייקטים כדוגמת SideeX ו-Kantu קאנטו הינו כלי Open Source שפועל כפלאגין על דפדפן הכרום והפיירפוקס, הוא מבצע אוטומציה […]