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

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

  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, מקמפלים אותו וחוזרים על השלבים האלה.

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

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

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

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

Chrome

  1. בדף הגדרה וקביעת תצורה של השילוב בין ענן לענן ב-Google Home Developer Console, גוללים אל הזמנות עם איסוף עצמי ומפעילים את ההגדרה.
  2. בקטע Testing URLs (כתובות URL לבדיקה) > Testing URL for Chrome (כתובת URL לבדיקה ב-Chrome), מציינים את כתובת ה-URL של שרת הפיתוח שמציג את ה-HTML שמפעיל את אפליקציית ההזמנות המקומיות.
  3. לוחצים על שמירה. יכול להיות שיחלפו עד 30 דקות עד ש-Google תפיץ את השינויים שביצעתם במסוף.
  4. מפעילים מחדש את מכשיר Google Home או Google Nest שמשמש לבדיקה.
  5. מפעילים פקודה במכשיר החכם. לדוגמה, אם במכשיר שלכם מוגדר מאפיין OnOff, תוכלו לומר "Ok Google, turn on the lights".

Node.js

  1. בדף הגדרה וקביעת תצורה של Google Home Developer Console, גוללים אל הזמנות עם איסוף עצמי ומפעילים את ההגדרה.
  2. בקטע כתובות URL לבדיקה > כתובת URL לבדיקה של Node, מציינים את כתובת ה-URL של שרת הפיתוח שמפעיל את ה-JavaScript של אפליקציית ההשלמה המקומית.
  3. לוחצים על שמירה. יכול להיות שיחלפו עד 30 דקות עד ש-Google תפיץ את השינויים שביצעתם במסוף.
  4. מפעילים מחדש את מכשיר Google Home או Google Nest שמשמש לבדיקה.
  5. מפעילים פקודה במכשיר החכם. לדוגמה, אם במכשיר שלכם מוגדר מאפיין OnOff, תוכלו לומר "Ok Google, turn on the lights".

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

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

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

כדי לחבר את אפליקציית ההזמנות המקומיות לכלי פיתוח ל-Chrome:

Chrome

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

Node.js

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

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

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

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

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

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

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

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