Depurar y ejecutar conjuntos de pruebas personalizadas - AWS IoT Greengrass

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.

Ejecución de 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 conjuntos de pruebas 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 orquestador de pruebas, 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 el orquestador de pruebas 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 de ajustes 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 establecer 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 del 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 para el SDK de cliente de IDT.

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

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

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

    3. Establecer 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. En el modo de depuración, IDT no agota el tiempo de espera.

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

Comandos de la CLI de IDT para ejecutar pruebas

En la sección siguiente se describen los comandos de la CLI de IDT.

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 pruebas 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. Estas son 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 pruebas 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 que se van a ejecutar, como una 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. Los ejecutores de las pruebas deben especificar un grupo si tienen 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 ejecutar el conjunto de pruebas. Esto solo es necesario si userdataRequired está establecido 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 pruebas en modo de depuración. Para obtener más información, consulte Ejecución de IDT en modo de depuración.