Bộ thử nghiệm Google Home

Đám mây với đám mây    Local Home SDK

Google Home Test Suite là một ứng dụng web cho phép bạn tự kiểm thử Hành động nhà thông minh. Test Suite tự động tạo và chạy các trường hợp kiểm thử dựa trên các thiết bị và đặc điểm liên kết với tài khoản của bạn. Khi hoàn tất các bài kiểm thử, bạn có thể xem kết quả kiểm thử.

Để sử dụng Test Suite và gửi kết quả kiểm thử cho Google để được chứng nhận, hãy xem trang Kiểm thử và chia sẻ Hành động nhà thông minh để biết thông tin. Phiên bản Test Suite này dành riêng cho việc phát triển và đảm bảo chất lượng.

Các kiểm thử do Test Suite thực thi bao gồm nhưng không giới hạn ở:

  • Kiểm tra để đảm bảo rằng Trạng thái báo cáoYêu cầu đồng bộ hoá được triển khai cho các thiết bị và đặc điểm của bạn.

  • Xác minh rằng ý định QUERY được triển khai cho thiết bị của bạn và kết quả của ý định đó khớp với kết quả của Trạng thái báo cáo.

Bạn có thể chạy công cụ Test Suite bằng cách nhấp vào nút bên dưới:

Chạy Test Suite

Tự kiểm thử Hành động

Phần sau đây mô tả cách chạy Test Suite trên thiết bị và dự án Hành động nhà thông minh. Test Suite yêu cầu bạn đăng nhập để có thể kiểm tra các thiết bị trong Google Home Graph và gửi lệnh trực tiếp đến Google Assistant.

Để tự kiểm thử Hành động, hãy làm theo các bước sau:

  1. Trong trình duyệt web, hãy mở Test Suite.
  2. Đăng nhập vào Google bằng nút ở góc trên cùng bên phải.

  3. Định cấu hình Thông tin dự án:

    1. Trong trường Project ID (Mã dự án), hãy nhập giá trị nhận dạng dự án cho Hành động nhà thông minh.
    2. Nhấp vào Tiếp theo.
  4. Định cấu hình Cài đặt kiểm thử:

    1. Nếu bạn chứng nhận việc tích hợp Cloud-to-cloud, hãy giữ nguyên giá trị mặc định của Trạng thái báo cáo/Thời gian chờ đồng bộ hoá yêu cầu. Tuy nhiên, để kiểm thử, bạn có thể thay đổi giá trị thời gian chờ nếu tác nhân của bạn mất nhiều thời gian hơn để báo cáo trạng thái cho Biểu đồ trang chủ.
    2. Nếu chứng nhận việc tích hợp Cloud-to-cloud, hãy đảm bảo bạn đã bật tuỳ chọn Đồng bộ hoá yêu cầu kiểm thử. Trong quá trình kiểm thử, bạn sẽ được nhắc thêm, cập nhật hoặc xoá thiết bị và kiểm tra xem danh sách thiết bị có thay đổi trong Biểu đồ nhà hay không. Các hành động thay đổi diễn ra thông qua quá trình tích hợp mà bạn đang kiểm thử. Quá trình tích hợp đang kiểm thử của bạn phải luôn có ít nhất một thiết bị được đính kèm với người dùng của ứng dụng.

    3. Nếu bạn đang sử dụng một đặc điểm Scene, hãy chọn Test Scene trait (Thử nghiệm đặc điểm cảnh).

    4. Nếu bạn đang chạy bộ kiểm thử cho thiết bị Local Home, hãy chọn Supports Local Home SDK (Hỗ trợ SDK Local Home).

      1. Chọn Thực hiện đơn hàng tại địa phương hoặc Thiết lập liền mạch.
      2. Nhấp vào Hỗ trợ truy vấn cục bộ nếu thiết bị có thể xử lý ý định QUERY (truy vấn) cục bộ.
  5. Thực hiện Chạy thử và xem kết quả:

    1. Nhấp vào Next (Tiếp theo) để bắt đầu chạy kiểm thử. Giao diện này cho thấy các thiết bị và đặc điểm đang được kiểm thử.
  6. Xem trang Kết quả và bài nộp:

    1. Sau khi kiểm thử hoàn tất, hãy nhấp vào Tiếp theo để xem kết quả.

Kết quả kiểm thử bao gồm số lượng kiểm thử đã vượt qua và không vượt qua, cũng như điểm số cuối cùng cho biết tỷ lệ phần trăm số lần vượt qua.

Kiểm thử xác thực tính năng liên kết tài khoản

Tính năng liên kết tài khoản đóng vai trò quan trọng trong hệ sinh thái nhà thông minh của Google. Quy trình kiểm thử xác thực liên kết tài khoản trong Test Suite sẽ kiểm tra dịch vụ OAuth của bạn để tìm các vấn đề tiềm ẩn.

Kiểm thử xác thực liên kết tài khoản chứa các kiểm thử để xác thực mã thông báo truy cậpmã thông báo làm mới:

Kiểm thử xác thực mã truy cập

Mã thông báo truy cập được trả về từ điểm cuối trao đổi mã thông báo của bạn sẽ được kiểm tra để đảm bảo rằng mã thông báo đó có định dạng hợp lệ và được trả về cùng với mã thông báo làm mới hợp lệ.

Mục kiểm thử Giải thích
Kiểm tra xem mã thông báo truy cập có ở định dạng JWT hay không Tính năng liên kết tài khoản Google không đề xuất mã truy cập ở định dạng JWT. Nếu tìm thấy định dạng JWT, cảnh báo sau sẽ xuất hiện: The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token.
Kiểm tra xem mã truy cập có thời hạn có mã làm mới hay không. Bạn phải cung cấp mã làm mới khi mã truy cập có thể hết hạn. Quy trình kiểm thử này sẽ không thành công nếu không tìm thấy mã làm mới.

Kiểm thử xác thực mã làm mới

Mã thông báo làm mới được kiểm thử để đảm bảo điểm cuối trao đổi mã thông báo của bạn trao đổi đúng cách các mã thông báo đó cho mã thông báo truy cập mới.

Mục kiểm thử Giải thích
Làm mới mã thông báo bằng mã thông báo làm mới không hợp lệ, đang kiểm tra phản hồi của đối tác. Máy chủ của bạn sẽ trả về lỗi HTTP 400 Yêu cầu không hợp lệ với {"error": "invalid_grant"} cho yêu cầu mã thông báo làm mới không hợp lệ. Nếu phản hồi không khớp với "mã lỗi hoặc thông báo lỗi", thì trường hợp kiểm thử này sẽ không đạt. Truy cập vào phần giao đổi mã thông báo làm mới cho mã thông báo truy cập để biết thêm thông tin.
Kiểm thử xem mã thông báo truy cập đã được cập nhật sau khi làm mới mã thông báo hay chưa. Mã thông báo truy cập mới sẽ được trả về để phản hồi các yêu cầu làm mới mã thông báo. Nếu máy chủ của bạn cung cấp cùng một mã thông báo truy cập, thì trường hợp kiểm thử sẽ không thành công.
Kiểm tra xem mã truy cập chưa hết hạn có còn hợp lệ hay không. Thời gian hết hạn của mã thông báo truy cập sẽ xuất hiện.
Kiểm tra xem mã làm mới có được xoay vòng trong quá trình làm mới hay không. Chúng tôi kiểm tra xem mã thông báo làm mới có thay đổi sau khi yêu cầu mã thông báo làm mới hay không. Nếu mã thông báo làm mới thay đổi, máy chủ của bạn chỉ nên vô hiệu hoá mã thông báo làm mới cũ sau khi mã thông báo làm mới mới được sử dụng, để ngăn các điều kiện tương tranh có thể làm hỏng việc liên kết tài khoản của người dùng. Quá trình kiểm thử sẽ không thành công nếu bạn vô hiệu hoá mã thông báo làm mới cũ trước khi sử dụng mã thông báo mới.

Thông báo lỗi

Bảng sau đây liệt kê một số thông báo lỗi phổ biến mà bạn có thể gặp phải và cách đề xuất để khắc phục các lỗi đó.

Thông báo Lỗi Cách giải quyết
API HomeGraph chưa được sử dụng trong dự án <_id_> trước đây hoặc API này bị tắt Đảm bảo bạn đã bật HomeGraph API.
Không tìm thấy pháp nhân được yêu cầu Kiểm tra để đảm bảo agentUserId của bạn hợp lệ và được liên kết với dịch vụ của bạn.

Đảm bảo bạn có quyền resourcemanager.projects.get trên dự án ${your project id} và đã cấp tất cả các quyền trong màn hình xin phép.

Lỗi khi lấy dữ liệu mô-đun: lỗi getModuleData: Phản hồi lỗi Http cho https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Làm theo hướng dẫn tại bài viết Khắc phục sự cố về quyền IAM để đảm bảo tài khoản của bạn có quyền resourcemanager.projects.get cho dự án.
  2. Truy cập trang Ứng dụng có quyền truy cập vào tài khoản của bạn để kiểm tra các quyền sau cho "Bộ kiểm thử cho nhà thông minh":
    • Thông tin cơ bản về tài khoản
      1. Xem địa chỉ email Tài khoản Google chính của bạn
      2. Xem thông tin cá nhân của bạn, bao gồm mọi thông tin cá nhân mà bạn đã đăng công khai
    • Quyền truy cập bổ sung
      1. Sử dụng Assistant: quyền truy cập rộng rãi vào Tài khoản Google của bạn
      2. Kiểm tra và điều khiển các thiết bị nhà thông minh trong Home Graph
    Nếu bạn gặp lỗi cấp quyền, trước tiên, hãy xoá quyền truy cập rồi cấp tất cả quyền trong màn hình đồng ý khi bạn đăng nhập lại.

Gửi kết quả kiểm thử

Kết quả Test Suite của bạn phải vượt qua 100% các bài kiểm thử trước khi gửi biểu mẫu chứng nhận. Nếu có bất kỳ đặc điểm nào yêu cầu kiểm thử thủ công, bạn vẫn nên chạy công cụ Test Suite và đính kèm kết quả ngay cả khi kết quả đó chưa đạt 100%.

Để gửi kết quả kiểm thử và chứng nhận việc tích hợp Cloud-to-cloud, hãy làm theo các bước sau:

  1. Sau khi nhận được kết quả kiểm thử và bạn đã sẵn sàng chứng nhận quá trình tích hợp Cloud-to-cloud, hãy nhấp vào Gửi trong công cụ Test Suite.
  2. Nhấp vào nút TẢI KẾT QUẢ KIỂM TRA XUỐNG để truy xuất kết quả kiểm tra.
  3. Nhấp vào GO TO SUBMISSION FORM (Chuyển đến biểu mẫu gửi) để gửi kết quả kiểm thử cho Google.
  4. Điền vào tất cả các trường bắt buộc rồi nhấp vào Gửi.