Google Home Test Suite,

Google Home Test Suite to aplikacja internetowa, która umożliwia samodzielne testowanie działania 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.

Aby korzystać z Test Suite i przesyłać wyniki testów do Google w celu uzyskania certyfikatu, zapoznaj się z informacjami na stronie Testowanie i udostępnianie działań inteligentnego domu. Ta wersja Test Suite jest przeznaczona do celów programistycznych i zapewniania jakości.

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

  • sprawdzanie, czy w przypadku urządzeń i cech zaimplementowano funkcje Report State i Request Sync;

  • sprawdzanie, czy intencja QUERY jest zaimplementowana w przypadku urządzenia, a jej wyniki są zgodne z wynikami funkcji Report State.

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

Uruchom Test Suite

Samodzielne testowanie działania

W tej sekcji opisujemy, jak uruchomić Test Suite na urządzeniu i w projekcie działania inteligentnego domu. Test Suite wymaga zalogowania się, aby można było sprawdzać urządzenia w Twoim Google Home Graph i wysyłać polecenia bezpośrednio do Google Assistant.

Aby samodzielnie przetestować działanie:

  1. W przeglądarce otwórz Test Suite.
  2. Zaloguj się w Google, klikając przycisk w prawym górnym rogu.

  3. Skonfiguruj szczegóły projektu:

    1. W polu Identyfikator projektu wpisz identyfikator projektu działania inteligentnego domu.
    2. Kliknij Dalej.
  4. Skonfiguruj ustawienia testu:

    1. Jeśli certyfikujesz integrację typu Cloud-to-cloud, pozostaw domyślną wartość limitu czasu Report State/Request Sync bez zmian. Na potrzeby testowania możesz jednak zmienić wartość limitu czasu, jeśli agent potrzebuje więcej czasu na zgłoszenie stanu do Home Graph.
    2. Jeśli certyfikujesz integrację typu Cloud-to-cloud, upewnij się, że opcja Test Request Sync jest włączona. Podczas testowania pojawi się prośba o dodanie, zaktualizowanie lub usunięcie urządzenia oraz sprawdzenie, czy lista urządzeń w Home Graph uległa zmianie. Zmiany są wprowadzane za pomocą testowanej integracji. Testowana integracja musi zawsze mieć co najmniej 1 urządzenie powiązane z użytkownikiem agenta.

      Google Home app (GHA)
    3. Jeśli używasz cechy Scene, wybierz Test Scene trait.

    4. Jeśli uruchamiasz zestaw testów na urządzeniach Local Home, wybierz Obsługuje Local Home SDK.

      1. Wybierz Lokalna realizacja lub Bezproblemowa konfiguracja.
      2. Jeśli urządzenie może obsługiwać intencję QUERY lokalnie, kliknij Obsługuje lokalne zapytania.
  5. Przeprowadź test i wyświetl wyniki:

    1. Aby rozpocząć testy, kliknij Dalej. W interfejsie wyświetlają się urządzenia i cechy, które są testowane.
  6. Wyświetl stronę Wyniki i przesłanie:

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

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

Test sprawdzania łączenia kont

Łączenie kont odgrywa ważną rolę w ekosystemie inteligentnego domu Google. Test sprawdzania łączenia kont w Test Suitesprawdza, czy w usłudze OAuth nie występują potencjalne problemy.

Test sprawdzania łączenia kont obejmuje testy sprawdzające tokeny dostępu i tokeny odświeżania:

Test sprawdzania tokena dostępu

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

Elementy testu Wyjaśnienie
Sprawdź, czy token dostępu jest w formacie JWT. Łączenie z kontem Google nie zaleca tokenów dostępu w formacie JWT. Jeśli zostanie znaleziony format JWT, wyświetli 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 token dostępu z datą ważności ma token odświeżania. Gdy token dostępu ma datę ważności, należy podać token odświeżania. Jeśli nie zostanie znaleziony token odświeżania, ten test zakończy się niepowodzeniem.

Test sprawdzania tokena odświeżania

Tokeny odświeżania są testowane pod kątem prawidłowej wymiany na nowe tokeny dostępu przez punkt końcowy wymiany tokenów.

Elementy testu Wyjaśnienie
Token odświeżania z nieprawidłowym tokenem odświeżania, sprawdzanie odpowiedzi partnera. Serwer powinien zwrócić błąd HTTP 400 Bad Request z kodem {"error": "invalid_grant"} w odpowiedzi na nieprawidłowe żądanie tokena odświeżania. Jeśli odpowiedź nie pasuje do „kodu lub komunikatu o błędzie”, ten przypadek testowy zakończy się niepowodzeniem. Więcej informacji znajdziesz w artykule Wymiana tokenów odświeżania na tokeny dostępu.
Sprawdź, czy token dostępu został zaktualizowany po odświeżeniu tokena. W odpowiedzi na żądania tokena odświeżania należy zwracać nowe tokeny dostępu. Jeśli serwer udostępni ten sam token dostępu, przypadek testowy zakończy się niepowodzeniem.
Sprawdź, czy token dostępu, który nie utracił ważności, jest nadal prawidłowy. Wyświetli się czas wygaśnięcia tokena dostępu.
Sprawdź, czy token odświeżania został zmieniony podczas odświeżania. Sprawdzamy, czy tokeny odświeżania są zmieniane po żądaniu 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, aby zapobiec sytuacjom wyścigu, które mogą spowodować przerwanie łączenia konta użytkownika. Jeśli unieważnisz stary token odświeżania przed użyciem nowego, test zakończy się niepowodzeniem.

Komunikaty o błędach

W tabeli poniżej znajdziesz listę typowych komunikatów o błędach, które mogą się pojawić, oraz sugerowane sposoby ich rozwiązywania.

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

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

Błąd pobierania danych modułu: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Postępuj zgodnie z instrukcjami w artykule Rozwiązywanie problemów z uprawnieniami IAM, aby sprawdzić, czy Twoje konto ma resourcemanager.projects.get w projekcie.
  2. Otwórz stronę Aplikacje, które mają dostęp do Twojego konta, aby sprawdzić te uprawnienia w przypadku „Zestaw testów dla inteligentnego domu”:
    • Podstawowe informacje o koncie
      1. Wyświetlanie podstawowego adresu e-mail konta Google
      2. Wyświetlanie prywatnych informacji o Tobie, w tym tych udostępnionych przez Ciebie publicznie
    • Dodatkowy dostęp
      1. Korzystanie z Assistant: szeroki dostęp do konta Google
      2. Sprawdzanie inteligentnych urządzeń domowych w Twoim Home Graph i sterowanie nimi
    Jeśli pojawi się błąd związany z uprawnieniami, najpierw usuń dostęp, a potem przyznaj wszystkie uprawnienia na ekranie zgody, gdy ponownie się zalogujesz.

Przesyłanie wyników testu

Aby przesłać wyniki Test Suite do certyfikacji, musisz zdać 100% testów przed przesłaniem. Jeśli masz jakieś cechy, które wymagają testowania ręcznego, nadal musisz uruchomić narzędzie Test Suite i dołączyć wynik, nawet jeśli nie został on zdany w 100%.

Aby przesłać wyniki testu i uzyskać certyfikat integracji typu Cloud-to-cloud:

  1. Gdy otrzymasz wyniki testu i będziesz gotowy(-a) do certyfikacji integracji typu Cloud-to-cloud, w narzędziu Test Suite kliknij Prześlij.
  2. Otwórz Google Home Developer Console > Cloud-to-cloud > Certyfikuj.
  3. Wybierz integrację, którą chcesz certyfikować.
  4. W sekcji Dokumentacja wpisz identyfikator wyników Test Suite.
  5. Wypełnij wszystkie wymagane pola, a potem kliknij Prześlij.