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:
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:
- W przeglądarce otwórz Test Suite.
Zaloguj się w Google, klikając przycisk w prawym górnym rogu.
Skonfiguruj szczegóły projektu:
- W polu Identyfikator projektu wpisz identyfikator projektu działania inteligentnego domu.
- Kliknij Dalej.
Skonfiguruj ustawienia testu:
- 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.
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)Jeśli używasz cechy Scene, wybierz Test Scene trait.
Jeśli uruchamiasz zestaw testów na urządzeniach Local Home, wybierz Obsługuje Local Home SDK.
- Wybierz Lokalna realizacja lub Bezproblemowa konfiguracja.
- Jeśli urządzenie może obsługiwać intencję QUERY lokalnie, kliknij Obsługuje lokalne zapytania.
Przeprowadź test i wyświetl wyniki:
- Aby rozpocząć testy, kliknij Dalej. W interfejsie wyświetlają się urządzenia i cechy, które są testowane.
Wyświetl stronę Wyniki i przesłanie:
- 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 Błąd pobierania danych modułu: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 |
|
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:
- Gdy otrzymasz wyniki testu i będziesz gotowy(-a) do certyfikacji integracji typu Cloud-to-cloud, w narzędziu Test Suite kliknij Prześlij.
- Otwórz Google Home Developer Console > Cloud-to-cloud > Certyfikuj.
- Wybierz integrację, którą chcesz certyfikować.
- W sekcji Dokumentacja wpisz identyfikator wyników Test Suite.
Wypełnij wszystkie wymagane pola, a potem kliknij Prześlij.