Chmura do chmury Lokalny zestaw SDK dla domu
Google Home Test Suite to aplikacja internetowa umożliwiająca 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 przejrzeć ich wyniki.
Aby użyć Test Suite i przesłać wyniki testów do Google w celu uzyskania certyfikatu, zapoznaj się ze stroną Testowanie i udostępnianie działań inteligentnego domu, gdzie znajdziesz więcej informacji. Ta wersja Test Suite jest przeznaczona specjalnie do celów rozwojowych i zapewnienia jakości.
Testy wykonywane przez Test Suite obejmują między innymi:
Sprawdza, czy opcje Raportuj stan i Żądaj synchronizacji są zaimplementowane dla Twoich urządzeń i cech.
Sprawdza, czy intencja QUERY jest zaimplementowana dla Twojego urządzenia i czy jej wyniki są zgodne z wynikami raportu stanu.
Możesz uruchomić narzędzie Test Suite, klikając poniższy przycisk:
Przetestuj swoją akcję
W poniższej sekcji opisano sposób uruchomienia Test Suite na urządzeniu i 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 przeprowadzić autotest swojej akcji, wykonaj następujące kroki:
- 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 wprowadź identyfikator projektu dla akcji inteligentnego domu.
- Kliknij Dalej.
Skonfiguruj ustawienia testu:
- Jeśli certyfikujesz integrację Cloud-to-cloud, pozostaw domyślną wartość Report State/Request Sync Timeout 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.
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ń uległa zmianie w Home Graph. Zmiany są wprowadzane za pomocą testowanej integracji. Integracja poddawana testom musi zawsze mieć co najmniej jedno urządzenie podłączone do użytkownika agenta.
Jeśli używasz cechy Scene, wybierz Test Scene trait (Cechę sceny testowej).
Jeśli uruchamiasz pakiet testów dla urządzeń Local Home, wybierz Obsługuje Local Home SDK.
- Wybierz Realizacja lokalna lub Bezproblemowa konfiguracja.
- Kliknij Obsługuje zapytanie lokalne, jeśli urządzenie może obsługiwać intencję QUERY lokalnie.
Przeprowadź test i wyświetl wyniki:
- Aby rozpocząć testy, kliknij Dalej. Interfejs pokazuje testowane urządzenia i cechy.
Otwórz stronę Wyniki i przesłane zgłoszenia:
- Po zakończeniu testów kliknij Dalej, aby wyświetlić wyniki.
Wyniki testów obejmują liczbę testów zaliczonych i niezaliczonych, a także wynik końcowy określający procent zaliczonych testów.
Test weryfikacji łączenia kont
Połączenie kont odgrywa ważną rolę w ekosystemie inteligentnego domu Google. Test weryfikacji łączenia kont w usłudze Test Suite sprawdza, czy nie występują potencjalne problemy z usługą OAuth.
Test weryfikacji łączenia kont zawiera testy weryfikujące tokeny dostępu i tokeny odświeżania:
Test weryfikacji tokena dostępu
Tokeny dostępu zwrócone z punktu końcowego wymiany tokenów są testowane w celu sprawdzenia, czy mają prawidłowy format i czy są 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 używania 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 wygasający token dostępu ma odświeżony token. | 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
Odświeżone tokeny są testowane w celu zapewnienia, że punkt końcowy wymiany tokenów prawidłowo wymienia je na nowe tokeny dostępu.
| Elementy testowe | Wyjaśnienie |
|---|---|
| Odśwież token przy użyciu nieprawidłowego tokena odświeżania, sprawdzanie odpowiedzi partnera. | Serwer powinien zwrócić błąd HTTP 400 Bad Request z {"error": "invalid_grant"} w przypadku nieprawidłowego żądania odświeżenia tokenu.
Jeśli odpowiedź nie będzie zgodna z „kodem błędu lub komunikatem”, ten przypadek testowy zakończy się niepowodzeniem. Więcej informacji znajdziesz na stronie
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 zostać zwrócone w odpowiedzi na żądanie odświeżenia tokenów. Jeśli Twój serwer dostarczy taki sam token dostępu, przypadek testowy zakończy się niepowodzeniem. |
| Sprawdź, czy niewygasły token dostępu jest nadal ważny. | Wyświetlony zostanie czas wygaśnięcia tokena dostępu. |
| Sprawdź, czy token odświeżania został obrócony podczas odświeżania. | Sprawdzamy, czy tokeny odświeżania zostały zmienione po żądaniu tokenu 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 tokenu odświeżania, aby zapobiec sytuacjom wyścigu, które mogą spowodować przerwanie łączenia kont 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 poniższej tabeli wymieniono niektóre typowe komunikaty o błędach, jakie mogą wystąpić, oraz sugerowane sposoby ich rozwiązania.
| Komunikat o błędzie | Jak rozwiązać |
|---|---|
| Interfejs API HomeGraph nie był wcześniej używany w projekcie <_id_> lub jest wyłączony | Upewnij się, że włączono interfejs API HomeGraph. |
| Nie znaleziono żądanego podmiotu | Sprawdź, czy Twój agentUserId jest prawidłowy i powiązany z Twoją usługą. |
Upewnij się, że masz uprawnienie 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 |
|
Prześlij wyniki testu
Aby przesłać wyniki Test Suite do certyfikacji, muszą one przejść 100% testów. Jeśli masz cechy wymagające ręcznego przetestowania, powinieneś mimo wszystko uruchomić narzędzie Test Suite i dołączyć wynik, nawet jeśli nie został on przetestowany w 100%.
Aby przesłać wyniki testów i certyfikować integrację Cloud-to-cloud, wykonaj następujące kroki:
- Po otrzymaniu wyników testu i przygotowaniu do certyfikacji integracji Cloud-to-cloud kliknij Prześlij w narzędziu Test Suite.
- Przejdź do Google Home Developer Console > Cloud-to-cloud > Certyfikuj.
- Wybierz integrację, którą chcesz certyfikować.
- W sekcji Dokumentacja wprowadź identyfikator wyników Test Suite.
Wypełnij wszystkie wymagane pola, a następnie kliknij Prześlij.