Kiểm thử và gỡ lỗi ứng dụng

Bạn nên tạo ứng dụng thực hiện cục bộ theo các bước đã mô tả trước đó, sau đó kiểm thử tính năng tích hợp nhà thông minh trong môi trường lưu trữ của riêng bạn theo các bước sau:

  1. Trong môi trường lưu trữ của riêng bạn, hãy phân phát trang HTML chạy ứng dụng thực hiện cục bộ. Đoạn mã sau đây cho thấy ví dụ về một tệp HTML tĩnh chạy ứng dụng thực hiện cục bộ.

    <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. Điều khiển thiết bị thử nghiệm.

  3. Gỡ lỗi từ Chrome. Sử dụng điểm dừng và nhật ký để khắc phục sự cố tích hợp.

  4. Sửa đổi và biên dịch mã TypeScript, sau đó lặp lại các bước này.

Bằng cách lặp lại quy trình tạo và kiểm thử này, bạn có thể nhanh chóng thấy các thay đổi của mình trong thực tế để giúp bạn gỡ lỗi các vấn đề với mã.

Kiểm thử tính năng điều khiển thiết bị

Trong Google Home Developer Console, bạn cần chỉ định URL của ứng dụng web. URL này phân phát HTML được tải trên thiết bị Google Home hoặc thiết bị Google Nest trong quá trình thực hiện cục bộ.

Để kiểm thử tính năng điều khiển thiết bị bằng tính năng thực hiện cục bộ, hãy làm theo các bước sau:

Chrome

  1. Trong trang Thiết lập và định cấu hình của tính năng tích hợp từ đám mây sang đám mây trong Google Home Developer Console, hãy di chuyển đến phần Thực hiện cục bộ rồi bật chế độ cài đặt này.
  2. Trong phần URL kiểm thử > URL kiểm thử cho Chrome, hãy chỉ định URL của máy chủ phát triển phân phát HTML chạy ứng dụng thực hiện cục bộ.
  3. Nhấp vào Lưu. Có thể mất đến 30 phút để Google truyền bá các thay đổi trong bảng điều khiển của bạn.
  4. Khởi động lại thiết bị Google Home hoặc Google Nest kiểm thử.
  5. Đưa ra lệnh cho thiết bị thông minh của bạn. Ví dụ: nếu thiết bị của bạn triển khai đặc điểm OnOff, bạn có thể nói "Ok Google, bật đèn".

Node.js

  1. Trong trang Thiết lập và định cấu hình của Google Home Developer Console, hãy di chuyển đến phần Thực hiện cục bộ rồi bật chế độ cài đặt này.
  2. Trong phần URL kiểm thử > URL kiểm thử cho Node, hãy chỉ định URL của máy chủ phát triển phân phát JavaScript chạy ứng dụng thực hiện cục bộ.
  3. Nhấp vào Lưu. Có thể mất đến 30 phút để Google truyền bá các thay đổi trong bảng điều khiển của bạn.
  4. Khởi động lại thiết bị Google Home hoặc Google Nest kiểm thử.
  5. Đưa ra lệnh cho thiết bị thông minh của bạn. Ví dụ: nếu thiết bị của bạn triển khai đặc điểm OnOff, bạn có thể nói "Ok Google, bật đèn".

Để biết thêm thông tin về thời gian chạy mà thiết bị của bạn sử dụng, hãy xem bài viết Thiết bị được hỗ trợ.

Gỡ lỗi từ Chrome

Bạn có thể gỡ lỗi ứng dụng thực hiện cục bộ bằng Công cụ của Chrome cho nhà phát triển. Trước khi có thể gỡ lỗi, hãy đảm bảo rằng môi trường của bạn được thiết lập đúng cách:

  • Bạn đã đặt URL phát triển trong bảng điều khiển thành một URL mà thiết bị Google Home hoặc thiết bị Google Nest có thể truy cập (trên mạng cục bộ hoặc sử dụng Internet),
  • Máy của bạn được kết nối với cùng một mạng cục bộ như thiết bị Google Home hoặc thiết bị Google Nest mà bạn đang kiểm thử.
  • Mạng của bạn không chặn các gói giữa các thiết bị.
  • Bạn đã đăng nhập bằng cùng một Tài khoản Google trên Google Home Developer Console và trên thiết bị Google Home hoặc Google Nest.
  • Bạn đã cập nhật phản hồi SYNC trong quá trình thực hiện trên đám mây thực hiện. Phản hồi này phải trả về ít nhất một giá trị hợp lệ trong trường otherDeviceIds.
  • Bạn đã nhập thông tin cấu hình quét chính xác trong Google Home Developer Console.

Để kết nối ứng dụng phương thức thực hiện cục bộ với trình gỡ lỗi Chrome DevTools, hãy làm theo các bước sau:

Chrome

  1. Trong máy phát triển cục bộ, hãy cài đặt và chạy trình duyệt Google Chrome.
  2. Trong trường địa chỉ của trình duyệt Chrome, hãy chạy trình kiểm tra Chrome bằng cách nhập: chrome://inspect#devices. Bạn sẽ thấy danh sách các thiết bị trên trang và tệp HTML của bạn sẽ xuất hiện trong tên thiết bị Google Home hoặc thiết bị Google Nest kiểm thử.
  3. Nhấp vào đường liên kết kiểm tra màu xanh dương bên dưới HTML để chạy Chrome DevTools. Chuyển sang thẻ Bảng điều khiển. Nền tảng Local Home xuất phiên bản ứng dụng và phiên bản SDK Local Home phiên bản trong nhật ký bảng điều khiển. Nếu bạn thấy nhật ký, điều đó có nghĩa là Google đã tải ứng dụng của bạn thành công và có thể kết nối với ứng dụng đó. Nếu không, hãy khởi động lại thiết bị Google Home hoặc Google Nest.
  4. Hình 1: Ứng dụng thực hiện cục bộ trong chrome://inspect.

Node.js

  1. Trong máy phát triển cục bộ, hãy cài đặt và chạy trình duyệt Google Chrome.
  2. Xác định địa chỉ IP cục bộ của thiết bị thử nghiệm.
  3. Trong trường địa chỉ của trình duyệt Chrome, hãy chạy trình kiểm tra Chrome bằng cách nhập: chrome://inspect#devices.
  4. Chọn Configure... (Định cấu hình...) để mở Target discovery settings (Chế độ cài đặt phát hiện mục tiêu).
  5. Hình 2: Chế độ cài đặt phát hiện mục tiêu trong chrome://inspect.
  6. Nhập DEVICE_IP_ADDRESS:9222 vào danh sách rồi nhấp vào Done.
  7. Nhấp vào đường liên kết kiểm tra màu xanh dương bên dưới tập lệnh để chạy Chrome DevTools. Chuyển sang thẻ Bảng điều khiển. Nền tảng Local Home xuất phiên bản ứng dụng và phiên bản SDK Local Home phiên bản trong nhật ký bảng điều khiển. Nếu bạn thấy nhật ký, điều đó có nghĩa là Google đã tải ứng dụng của bạn thành công và có thể kết nối với ứng dụng đó. Nếu không, hãy khởi động lại thiết bị Google Home hoặc Google Nest.

Để biết thêm thông tin về thời gian chạy mà thiết bị của bạn sử dụng, hãy xem bài viết Thiết bị được hỗ trợ.

Mẹo gỡ lỗi

Một số điều khác cần lưu ý trong quá trình gỡ lỗi bao gồm:

  • Không liên kết nhiều thiết bị Google Home hoặc Google Nest với tài khoản kiểm thử của bạn trên cùng một mạng cục bộ. Bạn sẽ không thể kiểm soát thiết bị Google Home hoặc thiết bị Google Nest nào được nhắm mục tiêu bằng các lệnh thực hiện cục bộ.
  • Làm mới trang trong Chrome DevTools để tải lại vùng chứa ứng dụng phương thức thực hiện cục bộ bằng mã mới nhất từ URL phát triển của bạn. Thao tác này không đặt lại nền tảng Local Home. Bạn có thể cần đặt lại nền tảng này để kích hoạt lại ý định của nền tảng (chẳng hạn như IDENTIFY) trong ứng dụng phương thức thực hiện cục bộ. Để đặt lại nền tảng Local Home, hãy khởi động lại thiết bị Google Home hoặc thiết bị Google Nest.
  • Kiểm tra để đảm bảo ứng dụng JavaScript của bạn tải mà không gặp lỗi. Để làm việc này, hãy kiểm tra phần bảng điều khiển của trang Công cụ cho nhà phát triển. Nếu có vấn đề, bạn sẽ thấy một thông báo như sau: "Uncaught TypeError: Cannot read property 'open' of null." (Lỗi không bắt được TypeError: Không thể đọc thuộc tính "open" của giá trị null).
  • verificationId từ phản hồi IDENTIFY phải khớp với một trong các otherDeviceIds từ phản hồi SYNC.
  • Đối với trình xử lý EXECUTE, hãy đảm bảo rằng thiết bị của bạn có thể nhận các lệnh HTTP, TCP hoặc UDP và hoạt động như mong đợi.
  • Đảm bảo trả về Promise từ các trình xử lý.
  • Tránh duy trì trạng thái chung trong bộ nhớ. Xem Vòng đời của ứng dụng.
  • Các lỗi do ứng dụng thực hiện cục bộ của bạn gửi sẽ xuất hiện trong nhật ký lỗi dự án.

Chuẩn bị và phát hành lên kênh phát hành công khai

Khi bạn đã sẵn sàng phát hành Hành động nhà thông minh, hãy làm theo các bước sau:

  1. Mở một cửa sổ dòng lệnh. Trong thư mục dự án, hãy chạy lệnh npm run build. Lệnh này tạo các gói JavaScript sau đây cho ứng dụng của bạn trong thư mục dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Trong trang Thiết lập và định cấu hình của Google Home Developer Console, hãy di chuyển đến phần Thực hiện cục bộ rồi bật chế độ cài đặt này.
  3. Sử dụng các nút Tải JavaScript lên, hãy tải các tệp gói mà bạn đã tạo trước đó lên.
    Hình 3: Tải ứng dụng JavaScript lên.
    Hãy nhớ tải cả hai phiên bản của tệp gói (Node, Web) lên để Hành động của bạn được định cấu hình hoạt động chính xác trên tất cả các môi trường thời gian chạy mà tính năng thực hiện cục bộ hỗ trợ.
    1. Tải JavaScript nhắm đến Node.js lên: Tải tệp bundle.js lên từ thư mục dist/node.
    2. Tải JavaScript nhắm đến Chrome (trình duyệt) lên: Tải tệp bundle.js lên từ thư mục dist/web.
  4. Kiểm thử Hành động của bạn trên thiết bị có Trợ lý để xác minh rằng Hành động này hoạt động như mong đợi trong môi trường thực tế. Để tìm hiểu thêm, hãy xem bài viết Kiểm thử và chia sẻ Hành động nhà thông minh.
  5. Khi bạn hài lòng với cách Hành động của mình hoạt động, hãy gửi Hành động đó cho Google để triển khai lên kênh phát hành công khai bằng cách làm theo hướng dẫn trong bài viết Phát hành Hành động nhà thông minh. Trong đó có việc hoàn tất các bước tự kiểm thử và yêu cầu chứng nhận.