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

Bạn nên tạo ứng dụng thực hiện đơn hàng tại địa phương bằng các bước được mô tả ở trên, sau đó kiểm thử tính năng tích hợp nhà thông minh trên môi trường lưu trữ của riêng bạn bằng 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 đơn hàng cục bộ. Đoạn mã sau đây cho thấy ví dụ về tệp HTML tĩnh chạy ứng dụng thực hiện đơn hàng 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. Kiểm thử chức năng điều khiển thiết bị.

  3. Gỡ lỗi từ Chrome. Sử dụng các điểm ngắt 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 bản dựng và kiểm thử này, bạn có thể nhanh chóng xem các thay đổi của mình để gỡ lỗi mã.

Kiểm thử chức 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 sẽ phân phát HTML được tải trên thiết bị Google Home hoặc Google Nest trong quá trình thực hiện cục bộ.

Để kiểm thử chức năng kiểm soát thiết bị bằng phương thức thực hiện cục bộ, hãy làm theo các bước sau:

Chrome

  1. Trên trang Thiết lập và cấu hình của chế độ 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 đơn hàng tại địa phương rồi bật chế độ cài đặt này.
  2. Trong phần Testing URLs (URL kiểm thử) > Testing URL for Chrome (URL kiểm thử cho Chrome), hãy chỉ định URL máy chủ phát triển phân phát HTML chạy ứng dụng thực hiện đơn hàng cục bộ.
  3. Nhấp vào Lưu. Có thể mất đến 30 phút để Google truyền tải các thay đổi của bạn trên bảng điều khiển.
  4. Khởi động lại thiết bị Google Home hoặc Google Nest dùng để thử nghiệm.
  5. Ra lệnh cho thiết bị thông minh. Ví dụ: nếu thiết bị của bạn triển khai thuộc tính OnOff, bạn có thể nói "Ok Google, bật đèn".

Node.js

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

Để biết thêm thông tin chi tiết về thời gian chạy mà thiết bị của bạn sử dụng, hãy xem phần 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 đơn hàng 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 chính xác:

Để kết nối ứng dụng 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. Trên máy phát triển cục bộ, hãy cài đặt và khởi chạy trình duyệt Google Chrome.
  2. Trong trường địa chỉ của trình duyệt Chrome, hãy khởi 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 thiết bị trên trang và tệp HTML sẽ được liệt kê theo tên của thiết bị Google Home hoặc Google Nest thử nghiệm.
  3. Nhấp vào đường liên kết kiểm tra màu xanh dương bên dưới HTML để khởi chạy Công cụ của Chrome cho nhà phát triển. Chuyển sang thẻ Bảng điều khiển. Nền tảng Home Local sẽ xuất phiên bản ứng dụng và phiên bản SDK Home Local trong nhật ký bảng điều khiển. Nếu bạn thấy nhật ký, tức là Google đã tải thành công ứng dụng của bạn 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 đơn hàng cục bộ trong chrome://inspect.

Node.js

  1. Trên máy phát triển cục bộ, hãy cài đặt và khởi 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 khởi chạy trình kiểm tra Chrome bằng cách nhập: chrome://inspect#devices.
  4. Chọn Configure... (Thiết lập…) để mở Target discovery settings (Cài đặt khám phá mục tiêu).
  5. Hình 2: Chế độ cài đặt khám phá 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 Xong.
  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 để khởi chạy Công cụ của Chrome cho nhà phát triển. Chuyển sang thẻ Bảng điều khiển. Nền tảng Home Local sẽ xuất phiên bản ứng dụng và phiên bản SDK Home Local trong nhật ký bảng điều khiển. Nếu bạn thấy nhật ký, tức là Google đã tải thành công ứng dụng của bạn 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 chi tiết về thời gian chạy mà thiết bị của bạn sử dụng, hãy xem phần Thiết bị được hỗ trợ.

Mẹo gỡ lỗi

Sau đây là một số điều khác cần lưu ý trong quá trình gỡ lỗi:

  • Đừng liên kết nhiều thiết bị Google Home hoặc Google Nest với tài khoản thử nghiệm 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 Google Nest nào được nhắm đến 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 thực hiện đơn hàng tại địa phương bằng mã mới nhất từ URL phát triển. Thao tác này không đặt lại nền tảng Nhà cục bộ. 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 thực hiện cục bộ. Để đặt lại nền tảng Nhà cục bộ, hãy khởi động lại thiết bị Google Home hoặc 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. Để thực hiện việc này, hãy kiểm tra phần bảng điều khiển của trang DevTools. 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 TypeError không phát hiện được: Không thể đọc thuộc tính "open" của giá trị rỗng).
  • 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 thiết bị của bạn có thể nhận được các lệnh HTTP, TCP hoặc UDP và hoạt động như mong đợi.
  • Hãy nhớ trả về Promise từ các trình xử lý.
  • Tránh duy trì trạng thái toàn cục trong bộ nhớ. Xem phần Vòng đời ứng dụng.
  • Các lỗi do ứng dụng thực hiện đơn hàng tại địa phương gửi sẽ xuất hiện trong nhật ký lỗi của dự án.

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

Khi bạn đã sẵn sàng chạy 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 cho ứng dụng của bạn trong thư mục dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. Trên trang Thiết lập và cấu hình của Google Home Developer Console, hãy di chuyển đến Thực hiện đơn hàng tại địa phương 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ả 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 mục tiêu Node.js lên: Tải tệp bundle.js lên từ thư mục dist/node.
    2. Tải JavaScript nhắm mục tiêu 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 một thiết bị có Trợ lý để xác minh rằng hành động đó hoạt động như dự kiến trong môi trường phát hành chính thức. Để 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 hoạt động của Hành động, hãy gửi Hành động đó cho Google để triển khai công khai bằng cách làm theo hướng dẫn trong phần Ra mắt Hành động nhà thông minh. Bao gồm cả việc hoàn tất các bước tự kiểm thử và yêu cầu chứng nhận.