Depurar y ejecutar conjuntos de pruebas personalizadas - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Depurar y ejecutar conjuntos de pruebas personalizadas

Una vez establecida la configuración requerida, IDT puede ejecutar su conjunto de pruebas. El tiempo de ejecución del conjunto de pruebas completa depende del hardware y de la composición del conjunto de pruebas. Como referencia, se tarda aproximadamente 30 minutos en completar el conjunto AWS IoT Greengrass de pruebas completo en una unidad Raspberry Pi 3B.

Mientras escribe su conjunto de pruebas, puede usar IDT para ejecutarla en modo de depuración, comprobar el código antes de ejecutarla o proporcionárselo a los ejecutores de pruebas.

Ejecuta IDT en modo de depuración

Como los conjuntos de pruebas dependen de IDT para interactuar con los dispositivos, proporcionar el contexto y recibir los resultados, no puede simplemente depurar sus suites de prueba en un IDE sin ninguna interacción con IDT. Para ello, la CLI de IDT proporciona el comando debug-test-suite que permite ejecutar IDT en modo de depuración. Ejecute el siguiente comando para ver las opciones disponibles para debug-test-suite:

devicetester_[linux | mac | win_x86-64] debug-test-suite -h

Cuando se ejecuta IDT en modo de depuración, IDT no inicia realmente el conjunto de pruebas ni ejecuta la máquina de estados, sino que interactúa con el IDE para responder a las solicitudes realizadas desde el conjunto de pruebas que se ejecuta en el IDE e imprime los registros en la consola. IDT no agota el tiempo de espera y espera a salir hasta que se interrumpa manualmente. En el modo de depuración, IDT tampoco ejecuta la máquina de estados y no generará ningún archivo de informe. Para depurar su conjunto de pruebas, debe usar su IDE para proporcionar cierta información que IDT suele obtener de los archivos JSON de configuración. Asegúrese de que dispone de la siguiente información:

  • Variables de entorno y argumentos para cada prueba. IDT no leerá esta información de test.json ni suite.json.

  • Argumentos para seleccionar los dispositivos de recursos. IDT no leerá esta información de test.json.

Para depurar los conjuntos de pruebas, complete los pasos siguientes:

  1. Cree los archivos de configuración necesarios para ejecutar el conjunto de pruebas. Por ejemplo, si su conjunto de pruebas requiere device.json, resource.json, y user data.json, asegúrese de configurarlos todos según sea necesario.

  2. Ejecute el siguiente comando para poner IDT en modo de depuración y seleccione los dispositivos necesarios para ejecutar la prueba.

    devicetester_[linux | mac | win_x86-64] debug-test-suite [options]

    Tras ejecutar este comando, IDT espera las solicitudes de el conjunto de pruebas y, a continuación, responde a ellas. IDT también genera las variables de entorno que se requieran para el proceso de casos del IDT Client SDK.

  3. En su IDE, utilice la configuración run o debug para hacer lo siguiente:

    1. Establezca los valores de las variables de entorno generadas por IDT.

    2. Establezca el valor de cualquier variable o argumento de entorno que haya especificado en el archivo test.json y suite.json.

    3. Establezca los puntos de interrupción según sea necesario.

  4. Ejecute el conjunto de pruebas en su IDE.

    Puede depurar y volver a ejecutar el conjunto de pruebas tantas veces como sea necesario. El tiempo de espera de IDT no se agota en el modo de depuración.

  5. Una vez completada la depuración, interrumpa IDT para salir del modo de depuración.

Comandos CLI de IDT para ejecutar pruebas

En las secciones siguientes se describen los comandos de la herramienta IDT CLI.

IDT v4.0.0
help

Enumera información acerca del comando especificado.

list-groups

Muestra los grupos de un conjunto de prueba determinado.

list-suites

Muestra los conjuntos de prueba disponibles.

list-supported-products

Enumera los productos compatibles con su versión de IDT, en este caso las versionesAWS IoT Greengrass de cualificaciones AWS IoT Greengrass y las versiones del conjunto de pruebas para la versión actual de IDT.

list-test-cases

Enumera los casos de prueba en un grupo de prueba determinado. Se admite la siguiente opción:

  • group-id. El grupo de prueba que se va a buscar. Esta opción es necesaria y debe especificar un solo grupo.

run-suite

Ejecuta un conjunto de pruebas en un grupo de dispositivos. A continuación se muestran algunas opciones que suelen utilizarse:

  • suite-id. La versión del conjunto de pruebas que se va a ejecutar. Si no se especifica, IDT utiliza la versión más reciente de la carpeta tests.

  • group-id. Los grupos de prueba que se van a ejecutar, como una lista separada por comas. Si no se especifica, IDT ejecuta todos los grupos de prueba del conjunto de pruebas.

  • test-id. Los casos de prueba a ejecutar, como lista separada por comas. Cuando se especifique, group-id debe especificar un solo grupo.

  • pool-id. El grupo de dispositivos que se va a probar. Las ejecuciones deben especificar un grupo si tiene varios grupos de dispositivos definidos en el archivo device.json.

  • timeout-multiplier. Configura IDT para modificar el tiempo de espera de ejecución de la prueba especificado en el archivo test.json para una prueba con un multiplicador definido por el usuario.

  • stop-on-first-failure. Configura IDT para detener la ejecución en el primer error. Esta opción debe utilizarse con group-id para depurar los grupos de prueba especificados.

  • userdata. Establece el archivo que contiene la información sobre los datos del usuario necesarios para el conjunto de pruebas. Esto solo es necesario si userdataRequired se establece en verdadero en el archivo suite.json del conjunto de pruebas.

Para obtener más información acerca de run-suite las opciones, utilice la opción help:

devicetester_[linux | mac | win_x86-64] run-suite -h
debug-test-suite

Ejecute el conjunto de pruebasen modo de depuración. Para obtener más información, consulte Ejecuta IDT en modo de depuración.