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 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ń inteligentnego domu. Ta wersja Test Suite jest przeznaczona specjalnie do celów programistycznych i zapewniania jakości.
Testy przeprowadzane przez Test Suite obejmują m.in.:
Sprawdza, czy na urządzeniach i w przypadku cech zaimplementowano Report State i Request 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:
Samodzielne testowanie działania
W tej sekcji opisujemy, jak uruchomić Test Suite na urządzeniu i w projekcie działania dla inteligentnego domu. Test Suite wymaga zalogowania się, aby można było sprawdzić urządzenia w Google Home Graph i wysyłać polecenia bezpośrednio do Google Assistant.
Aby samodzielnie przetestować działanie, wykonaj te czynności:
- 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 dla działania związanego z inteligentnym domem.
- Kliknij Dalej.
Skonfiguruj ustawienia testu:
- Jeśli certyfikujesz integrację Cloud-to-cloud, pozostaw domyślną wartość Report State/Request Sync Timeout bez zmian. W celu 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ę 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.
Jeśli używasz cechy Scene, wybierz Test Scene trait (Cechę sceny testowej).
Jeśli uruchamiasz zestaw testów dla urządzeń Local Home, wybierz Obsługuje Local Home SDK.
- Wybierz Realizacja lokalna lub Bezproblemowa konfiguracja.
- Kliknij Supports Local Query (Obsługuje zapytanie lokalne), jeśli urządzenie może lokalnie obsługiwać intencję QUERY.
Przeprowadź test i wyświetl wyniki:
- Kliknij Dalej, aby rozpocząć testowanie. W interfejsie wyświetlą się urządzenia i cechy, które są testowane.
Otwórz stronę Wyniki i przesłane materiały:
- 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
Łączenie kont odgrywa ważną rolę w ekosystemie inteligentnego domu Google. Test weryfikacji łączenia kont w Test Suite sprawdza usługę OAuth pod kątem potencjalnych problemów.
Test weryfikacji łączenia konta zawiera testy weryfikują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, 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 token dostępu z datą ważności ma token odświeżania. | Jeśli token dostępu może wygasnąć, należy podać token odświeżania. Ten test zakończy się niepowodzeniem, jeśli nie zostanie znaleziony token odświeżania. |
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 (Nieprawidłowe żądanie) 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, przypadek testowy zakończy się niepowodzeniem. |
| Sprawdź, czy niewygasły token dostępu jest nadal ważny. | Wyświetli się czas wygaśnięcia tokena dostępu. |
| Sprawdź, czy podczas odświeżania token odświeżania został zmieniony. | Sprawdzamy, czy tokeny odświeżania są zmieniane po wysłaniu żądania tokena odświeżania. Jeśli token odświeżania się zmieni, 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 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 | 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 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
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:
- Po otrzymaniu wyników testu i przygotowaniu do certyfikacji integracji Cloud-to-cloud kliknij Prześlij w narzędziu Test Suite.
- Kliknij Google Home Developer Console > Cloud-to-cloud > Potwierdź.
- Wybierz integrację, którą chcesz certyfikować.
- W sekcji Dokumentacja wpisz Test Suiteidentyfikator wyników.
Wypełnij wszystkie wymagane pola, a potem kliknij Prześlij.