Conjunto de pruebas de Google Home

La Google Home Test Suite es una aplicación web que te permite hacer una autoprueba de tu Acción de casa inteligente. El Test Suite genera y ejecuta automáticamente casos de prueba en función de los dispositivos y las funciones asociados con tu cuenta. Cuando completes las pruebas, podrás ver los resultados.

Para usar el Test Suite y enviar los resultados de las pruebas a Google para obtener la certificación, consulta la página Prueba y comparte acciones de casa inteligente para obtener información. Esta versión del Test Suite es específicamente para el desarrollo y el control de calidad.

Las pruebas que ejecuta el Test Suite incluyen, entre otras, las siguientes:

Para iniciar la herramienta Test Suite , haz clic en el botón siguiente:

Iniciar Test Suite

Haz una autoprueba de tu Acción

En la siguiente sección, se describe cómo ejecutar el Test Suite en tu dispositivo y en el proyecto de Acción de casa inteligente. El Test Suite requiere que accedas para que pueda inspeccionar los dispositivos en tu Google Home Graph y enviar comandos directamente a Google Assistant.

Para hacer una autoprueba de tu Acción, sigue estos pasos:

  1. En tu navegador web, abre el Test Suite.
  2. Accede a Google con el botón de la esquina superior derecha.

  3. Configura los Detalles del proyecto:

    1. En el campo ID del proyecto, ingresa el identificador del proyecto para tu Acción de casa inteligente.
    2. Haz clic en Siguiente.
  4. Configura los Ajustes de prueba:

    1. Si certificas tu integración de Cloud-to-cloud, deja sin cambios el valor predeterminado de Tiempo de espera de Informar estado/Solicitar sincronización. Sin embargo, para las pruebas, puedes cambiar el valor de tiempo de espera si tu agente tarda más en informar el estado a Home Graph.
    2. Si certificas tu integración Cloud-to-cloud, asegúrate de que la opción Probar solicitud de sincronización esté habilitada. Durante la prueba, se te pedirá que agregues, actualices o quites un dispositivo y que verifiques si la lista de dispositivos cambió en Home Graph. Las acciones de cambio se realizan a través de la integración que estás probando. La integración en prueba siempre debe tener al menos un dispositivo conectado al usuario del agente.

    3. Si usas una función de escena, selecciona Probar función de escena.Scene

    4. Si ejecutas el paquete de pruebas para dispositivos de Local Home, selecciona Compatible con SDK de Local Home.

      1. Selecciona Entrega local o Configuración sin problemas.
      2. Haz clic en Compatible con consultas locales si el dispositivo puede controlar el intent QUERY de forma local.
  5. Realiza una ejecución de prueba y visualiza los resultados:

    1. Haz clic en Siguiente para comenzar a ejecutar las pruebas. La interfaz muestra los dispositivos y las funciones que se están probando.
  6. Consulta la página Resultados y envío:

    1. Una vez que se completen las pruebas, haz clic en Siguiente para ver los resultados.

Los resultados de la prueba incluyen la cantidad de pruebas aprobadas y reprobadas, y una puntuación final que indica el porcentaje de aprobaciones.

Prueba de validación de la vinculación de cuentas

La vinculación de cuentas desempeña un papel importante en el ecosistema de casa inteligente de Google. La prueba de validación de la vinculación de cuentas en Test Suite verifica tu servicio de OAuth en busca de posibles problemas.

La prueba de validación de la vinculación de cuentas contiene pruebas para validar tokens de acceso y tokens de actualización:

Prueba de validación de tokens de acceso

Se prueban los tokens de acceso que se muestran desde tu extremo de intercambio de tokens para garantizar que tengan un formato válido y que se muestren con un token de actualización válido.

Elementos de prueba Explicación
Verifica si el token de acceso tiene formato JWT La vinculación de la Cuenta de Google no recomienda tokens de acceso con formato JWT. Si se encuentra un formato JWT, se muestra la siguiente advertencia: 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.
Verifica si el token de acceso que vence tiene un token de actualización. Se debe proporcionar un token de actualización cuando el token de acceso vence. Esta prueba fallará si no se encuentra ningún token de actualización.

Prueba de validación de tokens de actualización

Se prueban los tokens de actualización para garantizar que tu extremo de intercambio de tokens los intercambie correctamente por tokens de acceso nuevos.

Elementos de prueba Explicación
Token de actualización con un token de actualización no válido; se verifica la respuesta del socio. Tu servidor debe mostrar un error HTTP 400 Solicitud incorrecta con {"error": "invalid_grant"} a una solicitud de token de actualización no válida. Si la respuesta no coincide con el "código o mensaje de error", este caso de prueba fallará. Visita exchange refresh tokens for access tokens para obtener más información.
Prueba si se actualizó el token de acceso después de la actualización del token. Se deben mostrar tokens de acceso nuevos en respuesta a las solicitudes de tokens de actualización. Si tu servidor proporciona el mismo token de acceso, el caso de prueba fallará.
Verifica si el token de acceso no vencido sigue siendo válido. Se mostrará el tiempo de vencimiento del token de acceso.
Verifica si se rotó el token de actualización durante la actualización. Verificamos si los tokens de actualización cambian después de una solicitud de token de actualización. Si el token de actualización cambia, tu servidor solo debe invalidar un token de actualización anterior después de que se haya usado uno nuevo para evitar condiciones de carrera que puedan interrumpir la vinculación de cuentas de un usuario. La prueba fallará si invalidas el token de actualización anterior antes de que se use el nuevo.

Mensajes de error

En la siguiente tabla, se enumeran algunos mensajes de error comunes que puedes encontrarte y la forma sugerida de resolverlos.

Mensaje de error Cómo resolverlo
HomeGraph API has not been used in project <_id_> before or it is disabled Asegúrate de haber habilitado la API de HomeGraph.
Requested Entity not found Verifica que tu agentUserId sea válido y esté vinculado a tu servicio.

Asegúrate de tener el permiso resourcemanager.projects.get en el proyecto ${your project id} y de haber otorgado todos los permisos en la pantalla de consentimiento.

Error getting module data: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Sigue las instrucciones en Soluciona problemas de permisos de IAM para asegurarte de que tu cuenta tenga los resourcemanager.projects.get permisos para el proyecto.
  2. Ve a la página Apps que pueden acceder a tu cuenta para verificar los siguientes permisos de "Paquete de pruebas para casa inteligente":
    • Información básica de la cuenta
      1. Consultar el correo electrónico principal de su Cuenta de Google
      2. Ver tu información personal, incluidos los datos personales que hayas hecho públicos
    • Acceso adicional
      1. Utilice su Assistant: acceso ilimitado a su cuenta de Google
      2. Inspeccionar y controlar los dispositivos de casa inteligente de su Home Graph
    Si recibes un error de permiso, primero quita el acceso y otorga todos los permisos en la pantalla de consentimiento cuando vuelvas a acceder.

Envía los resultados de las pruebas

Los resultados de Test Suite deben aprobar el 100% de las pruebas antes de enviarlos para la certificación. Si tienes alguna función que requiera pruebas manuales, debes ejecutar la herramienta Test Suite y adjuntar el resultado, incluso si no se aprobó al 100%.

Para enviar los resultados de las pruebas y certificar tu Cloud-to-cloud integración, sigue estos pasos:

  1. Después de recibir los resultados de las pruebas y cuando estés listo para certificar tu Cloud-to-cloud integración, haz clic en Enviar en la Test Suite herramienta.
  2. Ve a Google Home Developer Console > Cloud-to-cloud > Certificar.
  3. Selecciona la integración que deseas certificar.
  4. En Documentación, ingresa el ID de los resultados Test Suite.
  5. Completa todos los campos obligatorios y, luego, haz clic en Enviar.