Google Home Test Suite,

Z chmury do chmury    Pakiet SDK Local Home

Google Home Test Suite to aplikacja internetowa, która umożliwia samodzielne przetestowanie akcji inteligentnego domu. Test Suiteautomatycznie generuje i uruchamia przypadki testowe na podstawie urządzeń i właściwości powiązanych z Twoim kontem. Po zakończeniu testów możesz wyświetlić ich wyniki.

Aby używać Test Suite i przesyłać wyniki testów do Google w celu uzyskania certyfikatu, zapoznaj się z informacjami na stronie Testowanie i udostępnianie czynności w inteligentnym domu. Ta wersja Test Suite jest przeznaczona do rozwoju i zapewniania jakości.

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

  • Sprawdza, czy w przypadku Twoich urządzeń i właściwości są zaimplementowane stan raportusynchronizacja żądań.

  • Weryfikuje, 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 ten przycisk:

Uruchom Test Suite

Samodzielne testowanie działania

W tej sekcji opisaliśmy, jak uruchomić projekt Test Suite na urządzeniu i w inteligentnym domu. Aplikacja Test Suite wymaga zalogowania się, aby mogła sprawdzić urządzenia na Twoim koncie Google Home Graph i wysyłać polecenia bezpośrednio do Google Assistant.

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

  1. W przeglądarce otwórz stronę 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 czynności domów inteligentnych.
    2. Kliknij Dalej.
  4. Skonfiguruj ustawienia testu:

    1. Jeśli certyfikujesz integrację Cloud-to-cloud, pozostaw domyślną wartość stanu raportu lub limitu czasu synchronizacji zapytań. Jednak na potrzeby testowania możesz zmienić wartość limitu czasu, jeśli Twój agent potrzebuje więcej czasu na przesłanie stanu do usługi Home Graph.
    2. Jeśli certyfikujesz integrację Cloud-to-cloud, upewnij się, że opcja Testuj synchronizację żądań jest włączona. Podczas testowania pojawi się prośba o dodanie, zaktualizowanie lub usunięcie urządzenia, a także prośba o sprawdzenie, czy lista urządzeń zmieniła się w Google Home Graph. Zmiany działań są wprowadzane za pomocą integracji, którą testujesz. Testowana integracja musi mieć co najmniej 1 urządzenie powiązane z użytkownikiem agenta.

    3. Jeśli używasz cechy Scene, wybierz Cecha testowej sceny.

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

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

    1. Aby rozpocząć testowanie, kliknij Dalej. W interfejsie wyświetlane są 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 końcową ocenę wskazującą odsetek zdanych testów.

Testowanie weryfikacji łączenia kont

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

Test weryfikacji łączenia kont zawiera testy weryfikacji tokenów dostępu i tokenów odświeżania:

Testowanie poprawności tokena dostępu

Tokeny dostępu zwracane przez punkt końcowy wymiany tokenów są testowane pod kątem prawidłowego formatu i zwracania prawidłowego tokenu odświeżania.

Elementy testowe Wyjaśnienie
Sprawdzanie, czy token dostępu jest w formacie JWT W przypadku łączenia kont Google nie zalecamy używania 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 ograniczonym czasem ważności ma token odświeżania. Gdy token dostępu wygasa, należy podać token odświeżania. Ten test zakończy się niepowodzeniem, jeśli nie zostanie znaleziony token odświeżania.

Testowanie 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 z nieprawidłowym tokenem odświeżania, sprawdzanie odpowiedzi partnera. Serwer powinien zwrócić błąd HTTP 400 Bad Request z wartością {"error": "invalid_grant"} w przypadku żądania nieprawidłowego tokena odświeżania. Jeśli odpowiedź nie pasuje do „kodu błędu lub komunikatu”, to test nie powiedzie się. 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. Nowe tokeny dostępu powinny być zwracane w odpowiedzi na prośby o tokeny odświeżania. Jeśli serwer udostępnia ten sam token dostępu, test się nie powiedzie.
Sprawdź, czy token dostępu, który nie wygasł, jest nadal ważny. Wyświetli się czas ważności tokena dostępu.
Sprawdź, czy podczas odświeżania został zmieniony token odświeżania. Po wysłaniu żądania zmiany tokena odświeżania sprawdzamy, czy token odświeżania się zmienił. Jeśli token odświeżania ulegnie zmianie, serwer powinien unieważnić stary token odświeżania dopiero po użyciu nowego, aby zapobiec konfliktom, które mogą spowodować przerwanie łączenia konta użytkownika. Test się nie powiedzie, jeśli unieważnisz stary token odświeżania, zanim nowy zostanie użyty.

Komunikaty o błędach

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

Komunikat o błędzie Rozwiązanie
Interfejs HomeGraph API nie był wcześniej używany w projekcie <_id_> lub jest wyłączony Upewnij się, że masz włączony interfejs HomeGraph API.
Nie znaleziono żądanej encji Sprawdź, czy agentUserId jest prawidłowy i połączony z usługą.

Upewnij się, że masz uprawnienie resourcemanager.projects.get w projekcie ${your project id} i że przyznałeś/aś wszystkie uprawnienia na ekranie zgody.

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

  1. Aby mieć pewność, że Twoje konto ma uprawnienia resourcemanager.projects.get do projektu, wykonaj instrukcje podane w sekcji Rozwiązywanie problemów z uprawnieniami IAM.
  2. Otwórz stronę Aplikacje, które mają dostęp do Twojego konta, aby sprawdzić te uprawnienia dla „Zestawu testów dla inteligentnego domu”:
    • Podstawowe informacje o koncie
      1. Wyświetlanie podstawowego adresu e-mail Twojego 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 zalogujesz się ponownie.

Przesyłanie wyników testu

Zanim prześlesz formularz certyfikacji, musisz uzyskać 100% wyników Test Suite. Jeśli masz cechy, które wymagają ręcznego testowania, nadal musisz uruchomić narzędzie Test Suite i dołączyć wynik, nawet jeśli nie osiągnie on 100%.

Aby przesłać wyniki testów i uzyskać certyfikat integracji Cloud-to-cloud, wykonaj te czynności:

  1. Gdy otrzymasz wyniki testów i będziesz gotowy do certyfikowania integracji Cloud-to-cloud, w narzędziu Test Suite kliknij Prześlij.
  2. Aby pobrać wyniki testu, kliknij przycisk POBIERZ WYNIKI TESTU.
  3. Kliknij PRZEJDŹ DO FORMULARZ WYSYŁANIA, aby przesłać wyniki testu do Google.
  4. Wypełnij wszystkie wymagane pola i kliknij Prześlij.