Pacote de testes do Google Home

O Google Home Test Suite é um aplicativo da Web que permite testar sua ação de casa inteligente. O Test Suite gera e executa automaticamente casos de teste com base nos dispositivos e nas características associadas à sua conta. Quando você concluir os testes, poderá conferir os test resultados.

Para usar o Test Suite e enviar os resultados dos testes ao Google para certificação, consulte a página Testar e compartilhar ações de casa inteligente para mais informações. Esta versão do Test Suite é específica para desenvolvimento e garantia de qualidade.

Os testes executados pelo Test Suite incluem, entre outros, os seguintes:

  • Verificações de que o estado do relatório e a sincronização de solicitações estão implementados para seus dispositivos e características.

  • Verificações de que a intent QUERY está implementada para seu dispositivo e que os resultados dela correspondem aos resultados do estado do relatório.

Para iniciar a ferramenta Test Suite, clique no botão abaixo:

Lançar Test Suite

Autotestar sua ação

A seção a seguir descreve como executar o Test Suite em seu dispositivo e projeto de ação de casa inteligente. O Test Suite exige que você faça login para inspecionar dispositivos no seu Google Home Graph e enviar comandos diretamente ao Google Assistant.

Para autotestar sua ação, siga estas etapas:

  1. No navegador da Web, abra o Test Suite.
  2. Faça login no Google usando o botão no canto superior direito.

  3. Configure os detalhes do projeto:

    1. No campo ID do projeto, insira o identificador do projeto para sua ação de casa inteligente.
    2. Clique em Próxima.
  4. Configure as configurações de teste:

    1. Se você estiver certificando a integração Cloud-to-cloud, deixe o valor padrão tempo limite de sincronização de estado/solicitação de relatório inalterado. No entanto, para testes, você pode mudar o valor do tempo limite se o agente levar mais tempo para informar o estado ao Home Graph.
    2. Se você estiver certificando a integração Cloud-to-cloud, verifique se a opção Sincronização de solicitação de teste está ativada. Durante o teste, você vai receber uma solicitação para adicionar, atualizar ou remover um dispositivo e verificar se a lista de dispositivos mudou no Home Graph. As ações de mudança ocorrem pela integração que você está testando. A integração em teste precisa sempre ter pelo menos um dispositivo anexado ao usuário do agente.

    3. Se você estiver usando uma característica de cena, selecione Testar característica de cena.Scene

    4. Se você estiver executando o Test Suite para dispositivos locais do Google Home, selecione Compatível com o SDK local do Google Home.

      1. Selecione Fulfillment local ou Configuração integrada.
      2. Clique em Compatível com consulta local se o dispositivo puder processar a intent QUERY localmente.
  5. Execute um teste e confira os resultados:

    1. Clique em Próxima para iniciar os testes. A interface mostra os dispositivos e as características que estão sendo testados.
  6. Confira a página Resultados e envio:

    1. Quando os testes forem concluídos, clique em Próxima para conferir os resultados.

Os resultados do teste incluem o número de testes aprovados e reprovados, além de uma pontuação final que indica a porcentagem de aprovações.

Teste de validação de vinculação de conta

A vinculação de contas desempenha um papel importante no ecossistema de casa inteligente do Google. O teste de validação de vinculação de conta no Test Suite verifica se há problemas no seu serviço OAuth.

O teste de validação de vinculação de conta contém testes para validar tokens de acesso e tokens de atualização:

Teste de validação de token de acesso

Os tokens de acesso retornados do endpoint de troca de tokens são testados para garantir que tenham um formato válido e sejam retornados com um token de atualização válido.

Itens de teste Explicação
Verificar se o token de acesso está no formato JWT A vinculação de contas do Google não recomenda tokens de acesso no formato JWT. Se um formato JWT for encontrado, o seguinte aviso será exibido: 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.
Verificar se o token de acesso expirável tem um token de atualização. Um token de atualização precisa ser fornecido quando o token de acesso é expirável. Esse teste vai falhar se nenhum token de atualização for encontrado.

Teste de validação de token de atualização

Os tokens de atualização são testados para garantir que o endpoint de troca de tokens os troque corretamente por novos tokens de acesso.

Itens de teste Explicação
Atualizar o token com um token de atualização inválido, verificando a resposta do parceiro. O servidor precisa retornar um erro HTTP 400 Bad Request com {"error": "invalid_grant"} para uma solicitação de token de atualização inválida. Se a resposta não corresponder ao "código ou mensagem de erro", esse caso de teste vai falhar. Acesse exchange refresh tokens for access tokens para mais informações.
Testar se o token de acesso foi atualizado após a atualização do token. Novos tokens de acesso precisam ser retornados em resposta a solicitações de token de atualização. Se o servidor fornecer o mesmo token de acesso, o caso de teste vai falhar.
Verificar se o token de acesso não expirado ainda é válido. O tempo de expiração do token de acesso será exibido.
Verificar se o token de atualização foi girado durante a atualização. Verificamos se os tokens de atualização são alterados após uma solicitação de token de atualização. Se o token de atualização mudar, o servidor só poderá invalidar um token de atualização antigo depois que um novo token de atualização for usado, para evitar condições de corrida que possam interromper a vinculação de contas de um usuário. O teste vai falhar se você invalidar o token de atualização antigo antes que o novo seja usado.

Mensagens de erro

A tabela a seguir lista algumas mensagens de erro comuns que você pode encontrar e a maneira sugerida de resolvê-las.

Mensagem de erro Como resolver
A API HomeGraph não foi usada no projeto <_id_> ou está desativada Verifique se você ativou a API HomeGraph.
A entidade solicitada não foi encontrada Verifique se o agentUserId é válido e está vinculado ao seu serviço.

Verifique se você tem a permissão resourcemanager.projects.get no projeto ${your project id} e se concedeu todas as permissões na tela de consentimento.

Erro ao receber dados do módulo: erro getModuleData: resposta de falha HTTP para https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Siga as instruções em Resolver problemas de permissões do IAM para garantir que sua conta tenha as resourcemanager.projects.get permissões para o projeto.
  2. Acesse a página Apps com acesso à sua conta para verificar as seguintes permissões para "Test Suite para casa inteligente":
    • Informações básicas da conta
      1. Ver o endereço de e-mail principal da sua Conta do Google
      2. Ver suas informações pessoais, inclusive aquelas que você disponibilizou ao público
    • Acesso adicional
      1. Usar o Assistant: acesso amplo à sua Conta do Google
      2. Inspecionar e controlar os dispositivos de casa inteligente no Home Graph
    Se você receber um erro de permissão, remova o acesso primeiro e conceda todas as permissões na tela de consentimento ao fazer login novamente.

Enviar resultados do teste

Os resultados de Test Suite precisam passar em 100% dos testes antes de serem enviados para certificação. Se você tiver características que exigem testes manuais, ainda precisará executar a ferramenta Test Suite e anexar o resultado, mesmo que ele não tenha sido aprovado em 100%.

Para enviar os resultados do teste e certificar a Cloud-to-cloud integração, siga estas etapas:

  1. Depois de receber os resultados do teste e estiver tudo pronto para certificar a Cloud-to-cloud integração, clique em Enviar na Test Suite ferramenta.
  2. Acesse Google Home Developer Console > Cloud-to-cloud > Certificar.
  3. Selecione a integração que você quer certificar.
  4. Em Documentação, insira o ID dos seus Test Suite resultados.
  5. Preencha todos os campos obrigatórios e clique em Enviar.