Google Home Test Suite,

Cloud-to-cloud    Local Home SDK

Google Home Test Suite to aplikacja internetowa, która pozwala samodzielnie przetestować akcję inteligentnego domu. Test Suite automatycznie generuje i uruchamia przypadki testowe na podstawie urządzeń i cech powiązanych z Twoim kontem. Po zakończeniu testów możesz wyświetlić ich wyniki lub wypełnić formularz przesyłania, aby przesłać wyniki do Google.

Testy wykonywane przez interfejs Test Suite obejmują między innymi:

  • Sprawdza, czy dla Twoich urządzeń i cech są zaimplementowane Stan raportu i Poproś o synchronizację.

  • Sprawdza, czy na urządzeniu została wdrożona intencja QUERY, a jej wyniki są zgodne z wynikami raportu Stanu raportu.

Możesz uruchomić narzędzie Test Suite, klikając przycisk poniżej:

Uruchom Test Suite

Przeprowadź samodzielną ocenę swojej akcji

Z tej sekcji dowiesz się, jak uruchomić aplikację Test Suite na urządzeniu i w projekcie akcji w inteligentnym domu. Test Suitewymaga zalogowania się, aby można było sprawdzić urządzenia wGoogle Home Graph i wysyłać polecenia bezpośrednio do Google Assistant.

Aby samodzielnie przetestować akcję, wykonaj te czynności:

  1. W przeglądarce otwórz Test Suite.
  2. Zaloguj się w Google za pomocą przycisku w prawym górnym rogu.

  3. Skonfiguruj Szczegóły projektu:

    1. W polu Identyfikator projektu wpisz identyfikator projektu inteligentnego domu.
    2. Kliknij Dalej.
  4. Skonfiguruj Ustawienia testu:

    1. Jeśli certyfikujesz akcję inteligentnego domu, pozostaw domyślną wartość Report State/Request Sync Timeout (Stan raportu / Czas oczekiwania na synchronizację żądania). Możesz jednak zmienić wartość limitu czasu na potrzeby testów, jeśli agent potrzebuje więcej czasu na przekazanie informacji o stanie do Home Graph.
    2. Jeśli przeprowadzasz certyfikację działania inteligentnego domu, upewnij się, że włączona jest opcja Test Request Sync (Testuj prośbę o synchronizację). Podczas testów pojawi się prośba o dodanie, zaktualizowanie lub usunięcie urządzenia i sprawdzenie, czy lista urządzeń zmieniła się w Home Graph. Działania dotyczące zmian są wprowadzane w ramach testowanej integracji. Testowana integracja musi zawsze mieć co najmniej 1 urządzenie podłączone do użytkownika agenta.

    3. Jeśli używasz cechy Scene, wybierz Przetestuj cechę sceny.

    4. Jeśli korzystasz z pakietu testowego pod kątem urządzeń lokalnych w domu, wybierz Obsługuje pakiet SDK dla lokalnej firmy.

      1. Wybierz Realizacja lokalna lub Łatwa konfiguracja.
      2. Kliknij Obsługuje zapytania lokalne, jeśli urządzenie może lokalnie obsłużyć intencję QUERY.
  5. Przeprowadź test testowy i sprawdź wyniki:

    1. Kliknij Dalej, aby rozpocząć testy. Interfejs przedstawia testowane urządzenia i cechy.
  6. Wyświetl stronę Wyniki i przesłanie:

    1. Po zakończeniu testów kliknij Dalej, aby wyświetlić ich wyniki.

Wyniki testu obejmują liczbę zaliczonych i niezaliczonych testów oraz końcowy wynik wskazujący odsetek zaliczonych testów.

Test weryfikacji łączenia kont

Łączenie kont odgrywa ważną rolę w ekosystemie inteligentnego domu Google. Test poprawności łączenia kont w Test Suite sprawdza, czy usługa OAuth nie zawiera potencjalnych problemów.

Test weryfikacji połączenia kont obejmuje testy umożliwiające weryfikację tokenów dostępu i tokenów odświeżania:

Test weryfikacji tokena dostępu

Tokeny dostępu zwracane z punktu końcowego tokena wymiany tokenów są testowane pod kątem prawidłowego formatu i zwracania z prawidłowym tokenem odświeżania.

Elementy testowe Wyjaśnienie
Sprawdź, czy token dostępu jest w formacie JWT W połączeniu z kontem Google nie zaleca się tokenów dostępu w formacie JWT. W przypadku znalezienia formatu JWT pojawi się to ostrzeżenie: 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.
Sprawdź, czy wygasający token dostępu ma token odświeżania. Należy podać token odświeżania, gdy token dostępu wygaśnie. Ten test nie powiedzie się, jeśli nie zostanie znaleziony token odświeżania.

Odśwież test weryfikacji tokena

Tokeny odświeżania są testowane, aby mieć pewność, że punkt końcowy wymiany tokenów prawidłowo wymienia je na nowe tokeny dostępu.

Elementy testowe Wyjaśnienie
Token odświeżania z nieprawidłowym tokenem – sprawdzam odpowiedź partnera. W odpowiedzi na nieprawidłowe żądanie tokena odświeżania Twój serwer powinien zwracać błąd HTTP 400 Bad Request o treści {"error": "invalid_grant"}. Jeśli odpowiedź nie pasuje do „kodu błędu lub komunikatu”, ten przypadek testowy zakończy się niepowodzeniem. Więcej informacji znajdziesz w artykule o wymianie tokenów odświeżania tokenów dostępu.
Sprawdź, czy token dostępu został zaktualizowany po jego odświeżeniu. W odpowiedzi na żądania tokenów odświeżania powinny być zwracane nowe tokeny dostępu. Jeśli serwer zapewnia ten sam token dostępu, przypadek testowy zakończy się niepowodzeniem.
Sprawdź, czy nieaktualny token dostępu jest nadal prawidłowy. Zostanie wyświetlony czas wygaśnięcia tokena dostępu.
Sprawdź, czy token odświeżania nie został poddany rotacji podczas odświeżania. Sprawdzamy, czy tokeny odświeżania są zmieniane po otrzymaniu żądania tokena odświeżania. Jeśli token odświeżania ulegnie zmianie, serwer powinien unieważnić stary token odświeżania dopiero po użyciu nowego. Pozwoli to uniknąć problemów związanych z wyścigiem, które mogłyby spowodować przerwanie łączenia kont użytkownika. Test się nie powiedzie, jeśli unieważnisz stary token odświeżania przed użyciem nowego.

Komunikaty o błędach

W tabeli poniżej znajdziesz niektóre typowe komunikaty o błędach, które możesz napotkać, oraz sugerowane sposoby ich rozwiązania.

Komunikat o błędzie Jak rozwiązać problem
Interfejs HomeGraph API nie był wcześniej używany w projekcie <_id_> lub jest wyłączony Włącz HomeGraph API.
Nie znaleziono żądanego elementu Sprawdź, czy agentUserId jest prawidłowy i połączony z Twoją usługą.

Sprawdź, czy masz uprawnienie resourcemanager.projects.get w projekcie ${your project id} i wszystkie uprawnienia na ekranie zgody.

Podczas pobierania danych modułu wystąpił błąd: getModuleData: odpowiedź błędu HTTP dla https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Wykonaj instrukcje podane w artykule Rozwiązywanie problemów z uprawnieniami, aby upewnić się, że Twoje konto ma uprawnienia resourcemanager.projects.get do projektu.
  2. Otwórz stronę Aplikacje, które mają dostęp do Twojego konta, aby sprawdzić te uprawnienia dotyczące opcji „Pakiet testowy dla inteligentnego domu”:
    • podstawowe informacje o koncie;
      1. Wyświetlanie podstawowego adresu e-mail Twojego konta Google
      2. Wyświetlanie Twoich danych osobowych, w tym udostępnionych przez Ciebie publicznie
    • Dodatkowy dostęp
      1. Assistant: szeroki dostęp do konta Google
      2. Sprawdzanie inteligentnych urządzeń domowych w Home Graph i sterowanie nimi
    Jeśli pojawi się błąd dotyczący uprawnień, najpierw odbierz dostęp i przyznaj wszystkie uprawnienia na ekranie zgody przy kolejnym logowaniu.

Przesyłanie wyników testu

Przed przesłaniem formularza certyfikacyjnego Twoje wyniki testu Test Suite muszą zostać zaliczone. Jeśli masz cechy wymagające testów ręcznych, nadal uruchamiaj narzędzie Test Suite i dołącz wyniki nawet wtedy, gdy nie wystarczą testu 100%.

Aby przesłać wyniki testu i potwierdzić działanie inteligentnego domu, wykonaj te czynności:

  1. Gdy otrzymasz wyniki testu i chcesz uzyskać certyfikat, kliknij Prześlij w narzędziu Test Suite.
  2. Aby pobrać wyniki testu, kliknij przycisk POBIERZ WYNIKI TESTU.
  3. Aby przesłać wyniki testu do Google, kliknij OTWÓRZ FORMULARZ ZGŁOSZANIA PRZESŁANIA.
  4. Wypełnij wszystkie wymagane pola i kliknij Prześlij.