Testowanie i debugowanie aplikacji
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Zalecamy utworzenie aplikacji do realizacji lokalnej zgodnie z opisanymi wcześniej instrukcjami, a następnie przetestowanie integracji z inteligentnym domem w Twoim własnym środowisku hostingu:
W swoim środowisku hostingu udostępnij stronę HTML, która uruchamia aplikację do realizacji lokalnej. Poniższy fragment kodu przedstawia przykład statycznego pliku HTML, który uruchamia aplikację do realizacji lokalnej.
<html>
<head>
<!-- Local Home SDK -->
<script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
<!-- Local app under development -->
<script src="local_execution.js"></script>
</head>
</html>
Debuguj w Chrome. Użyj punktów przerwania i logów, aby rozwiązać problemy z integracją.
Zmodyfikuj i skompiluj kod TypeScript, a następnie powtórz te czynności.
Powtarzając ten proces tworzenia i testowania, możesz szybko zobaczyć zmiany w działaniu, co pomoże Ci w debugowaniu problemów z kodem.
Sterowanie urządzeniem testowym
W Google Home Developer Console musisz
określić adres URL aplikacji internetowej, która
udostępnia kod HTML wczytywany na urządzeniu Google Home lub urządzeniu Google Nest podczas realizacji lokalnej.
Aby przetestować sterowanie urządzeniem za pomocą realizacji lokalnej, wykonaj te czynności:
Chrome
Na stronie Konfiguracja integracji z chmurą w Google Home Developer Console przewiń do sekcji Realizacja lokalna i włącz to ustawienie.
W sekcji Adresy URL testowe >
Adres URL testowy dla Chrome określ adres URL serwera deweloperskiego, który udostępnia kod HTML uruchamiający aplikację do realizacji lokalnej.
Kliknij Zapisz. Rozpowszechnienie zmian w konsoli może potrwać do 30 minut.
Uruchom ponownie testowe urządzenie Google Home lub Google Nest.
Wydaj polecenie na urządzeniu inteligentnym. Jeśli na przykład urządzenie
implementuje cechę OnOff,
możesz powiedzieć „OK Google, włącz światła”.
Node.js
Na stronie Konfiguracja w
Google Home Developer Console,
przewiń do sekcji Realizacja lokalna
i włącz to ustawienie.
W sekcji Adresy URL testowe >
Adres URL testowy dla Node określ adres URL serwera deweloperskiego, który udostępnia kod JavaScript uruchamiający aplikację do realizacji lokalnej.
Kliknij Zapisz. Rozpowszechnienie zmian w konsoli może potrwać do 30 minut.
Uruchom ponownie testowe urządzenie Google Home lub Google Nest.
Wydaj polecenie na urządzeniu inteligentnym. Jeśli na przykład urządzenie
implementuje cechę OnOff,
możesz powiedzieć „OK Google, włącz światła”.
Więcej informacji o tym, jakiego środowiska wykonawczego używa Twoje urządzenie, znajdziesz w sekcji Obsługiwane
urządzenia.
.
Debugowanie w Chrome
Aplikację do realizacji lokalnej możesz debugować za pomocą Narzędzi deweloperskich w Chrome.
Zanim zaczniesz debugować, upewnij się, że Twoje środowisko jest prawidłowo skonfigurowane:
W konsoli ustawiono adres URL deweloperski na adres URL dostępny dla urządzenia Google Home lub urządzenia Google Nest (w lokalnej sieci komputerowej lub w internecie).
Twój komputer jest połączony z tą samą lokalną siecią komputerową co testowane urządzenie Google Home lub urządzenie Google Nest.
Twoja sieć nie blokuje pakietów między urządzeniami.
W
Google Home Developer Console oraz na urządzeniu Google Home lub Google Nest jesteś zalogowany(-a) na to samo konto Google.
Aby połączyć aplikację do realizacji lokalnej z debuggerem Narzędzi deweloperskich w Chrome, wykonaj te czynności:
Chrome
Na lokalnym komputerze używanym do programowania zainstaluj i uruchom przeglądarkę
Google Chrome.
W polu adresu przeglądarki Chrome uruchom inspektora Chrome
wpisując: chrome://inspect#devices. Na stronie powinna się wyświetlić lista urządzeń, a plik HTML powinien być widoczny pod nazwą testowego
urządzenia Google Home lub urządzenia Google Nest.
Kliknij niebieski link inspect (sprawdź) pod kodem HTML, aby uruchomić Narzędzia deweloperskie w Chrome.
Przejdź na kartę Konsola.
Platforma Local Home wyświetla w logu konsoli wersję aplikacji i wersję pakietu Local Home SDK. Jeśli widzisz log, oznacza to, że Google pomyślnie wczytało Twoją aplikację i może się z nią połączyć.
Jeśli nie, uruchom ponownie urządzenie Google Home lub Google Nest.
Rysunek 1. Aplikacja do realizacji lokalnej w chrome://inspect.
Node.js
Na lokalnym komputerze używanym do programowania zainstaluj i uruchom przeglądarkę
Google Chrome.
Określ lokalny adres IP urządzenia testowego.
W polu adresu przeglądarki Chrome uruchom inspektora Chrome
wpisując: chrome://inspect#devices.
Rysunek 2. Ustawienia wykrywania celu w chrome://inspect.
Wpisz DEVICE_IP_ADDRESS:9222 na liście i
kliknij Done.
Kliknij niebieski link inspect (sprawdź) pod skryptem, aby uruchomić Narzędzia deweloperskie w Chrome.
Przejdź na kartę Konsola.
Platforma Local Home wyświetla w logu konsoli wersję aplikacji i wersję pakietu Local Home SDK. Jeśli widzisz log, oznacza to, że Google pomyślnie wczytało Twoją aplikację i może się z nią połączyć.
Jeśli nie, uruchom ponownie urządzenie Google Home lub Google Nest.
Więcej informacji o tym, jakiego środowiska wykonawczego używa Twoje urządzenie, znajdziesz w sekcji Obsługiwane
urządzenia.
Wskazówki dotyczące debugowania
Podczas debugowania warto pamiętać o tych dodatkowych kwestiach:
Nie łącz z kontem testowym kilku urządzeń Google Home lub Google Nest w tej samej sieci lokalnej. Nie będziesz mieć możliwości sterowania, które urządzenie Google Home lub urządzenie Google Nest jest celem poleceń realizacji lokalnej.
Odśwież stronę w Narzędziach deweloperskich w Chrome, aby ponownie wczytać kontener aplikacji do realizacji lokalnej z najnowszym kodem z adresu URL deweloperskiego. Nie powoduje to zresetowania platformy Local Home, co może być konieczne, aby ponownie wywołać intencje platformy (np. IDENTIFY) w aplikacji do realizacji lokalnej. Aby zresetować platformę Local Home, uruchom ponownie urządzenie Google Home lub Google Nest.
Sprawdź, czy aplikacja JavaScript wczytuje się bez błędów. Aby to zrobić, sprawdź sekcję konsoli na stronie Narzędzi deweloperskich. Jeśli wystąpi problem, zobaczysz komunikat podobny do tego: „Uncaught TypeError: Cannot read property 'open' of null”.
Wartość verificationId z odpowiedzi IDENTIFY musi być zgodna z jedną z wartości otherDeviceIds z odpowiedzi SYNC.
W przypadku modułu obsługi EXECUTE upewnij się, że polecenia HTTP, TCP lub UDP mogą być odbierane przez urządzenie i działają zgodnie z oczekiwaniami.
Błędy zgłaszane przez aplikację do realizacji lokalnej będą widoczne w logach błędów projektu
.
Przygotowanie i udostępnienie wersji produkcyjnej
Gdy wszystko będzie gotowe do udostępnienia akcji inteligentnego domu, wykonaj te czynności:
Otwórz terminal. W katalogu projektu uruchom polecenie npm run build.
To polecenie generuje te pakiety JavaScript dla Twojej aplikacji w katalogu dist:
Na stronie Konfiguracja w
Google Home Developer Console,
przewiń do sekcji Realizacja lokalna i włącz to ustawienie.
Za pomocą przycisków Prześlij JavaScript prześlij wygenerowane wcześniej pliki pakietu.
Rysunek 3. Prześlij aplikację JavaScript.
Prześlij obie wersje plików pakietu (Node, Web)
aby akcja była skonfigurowana do prawidłowego działania we wszystkich środowiskach wykonawczych
obsługiwanych przez realizację lokalną.
Prześlij JavaScript kierowany na Node.js: prześlij bundle.js
plik z katalogu dist/node.
Prześlij JavaScript kierowany na Chrome (przeglądarkę): prześlij plik
bundle.js z katalogu dist/web.
Przetestuj akcję na urządzeniu z Asystentem, aby sprawdzić, czy działa zgodnie z oczekiwaniami w środowisku produkcyjnym. Więcej informacji znajdziesz w artykule
Testowanie i udostępnianie akcji inteligentnego domu.
Gdy będziesz zadowolony(-a) z działania akcji, prześlij ją do Google w celu
wdrożenia w środowisku produkcyjnym, postępując zgodnie z instrukcjami w
artykule Udostępnianie akcji inteligentnego domu. Obejmuje to wykonanie testu samodzielnego i przesłanie prośby o certyfikację.