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

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

  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 DevTools debugger:

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 DevTools כדי לטעון מחדש את מאגר האפליקציות של תהליך ההזמנה והמשלוח מהסניף עם הקוד העדכני מכתובת ה-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: מעלים את הקובץ מהספרייה dist/node.bundle.js
    2. העלאת טירגוט JavaScript ב-Chrome (דפדפן): מעלים את הקובץ bundle.js מהספרייה dist/web.
  4. כדאי לבדוק את הפעולה במכשיר עם Assistant כדי לוודא שהיא מתנהגת כמו שציפיתם בסביבת ייצור. מידע נוסף זמין במאמר בנושא בדיקה ושיתוף של פעולות במכשירים לבית חכם.
  5. כשאתם מרוצים מהאופן שבו הפעולה פועלת, אתם יכולים לשלוח אותה ל-Google כדי לפרוס אותה בסביבת הייצור. לשם כך, פועלים לפי ההוראות במאמר הפעלת פעולה לבית חכם. התהליך כולל השלמת השלבים של הבדיקה העצמית ובקשת האישור.