רשומות

מציג פוסטים מתאריך פברואר, 2018

תבניות עיצוב ואוטומציה | Page Object Pattern

תמונה
בתור מפתחי אוטומציה (ותוכנה בכלל) אנחנו נתקלים בלא מעט בעיות.. אנחנו לא זוכרים syntax מסוים, נזרק לנו exception שאנחנו רואים פעם ראשונה או אפילו שגיאת קומפילציה שאנחנו לא מכירים. מה אנחנו עושים כדבר כזה קורה לנו? לרוב נפנה לדר' גוגל... הרי כל דבר שקרה לנו כבר קרה למישהו אחר בעבר, ובכל בעיה בה נתקלנו, אנחנו כנראה לא הראשונים שנתקלנו בה. ב-95% מהמקרים גוגל אכן פותר לנו את הבעיה. מה קורה כאשר אנחנו נתקלים בבעיית Design בקוד שלנו? אנחנו לא בטוחים כיצד לחבר את ה class-ים או שאנחנו יודעים שמה שעשינו "לא כל כך יפה" אבל אנחנו לא בטוחים כיצד לעשות זאת נכון. לשם כך נוצרו Design Patterns! Desing Pattens הן הפתרונות לבעיות שלנו בעיצוב התוכנה - אלו מעין תבניות פתורות וכל מה שנשאר למשתמש זה להתאים אותן למקרה שלו. במילים אחרות, Design Patterns זה פשוט פתרון לבעיה בעיצוב הקוד. לאחר שהתקדמנו ולמדנו לא מעט בכל הקשור לעיצוב תוכנה מונחית עצמים, וכתיבת תרחישי אוטומציה ב Selenium ו - Appium, הגיע הזמן להמשיך ולהתקדם לנושאים הבאים. בפוסט של היום -  Page Objects דרישות ק

הצצה אל מאחורי הקלעים של Appium

תמונה
אוקי, אז למדנו קצת על הארכיטקטורה הבסיסית והמוצגת למשתמש של Appium, ראינו  תרחיש בדיקה לדוגמה , למדנו  דרכים מגניבות למצוא אלמנטים וראינו שתי דרכים בהן נוכל לחבר את המכשיר למחשב לצורך הרצת אוטומציה. עכשיו כשאנחנו כבר יודעים דבר או שניים, הגיע הזמן שנבין איך הדברים עובדים קצת יותר לעומק. ראשית כל, אני ממליץ לכל קוראי הפוסט ללא יוצא מן הכלל, לקרוא קודם את  המדריך הראשוני של Appium בשביל להבין את הארכיטקטורה הבסיסית לפני שנצלול לעומק הדברים. קצת על הפילוסופיה של Appium מאחורי הרעיון של Appium עומדים 4 עקרונות עיקריים: 1. איננו צריכים לשנות שום דבר באפליקציה ולא לקמפל אותה מחדש, על מנת לכתוב לה תרחישי אוטומציה. 2. איננו צריכים לדבוק בשפת תכנות אחת מסוימת בכדי לכתוב ולהריץ בדיקות 3. תשתית אוטומציה לא צריכה להמציא את הגלגל בכל פעם מחדש בהיבט של ממשק השימוש (API) 4. תשתית אוטומציה צריכה להיות Open Source , דבר שיתן לה המון עוצמה. ה-Design של Appium אז איך המבנה של תשתית Appium משתלב עם הפילוסופיה שלו? עקרון מספר 1 , ממומש בכך שAppium משתמשת ברכיבי האוט