Google Home Test Suite to aplikacja internetowa, która umożliwia samodzielne przetestowanie akcji inteligentnego domu. Test Suite automatycznie generuje i uruchamia elementy testowania 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 certyfikacji, zapoznaj się z informacjami na stronie Testowanie i udostępnianie akcji inteligentnego domu. Ta wersja Test Suite jest przeznaczona specjalnie do programowania i zapewniania jakości.
Testy wykonywane przez Test Suite obejmują m.in.:
Sprawdza, czy funkcje Zgłoś stan i Poproś o synchronizację są zaimplementowane w przypadku Twoich urządzeń i cech.
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 akcji
W następnej sekcji opisano, jak uruchomić Test Suite na urządzeniu i w projekcie akcji inteligentnego domu. Test Suite wymaga zalogowania się, aby móc sprawdzać urządzenia w Google Home Graph i wysyłać polecenia bezpośrednio do Google Assistant.
Aby samodzielnie przetestować akcję, 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 akcji inteligentnego domu.
- Kliknij Dalej.
Skonfiguruj ustawienia testu:
- Jeśli certyfikujesz integrację Cloud-to-cloud, pozostaw domyślną wartość Report State/Request Sync Timeout (Limit czasu raportowania stanu / żądania synchronizacji) bez zmian. Jeśli jednak agent potrzebuje więcej czasu na zgłoszenie stanu do Home Graph, możesz zmienić wartość limitu czasu na potrzeby testowania.
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 i sprawdzenie, czy lista urządzeń zmieniła się w Home Graph. Zmiany są wprowadzane za pomocą testowanej integracji. Testowana integracja musi zawsze mieć co najmniej 1 urządzenie podłączone do użytkownika agenta.
Jeśli używasz cechy Scene, wybierz Test Scene trait (Przetestuj cechę Scene).
Jeśli uruchamiasz zestaw testów dla urządzeń domowych Local Home, wybierz Obsługuje Local Home SDK.
- Wybierz Realizacja lokalna lub Łatwa konfiguracja.
- Kliknij Obsługuje zapytania lokalne, jeśli urządzenie może obsługiwać intencję QUERY lokalnie.
Przeprowadź test i wyświetl wyniki:
- Kliknij Dalej, aby rozpocząć testy. Interfejs pokazuje testowane urządzenia i cechy.
Wyświetl stronę Wyniki i przesyłanie:
- Po zakończeniu testów kliknij Dalej, aby wyświetlić wyniki.
Wyniki testu obejmują liczbę testów zakończonych powodzeniem i niepowodzeniem oraz ostateczny wynik wskazujący odsetek testów zakończonych powodzeniem.
Test weryfikacji łączenia kont
Łączenie kont odgrywa ważną rolę w ekosystemie inteligentnego domu Google. Test sprawdzania połączenia konta w Test Suite sprawdza usługę OAuth pod kątem potencjalnych problemów.
Test weryfikacji połączenia kont zawiera testy do weryfikacji tokenów dostępu i tokenów odświeżania:
Test weryfikacji tokena dostępu
Tokeny dostępu zwracane z punktu końcowego wymiany tokenów są testowane, aby upewnić się, że mają prawidłowy format i są zwracane z prawidłowym tokenem odświeżania.
| Elementy do testowania | Wyjaśnienie |
|---|---|
| Sprawdzanie, czy token dostępu jest w formacie JWT | W przypadku łączenia z kontem Google nie zalecamy 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, który może wygasnąć, ma token odświeżania. | Jeśli token dostępu może wygasnąć, należy podać token odświeżania. Jeśli nie zostanie znaleziony token odświeżania, test się nie powiedzie. |
Test weryfikacji tokena odświeżania
Tokeny odświeżania są testowane, aby upewnić się, że punkt końcowy wymiany tokenów prawidłowo wymienia je na nowe tokeny dostępu.
| Elementy do testowania | Wyjaśnienie |
|---|---|
| Odświeżanie tokena za pomocą nieprawidłowego tokena odświeżania, sprawdzanie odpowiedzi partnera. | W odpowiedzi na nieprawidłowe żądanie tokena odświeżania serwer powinien zwrócić błąd HTTP 400 (Nieprawidłowe żądanie) z {"error": "invalid_grant"}.
Jeśli odpowiedź nie pasuje do „kodu błędu lub komunikatu”, ten element testowania zakończy się niepowodzeniem. Więcej informacji znajdziesz w artykule o
wymianie 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, element testowania zakończy się niepowodzeniem. |
| Sprawdź, czy token dostępu, który nie wygasł, jest nadal ważny. | 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 wysłaniu żądania 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 tokena odświeżania, aby zapobiec sytuacjom wyścigu, które mogą spowodować przerwanie połą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 typowe komunikaty o błędach oraz sugerowane sposoby ich rozwiązywania.
| Komunikat o błędzie | Jak rozwiązać ten problem |
|---|---|
| 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 identyfikator agentUserId jest prawidłowy i powiązany z Twoją usługą. |
Sprawdź, czy masz uprawnienie Błąd podczas pobierania danych modułu: błąd getModuleData: odpowiedź o błędzie HTTP dla https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 |
|
Przesyłanie wyników testu
Zanim prześlesz wyniki testów Test Suite do certyfikacji, muszą one przejść 100% testów. 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 przeszedł on testu w 100%.
Aby przesłać wyniki testów i uzyskać certyfikat integracji z Cloud-to-cloud, wykonaj te czynności:
- Gdy otrzymasz wyniki testów i będziesz gotowy(-a) do certyfikacji integracji Cloud-to-cloud, kliknij Prześlij w narzędziu Test Suite.
- Kliknij 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 następnie kliknij Prześlij.