רשומות

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

חיבור מכשיר אנדרואיד שמחובר באמצעות WiFi לצורך הרצת אוטומציה

תמונה
אז בפעם הקודמת למדנו איך מחברים מכשיר אנדרואיד ל-ADB באמצעות כבל USB.

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

לאחר שהמכשיר חובר למחשב בADB באמצעות כבל USB, נוכל לשלוט על המכשיר ולהורות לו לתקשר עם שרת הADB שעל המחשב באמצעות WiFi.


איך עושים את זה? שלב 1:נחבר את המכשיר למחשב באמצעות כבל ונוודא שיש לנו תקשורת ADB אליו

כדאי בכל אופן להריץ את הפקודה adb usb על מנת להיות בטוחים שאנחנו מחוברים בתצורת USB. שלב 2: נרים בשרת ה ADB שלנו את האופציה לתקשר על גבי WiFi
באמצעות הפקודה - adb tcpip 5556

שלב 3: נדאג שהמכשיר והמחשב יהיו מחוברים לאותה רשת WiFi. ולאחר מכן נתשאל את המכשיר שלנו על ה-ip שקיבל ברשת באמצעות הפקודה - adb shell ip -f inet addr show wlan0

שלב 4: כעת כשאנחנו יודעים את כתובת ה ip של המכשיר נוכל להגדיר את ה-ADB שלנו להתחבר למכשיר באמצעות WiFi על ידי הפקודה - adb connect 192.168.1.19:5556
ולאחר מכן נבצע שוב את הפקודה - adb devices


וזהו! יש לנו מכשיר מתקשר באמצעות WiFi. כעת ניתן לעשות עליו אילו בדיקות שרק נרצה.

מדריך | מציאת אלמנטים ב-Appium

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

בפוסט הבא נכיר את UIAutometorViewer ונעשה קצת סדר בדברים.

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

זאת ניתן לוודא באמצעות כניסה ל CMD וכתיבת הפקודה - "adb devices".
(אם לא קיימת תקשורת למכשיר האנדרואיד שלך בצע את המדריך הבא)
מה זה UIAutomatorViewer? UIAutomatorViewer היא אפליקציית GUI ל-Desktop שבאמצעותה ניתן לחקור אלמנטים ורכיבי UI באפליקציות אנדרואיד.
איפה אפשר למצוא את UIAutomatorViewer? את UIAutomatorViwer ניתן למצוא בתיקיית ה AndroidSDK.
אם כבר ביצענו את המדריך הקודם פשוט נכנס לתיקייה
                                                                            %ANDROID_HOME%…

איך מחברים את מכשיר האנדרואיד למחשב לצורך הרצת אוטומציה

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

ההתקנות הנדרשות 1. ההתקנה הראשונה שנרצה לבצע תהיה של Java SDK(דאג להוריד ולהתקין את הגרסה העדכנית ביותר)
2. מיד לאחר מכן נוריד ונתקין את Android SDK

3. לאחר שהורדנו את Android SDK ואת Java SDK נרצה להוסיף את הנתיבים אליהם לרשימת משתני הסביבה שלנו.

איך מוסיפים נתיב לרשימת משתני הסביבה? או קודם, מה זה בכלל משתנה סביבה? משתנה סביבה הוא בעצם הנגשת נתיב או שם מסויימים לכל אזורי המחשב וזאת מבלי לכתוב את הנתיב השלם.
פעם חשבתם איך זה שכאשר פותחים את חלון ההרצה (Run) ומקלידים את הפקודה "cmd" אין צורך לציין את הנתיב השלם? מאיפה המחשב יודע היכן "cmd" נמצא?
אז cmd היא תוכנה רגילה לחלוטין שנמצאת בתיקייה אשר רשומה ברשימת משתני הסביבה תחת הקטגוריה "Path" של המחשב, ולכן ניתן לגשת אליה מכל מקום שנרצה.
במילים פשוטות - אם נכניס נתיב לרשימת ה "Path" של משתני הסביבה נוכל לגשת לכל הקבצים באותו נתיב מכל מקום במחשב!
אז דיברנו על משת…

מדריך | בדיקת אפליקציות באמצעות Appium

תמונה
מה זה Appium Appium היא תשתית לבדיקות אוטומציה לאפליקציות עבור מכשירי mobile המריצים את מערכות ההפעלה הנפוצות ביותר כיום - Android ו- iOS.

המאמר של היום יעסוק בשימוש ב Appium על אפליקציות אנדרואיד אך ה interface זהה גם ל iOS,
כלומר, ניתן לכתוב תרחיש אחד שיוכל לרוץ על שניהם - אם כי ה setup שונה.
השימוש בAppium נעשה באמצעות פרוטוקול WebDriver בדומה לתשתית האוטומציה Selenium, ולכן החפיפה בין התשתיות גדולה. מה ניתן לבדוק באמצעות AppiumNative Apps - אפליקציות שנכתבו במיוחד עבור מערכת ההפעלה הספציפית. לדוגמה - אפליקציות Android ב Java.Hybrid Apps - אפליקציות שנראות רגילות לחלוטין אך מאוכלסות בתוך אפליקציית Native בתצורת WebView.Mobile Web Apps - אפליקציות Web שהותאמו למכשירים סלולריים.
איך Appium עובד? רגע לפני שנרים את ה Setup הנדרש לשימוש ב Appium אני רוצה לדבר במשפט על הארכיטקטורה הפשוטה של השימוש בתשתית.

בצורה המופשטת ביותר - אנחנו כותבים קוד (סקריפט הרצה) בשפת התכנות שבחרנו (C# לצורך הדוגמה), כאשר נריץ את הקוד תבוצע פניה לשרת Appium שכתובתו תוגדר בסקריפט ההרצה, השרת יעבד את המידע שהתק…

תכנות מונחה עצמים | Dependency Inversion Principle

תמונה
על מנת שהמערכות, היישומים והתשתיות שאנחנו מפתחים יהיו חזקים, יציבים וניתנים לתחזוקה ולשינויים, עלינו לדעת כיצד לעצב אותם בצורה הטובה ביותר.
העקרונות הבסיסיים של תכנות מונחה עצמים לרוב אינם יספיקו למפתח בכדי לכתוב מערכת ברמה גבוהה.
היום אני הולך להציג את עקרונות העיצוב SOLID. אלו הם 5 העקרונות הראשונים והחשובים ביותר בעיני של עיצוב תוכנה וקוד באמצעות תכנות מונחה עצמים.
המדריכים וההסברים נכתבו בC#, אך הם מתאימים למתכנתים בכל שפה משום שהכוונה כאן היא להציג עקרונות. לאחר שהבנו את העקרונות ניתן לממשם בכל שפת OOP.
תנאי קדם למדריך: היכרות עם תכנות מונחה עצמים.
מה זה SOLID?S - single responsibility principle - SRP O - open closed principle - OCP L - Liskov substitution principle - LSP I - interface segregation principle - ISP D - Dependency injection principle - DIP

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

עקרון …