Google Home Test Suite,

Cloud-to-cloud    Local Home SDK

Google Home Test Suite to aplikacja internetowa, która umożliwia samodzielne testowanie akcji inteligentnego domu. Usługa 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 użyć Test Suite i przesłać wyniki testów do Google w celu uzyskania certyfikatu, zapoznaj się z informacjami na stronie Testowanie i udostępnianie działań dla inteligentnego domu. Ta wersja Test Suite jest przeznaczona specjalnie do celów związanych z opracowywaniem i zapewnianiem jakości.

Testy przeprowadzane przez Test Suite obejmują m.in.:

  • Sprawdza, czy na urządzeniach i w przypadku cech zaimplementowano Report StateRequest Sync.

  • Sprawdza, czy intencja QUERY jest zaimplementowana na urządzeniu i czy jej wyniki są zgodne z wynikami raportu o stanie.

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

UruchomTest Suite

Samodzielne testowanie działania

W sekcji poniżej znajdziesz opis uruchamiania Test Suite na urządzeniu i w projekcie działania dla inteligentnego domu. Test Suite wymaga zalogowania się, aby móc sprawdzać urządzenia w Twojej Google Home Graph i wysyłać polecenia bezpośrednio do Google Assistant.

Aby samodzielnie przetestować działanie, wykonaj te czynności:

  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 związanego z inteligentnym domem.
    2. Kliknij Dalej.
  4. Skonfiguruj ustawienia testu:

    1. Jeśli certyfikujesz integrację Cloud-to-cloud, pozostaw domyślną wartość Stan raportu/Limit czasu synchronizacji żądania bez zmian. Na potrzeby testów 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ę 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 mieć zawsze co najmniej 1 urządzenie podłączone do użytkownika agenta.

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

    4. Jeśli uruchamiasz pakiet testów dla urządzeń Local Home, wybierz Obsługuje Local Home SDK.

      1. Wybierz Realizacja lokalna lub Bezproblemowa konfiguracja.
      2. Kliknij Supports Local Query (Obsługuje zapytanie lokalne), jeśli urządzenie może lokalnie obsługiwać intencję QUERY.
  5. Przeprowadź test i wyświetl wyniki:

    1. Aby rozpocząć testy, kliknij Dalej. W interfejsie widać urządzenia i cechy, które są testowane.
  6. Otwórz stronę Wyniki i przesłane materiały:

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

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

Test weryfikacji łączenia kont

Połączenie kont odgrywa ważną rolę w ekosystemie inteligentnego domu Google. Test weryfikacji połączenia konta w Test Suite sprawdza, czy w usłudze OAuth nie występują potencjalne problemy.

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

Test weryfikacji tokena dostępu

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

Elementy testowe Wyjaśnienie
Sprawdzanie, czy token dostępu jest w formacie JWT Łączenie kont Google nie zaleca tokenów dostępu w formacie JWT. Jeśli zostanie wykryty 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 okresem ważności ma token odświeżania. Jeśli token dostępu może wygasnąć, musisz podać token odświeżania. Jeśli nie znajdziemy tokena odświeżania, test zakończy się niepowodzeniem.

Test weryfikacji tokena odświeżania

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
Odświeżanie tokena za pomocą nieprawidłowego tokena odświeżania i sprawdzanie odpowiedzi partnera. W przypadku nieprawidłowego żądania tokena odświeżania serwer powinien zwrócić błąd HTTP 400 Bad Request z parametrem {"error": "invalid_grant"}. 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. Nowe tokeny dostępu powinny być zwracane w odpowiedzi na żądania tokena odświeżania. Jeśli serwer udostępni ten sam token dostępu, test zakończy się niepowodzeniem.
Sprawdź, czy niewygasły token dostępu jest nadal ważny. Wyświetli się czas ważności tokena dostępu.
Sprawdź, czy podczas odświeżania token odświeżania został zmieniony. Sprawdzamy, czy tokeny odświeżania ulegają zmianie po wysłaniu prośby o token 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 tokena odświeżania, aby zapobiec warunkom wyścigu, które mogą spowodować przerwanie łączenia konta użytkownika. Test zakończy się niepowodzeniem, jeśli unieważnisz stary token odświeżania, zanim zostanie użyty nowy.

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 Rozwiązanie
Interfejs HomeGraph API nie był wcześniej używany w projekcie <_id_> lub jest wyłączony. Sprawdź, czy masz włączony interfejs 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 czy na ekranie zgody przyznano wszystkie uprawnienia.

Błąd pobierania danych modułu: błąd getModuleData: odpowiedź o błędzie HTTP dla 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, aby sprawdzić, czy Twoje konto ma resourcemanager.projects.get uprawnienia do projektu.
  2. Otwórz stronę Aplikacje, które mają dostęp do Twojego konta, aby sprawdzić te uprawnienia w przypadku „Zestawu testów dla domu inteligentnego”:
    • Podstawowe informacje o koncie
      1. Wyświetlanie podstawowego adresu e-mail Twojego konta Google
      2. Wyświetlanie Twoich prywatnych informacji, w tym 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

Wyniki Test Suite muszą przejść 100% testów, zanim prześlesz je do certyfikacji. Jeśli masz cechy, które wymagają testowania ręcznego, nadal uruchamiaj narzędzie Test Suite i dołączaj wynik, nawet jeśli nie przeszedł testu w 100%.

Aby przesłać wyniki testu i potwierdzić Cloud-to-cloudintegrację, wykonaj te czynności:

  1. Po otrzymaniu wyników testu i przygotowaniu do certyfikacji integracji Cloud-to-cloud kliknij Prześlij w narzędziu Test Suite.
  2. Kliknij Google Home Developer Console > Cloud-to-cloud > Potwierdź.
  3. Wybierz integrację, którą chcesz certyfikować.
  4. W sekcji Dokumentacja wpisz Test Suiteidentyfikator wyników.
  5. Wypełnij wszystkie wymagane pola, a potem kliknij Prześlij.

    Cloud-to-cloud