בדיקה וניפוי באגים באפליקציה

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

  1. בסביבת האירוח שלכם, מציגים את דף ה-HTML שבו פועלת אפליקציית המילוי המקומית. קטע הקוד הבא מציג דוגמה לקובץ HTML סטטי שבו פועלת אפליקציית המילוי המקומית.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
  2. בדיקת השליטה במכשיר.

  3. ניפוי באגים מ-Chrome. שימוש בנקודות עצירה וביומני אירועים כדי לפתור בעיות בשילוב.

  4. משנים ומאגדים את קוד TypeScript, ואז חוזרים על השלבים האלה.

חזרה על תהליך ה-build והבדיקה תאפשר לכם לראות את השינויים בפעולה במהירות ובקלות, ולזהות בעיות בקוד ולנפות באגים.

בדיקת התכונה 'שליטה במכשיר'

במסוף Action, צריך לציין את כתובת ה-URL של אפליקציית האינטרנט, שמספקת את ה-HTML שנטען במכשיר Google Home או Google Nest במהלך הביצוע המקומי.

כדי לבדוק את בקרת המכשיר עם השלמת הזמנה מקומית, פועלים לפי השלבים הבאים:

Chrome

  1. פותחים את פרויקט הבית החכם ב-Actions Console.
  2. בחלונית הניווט הימנית, לוחצים על פעולות.
  3. בקטע Configure local home SDK (optional)‏ > Enter your testing URL for Chrome, מציינים את כתובת ה-URL של שרת הפיתוח שמציג את ה-HTML שמפעיל את אפליקציית ה-Fulfillment המקומית.
  4. לוחצים על שמירה. יכול להיות שיעברו עד 30 דקות עד ש-Google תפיץ את השינויים במסוף.
  5. צריך להפעיל מחדש את מכשיר Google Home או Google Nest לבדיקה.
  6. מריצים פקודה למכשיר החכם. לדוגמה, אם המכשיר שלכם מטמיע את המאפיין OnOff, תוכלו לומר "Ok Google, turn on the lights".

Node.js

  1. פותחים את הפרויקט של הבית החכם במסוף Actions.
  2. בחלונית הניווט הימנית, לוחצים על פעולות.
  3. בקטע Configure local home SDK (optional) (הגדרת SDK מקומי ביתי, אופציונלי) > Enter your testing URL for Node (הזנת כתובת ה-URL לבדיקה של Node), מציינים את כתובת ה-URL של שרת הפיתוח שמציג את ה-JavaScript שמפעיל את אפליקציית המילוי המקומית.
  4. לוחצים על שמירה. יכול להיות שיעברו עד 30 דקות עד ש-Google תפיץ את השינויים במסוף.
  5. צריך להפעיל מחדש את מכשיר Google Home או Google Nest לבדיקה.
  6. נותנים פקודה למכשיר החכם. לדוגמה, אם המכשיר שלכם מטמיע את המאפיין OnOff, תוכלו לומר "Ok Google, turn on the lights".

פרטים נוספים על סביבת זמן הריצה שבה נעשה שימוש במכשיר מופיעים בקטע מכשירים נתמכים.

.

ניפוי באגים מ-Chrome

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

  • הגדרתם את כתובת ה-URL לפיתוח במסוף לכתובת URL שאפשר לגשת אליה ממכשיר Google Home או Google Nest (ברשת האזורית או דרך האינטרנט).
  • המחשב מחובר לאותה רשת מקומית כמו מכשיר Google Home או Google Nest שאתם בודקים.
  • הרשת לא חוסמת חבילות בין מכשירים.
  • אתם מחוברים לאותו חשבון Google בקונסולה ל-Actions ובמכשיר Google Home או Google Nest.
  • עדכנתם את תגובת הסנכרון במילוי האוטומטי שלכם בענן. הפונקציה צריכה להחזיר לפחות ערך תקין אחד בשדה otherDeviceIds.
  • שהזנתם את פרטי ההגדרה הנכונים של הסריקה במסוף Actions.

כדי לחבר את אפליקציית המילוי המקומית למנטר הבאגים של Chrome DevTools:

Chrome

  1. במכונת הפיתוח המקומית, מתקינים ומפעילים את דפדפן Google Chrome.
  2. בשדה הכתובת בדפדפן Chrome, מזינים chrome://inspect#devices כדי להפעיל את הכלי לבדיקת הקוד של Chrome. בדף אמורה להופיע רשימה של מכשירים, וקובץ ה-HTML אמור להיות רשום מתחת לשם של מכשיר Google Home או Google Nest לבדיקה.
  3. לוחצים על הקישור הכחול לבדיקת הקוד מתחת ל-HTML כדי להפעיל את כלי הפיתוח ל-Chrome. עוברים לכרטיסייה מסוף. פלטפורמת Local Home מפיקה את גרסת האפליקציה ואת גרסת ה-SDK של Local Home ביומן המסוף. אם היומן מופיע, סימן ש-Google הטעינה את האפליקציה בהצלחה ויכולה להתחבר אליה. אם לא, מפעילים מחדש את מכשיר Google Home או Google Nest.
  4. איור 1: אפליקציית מילוי הזמנות מקומית ב-chrome://inspect.

Node.js

  1. במכונת הפיתוח המקומית, מתקינים ומפעילים את דפדפן Google Chrome.
  2. מגדירים את כתובת ה-IP המקומית של מכשיר הבדיקה.
  3. בשדה הכתובת בדפדפן Chrome, מזינים chrome://inspect#devices כדי להפעיל את הכלי לבדיקת הקוד של Chrome.
  4. בוחרים באפשרות Configure… (הגדרה) כדי לפתוח את הגדרות זיהוי היעדים.
  5. איור 2: הגדרות זיהוי היעדים בכתובת chrome://inspect
  6. מזינים DEVICE_IP_ADDRESS:9222 ברשימה ולוחצים על סיום.
  7. לוחצים על הקישור הכחול לבדיקה מתחת לסקריפט כדי להפעיל את כלי הפיתוח ל-Chrome. עוברים לכרטיסייה מסוף. פלטפורמת 'בית מקומי' יוצרת פלט של גרסת האפליקציה וגרסת ה-Local Home SDK ביומן המסוף. אם היומן מופיע, המשמעות היא ש-Google טענה את האפליקציה שלך בהצלחה ויכולה להתחבר אליה. אם לא, מפעילים מחדש את מכשיר Google Home או Google Nest.

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

טיפים לניפוי באגים

כמה דברים נוספים שכדאי לזכור במהלך ניפוי הבאגים:

  • אין לקשר כמה מכשירי Google Home או Google Nest לחשבון הבדיקה באותה רשת מקומית. לא תוכלו לקבוע איזה מכשיר Google Home או Google Nest יהיה היעד של פקודות ההשלמה המקומיות.
  • מרעננים את הדף בכלי הפיתוח של Chrome כדי לטעון מחדש את מאגר האפליקציות המקומי של מילוי ההזמנות עם הקוד העדכני מכתובת ה-URL של סביבת הפיתוח. הפעולה הזו לא תאפס את פלטפורמת Home Home, ויכול להיות שצריך להפעיל מחדש את הכוונות של הפלטפורמה (כמו IDENTIFY) באפליקציית מילוי ההזמנות המקומית. כדי לאפס את פלטפורמת Home Home, צריך להפעיל מחדש את מכשיר Google Home או Google Nest.
  • מוודאים שאפליקציית JavaScript נטענת ללא שגיאות. כדי לעשות זאת, בודקים את הקטע של המסוף בדף כלי הפיתוח. אם יש בעיה, תופיע הודעה כמו זו: Uncaught TypeError: Cannot read property ‘open’ of null.
  • הערך verificationId בתגובה IDENTIFY חייב להתאים לאחד מהערכים של otherDeviceIds בתגובה SYNC.
  • ב-handler של EXECUTE, צריך לוודא שהמכשיר יכול לקבל את פקודות ה-HTTP, TCP או UDP ולפעול כצפוי.
  • חשוב להחזיר Promise מהמטפלים.
  • הימנעו משמירת מצב גלובלי בזיכרון. מחזור החיים של אפליקציות
  • שגיאות שמופיעות באפליקציית המילוי המקומית יופיעו ביומני השגיאות של הפרויקט.

הכנה והשקה בסביבת הייצור

כשתהיו מוכנים להשיק את הפעולה לבית החכם, עליכם לפעול לפי השלבים הבאים:

  1. פותחים טרמינל. מריצים את הפקודה npm run build בספריית הפרויקט. הפקודה הזו יוצרת את חבילות JavaScript הבאות לאפליקציה בספרייה dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. במסוף, מעלים את אפליקציית JavaScript בלחיצה על Develop > Actions. בקטע Configure Local Home SDK, לוחצים על Upload JavaScript files.
    איור 3: העלאת אפליקציית JavaScript.
  3. בתיבת הדו-שיח Upload files, מעלים את קובצי החבילה שיצרתם קודם. מקפידים להעלות את שתי הגרסאות של קובצי החבילה (צומת, Web) כדי שהפעולה תוגדר לפעול בצורה תקינה בכל סביבות זמן הריצה שבהן יש תמיכה במילוי האוטומטי.
    1. העלאת JavaScript לטירגוט Node.js: מעלים את הקובץ bundle.js מהספרייה dist/node.
    2. העלאת קובץ JavaScript לטירגוט של Chrome (דפדפן): מעלים את הקובץ bundle.js מהספרייה dist/web.
  4. בודקים את הפעולה במכשיר עם Assistant מובנית כדי לוודא שהיא פועלת כצפוי בסביבת הייצור. מידע נוסף זמין במאמר בדיקה ושיתוף של הפעולה בבית החכם.
  5. כשתהיו מרוצים מהפעולה, תוכלו לשלוח אותה ל-Google לפריסה בסביבת הייצור לפי ההוראות במאמר הפעלת הפעולה לבית החכם. זה כולל את השלבים של הבדיקה העצמית והבקשה להסמכה.