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

Bạn nên xây dựng ứng dụng thực hiện đơn hàng cục bộ theo các bước đã mô tả trước đó, sau đó kiểm thử quá trình tích hợp nhà thông minh trên 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 phương thức thực hiện 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ế độ đ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ố cho quá trình 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 xây dựng và kiểm thử này, bạn có thể xem các thay đổi trong thực tế một cách nhanh chóng và dễ dàng hơn trong việc phát hiện và gỡ lỗi các vấn đề với mã của mình.

Kiểm thử chế độ điều khiển thiết bị

Trong Bảng điều khiển hành động, 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 Google Nest trong phương thức thực hiện cục bộ.

Để kiểm thử chức năng điều khiển 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. Mở dự án Nhà thông minh của bạn trong bảng điều khiển Actions.
  2. Trong bảng điều hướng bên trái, hãy nhấp vào Hành động.
  3. Trong phần Configure local home SDK (không bắt buộc) > Enter your testing URL for Chrome (Nhập 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 cục bộ của bạn.
  4. Nhấp vào Lưu. Có thể mất tới 30 phút để Google áp dụng các thay đổi trên bảng điều khiển của bạn.
  5. Khởi động lại thiết bị Google Home hoặc Google Nest thử nghiệm.
  6. Ra một 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 tính năng OnOff, bạn có thể nói "Ok Google, bật đèn".

Node.js

  1. Mở dự án Nhà thông minh của bạn trong bảng điều khiển Actions.
  2. Trong bảng điều hướng bên trái, hãy nhấp vào Hành động.
  3. Trong phần Configure Local home SDK (optional) (Định cấu hình SDK nhà cục bộ (không bắt buộc)) > Nhập URL kiểm thử cho Node, 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 cục bộ của bạn.
  4. Nhấp vào Lưu. Có thể mất tới 30 phút để Google áp dụng các thay đổi trên bảng điều khiển của bạn.
  5. Khởi động lại thiết bị Google Home hoặc Google Nest thử nghiệm.
  6. Ra một 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 tính năng 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 phương thức thực hiện cục bộ bằng cách sử dụng Công cụ cho nhà phát triển của Chrome. Trước khi có thể gỡ lỗi, hãy đảm bảo bạn đã thiết lập môi trường đú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 Google Nest có thể truy cập (trên mạng cục bộ hoặc qua Internet),
  • Máy của bạn kết nối với cùng một mạng cục bộ với thiết bị Google Home hoặc Google Nest mà bạn đang kiểm thử.
  • Mạng của bạn không chặn các gói tin 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 bảng điều khiển Actions và trên thiết bị Google Home hoặc Google Nest.
  • Bạn đã cập nhật phản hồi SYNC trong phương thức thực hiện trên đám mây. Hàm 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 bảng điều khiển Actions.

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

Chrome

  1. Trong máy phát triển cục bộ của bạn, 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 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 phải được liệt kê dưới 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 trong HTML của bạn để 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 Local Home sẽ xuất ra phiên bản ứng dụng của bạn và phiên bản SDK Local Home trong nhật ký bảng điều khiển. Nếu bạn thấy nhật ký này thì 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 cục bộ trong chrome://inspect.

Node.js

  1. Trong máy phát triển cục bộ của bạn, 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 chạy trình kiểm tra Chrome bằng cách nhập: chrome://inspect#devices.
  4. Chọn Định cấu hình... để mở phần 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 Done (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 của bạn để 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 Local Home sẽ xuất ra phiên bản ứng dụng của bạn và phiên bản SDK Local Home trong nhật ký bảng điều khiển. Nếu bạn thấy nhật ký này thì 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

Một số điều khác cần lưu ý trong khi 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 thử nghiệm trên cùng một mạng cục bộ. Bạn sẽ không thể kiểm soát được thiết bị Google Home hoặc Google Nest nào được nhắm mục tiêu bằng các lệnh thực hiện đơn hàng cục bộ.
  • Làm mới trang trong Công cụ của Chrome cho nhà phát triển để tải lại vùng chứa ứng dụng 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 (có thể cần thiết để kích hoạt lại các ý đị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 Local Home, hãy khởi động lại thiết bị Google Home hoặc Google Nest.
  • Kiểm tra để đảm bảo rằng ứ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 xem mục bảng điều khiển trên trang Công cụ cho nhà phát triển. Nếu có sự cố, bạn sẽ thấy một thông báo như sau: Uncaught TypeError: Cannot read property ‘open’ of null.
  • verificationId của phản hồi IDENTIFY phải khớp với một trong các otherDeviceIds của 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 nhận được các lệnh HTTP, TCP hoặc UDP và hoạt động như dự kiến.
  • Hãy nhớ trả về một Promise từ các trình xử lý.
  • Tránh duy trì trạng thái chung trong bộ nhớ. Xem phần Vòng đời của ứng dụng.
  • Lỗi do ứng dụng thực hiện cục bộ gửi sẽ xuất hiện trong nhật ký lỗi dự án.

Chuẩn bị và phát hành phiên bản chính thức

Khi bạn đã sẵn sàng triển khai Hành động trong 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 của bạn, hãy chạy lệnh npm run build. Lệnh này tạo ra 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 bảng điều khiển, hãy tải ứng dụng JavaScript lên bằng cách nhấp vào Phát triển > Thao tác. Trong mục Configure Local Home SDK (Định cấu hình Local Home SDK), hãy nhấp vào Upload JavaScript files (Tải tệp JavaScript lên).
    Hình 3: Tải ứng dụng JavaScript lên.
  3. Trong hộp thoại Tải tệp lên, hãy tải các tệp gói mà bạn đã tạo trước đó 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à phương thức thực hiện cục bộ hỗ trợ.
    1. Tải Node.js nhắm mục tiêu JavaScript của bạn lên: Tải tệp bundle.js lên từ thư mục dist/node.
    2. Tải tệp nhắm mục tiêu JavaScript lên Chrome (trình duyệt): 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ư mong đợi trong môi trường sản xuất. Để tìm hiểu thêm, hãy xem bài viết Thử nghiệm và chia sẻ Hành động trong 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 chính thức bằng cách làm theo hướng dẫn trong bài viết Chạy Hành động trong nhà thông minh. Điều này bao gồm cả việc hoàn thành các bước yêu cầu tự kiểm tra và yêu cầu chứng nhận.