Tutorial: crear y ejecutar el ejemplo del conjunto de pruebas de IDT - 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.

Tutorial: crear y ejecutar el ejemplo del conjunto de pruebas de IDT

La descarga de AWS IoT Device Tester incluye el código fuente de un conjunto de pruebas de muestra. Puedes completar este tutorial para crear y ejecutar el conjunto de pruebas de ejemplo para entender cómo puedes usar IDT AWS IoT Greengrass para ejecutar conjuntos de pruebas personalizados.

Requisitos previos

Necesitará lo siguiente para completar este tutorial:

  • Requisitos del equipo host
    • Última versión de AWS IoT Device Tester

    • Python 3.7 o posterior

      Para comprobar la versión de Python instalada en el equipo, ejecute el siguiente comando:

      python3 --version

      En Windows, si el uso de este comando devuelve un error, utilice python --version en su lugar. Si el número de versión devuelto es 3.7 o superior, ejecute el siguiente comando en un terminal de Powershell para establecer python3 como alias para el comando python.

      Set-Alias -Name "python3" -Value "python"

      Si no se devuelve información sobre la versión o si la versión es inferior a 3.7, siga las instrucciones que se indican en Descarga de Python) para instalar Python 3.7 o superior. Para obtener más información, consulte la documentación de Python.

    • urllib3

      Para comprobar que urllib3 se ha instalado correctamente, ejecute el siguiente comando:

      python3 -c 'import urllib3'

      Si urllib3 no está instalado, ejecute el siguiente comando para instalarlo:

      python3 -m pip install urllib3
  • Requisitos de los dispositivos
    • Un dispositivo con un sistema operativo Linux y una conexión de red a la misma red que el equipo host.

      Le recomendamos que utilice un Raspberry Pi con el sistema operativo Raspberry Pi. Asegúrese de que tiene configurado SSH en el Raspberry Pi para conectarse de forma remota.

Configuración de la información del dispositivo para IDT

Configure la información del dispositivo para que IDT ejecute la prueba. Debe actualizar la plantilla device.json ubicada en la carpeta <device-tester-extract-location>/configs con la siguiente información.

[ { "id": "pool", "sku": "N/A", "devices": [ { "id": "<device-id>", "connectivity": { "protocol": "ssh", "ip": "<ip-address>", "port": "<port>", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", "privKeyPath": "/path/to/private/key", "password": "<password>" } } } } ] } ]

En el objeto devices, indique la siguiente información:

id

Un identificador único definido por el usuario para el dispositivo.

connectivity.ip

La dirección IP del dispositivo.

connectivity.port

Opcional. El número de puerto que se va a utilizar para las conexiones SSH al dispositivo.

connectivity.auth

Información de autenticación para la conexión.

Esta propiedad solo se aplica si connectivity.protocol está establecido en ssh.

connectivity.auth.method

El método de autenticación que se utiliza para acceder a un dispositivo a través de un determinado protocolo de conectividad.

Los valores admitidos son:

  • pki

  • password

connectivity.auth.credentials

Las credenciales que se utilizan para la autenticación.

connectivity.auth.credentials.user

El nombre de usuario utilizado para iniciar sesión en el dispositivo.

connectivity.auth.credentials.privKeyPath

La ruta completa a la clave privada que se utiliza para iniciar sesión en el dispositivo.

Este valor solo se aplica si connectivity.auth.method está establecido en pki.

devices.connectivity.auth.credentials.password

La contraseña que se utiliza para iniciar sesión en el dispositivo.

Este valor solo se aplica si connectivity.auth.method está establecido en password.

nota

Especifique privKeyPath solo si method está establecido en pki

Especifique password solo si method está establecido en password

Creación del conjunto de pruebas de muestra

La carpeta <device-tester-extract-location>/samples/python contiene ejemplos de archivos de configuración, código fuente y el SDK de cliente de IDT que puede combinar en un conjunto de pruebas mediante los scripts de creación proporcionados. El siguiente árbol de directorios muestra la ubicación de estos archivos de muestra:

<device-tester-extract-location> ├── ... ├── tests ├── samples │ ├── ... │ └── python │ ├── configuration │ ├── src │ └── build-scripts │ ├── build.sh │ └── build.ps1 └── sdks ├── ... └── python └── idt_client

Para crear el conjunto de pruebas, ejecute los siguientes comandos en el equipo host:

Windows
cd <device-tester-extract-location>/samples/python/build-scripts ./build.ps1
Linux, macOS, or UNIX
cd <device-tester-extract-location>/samples/python/build-scripts ./build.sh

Esto crea el conjunto de pruebas de muestra en la carpeta IDTSampleSuitePython_1.0.0, dentro de la carpeta <device-tester-extract-location>/tests. Revise los archivos de la IDTSampleSuitePython_1.0.0 carpeta para comprender cómo está estructurado el conjunto de pruebas de muestra y para ver varios ejemplos de ejecutables de casos de prueba y archivos JSON de configuración de pruebas.

nota

El conjunto de pruebas de muestra incluye el código fuente de Python. No incluya información confidencial en el código del conjunto de pruebas.

Siguiente paso: Uso de IDT para ejecutar el conjunto de pruebas de muestra que creó.

Uso de IDT para ejecutar el conjunto de pruebas de muestra

Para ejecutar el conjunto de pruebas de muestra, ejecute los siguientes comandos en el equipo host:

cd <device-tester-extract-location>/bin ./devicetester_[linux | mac | win_x86-64] run-suite --suite-id IDTSampleSuitePython

IDT ejecuta el conjunto de pruebas de muestra y transmite los resultados a la consola. Cuando la prueba termine de ejecutarse, verá la siguiente información:

========== Test Summary ========== Execution Time: 5s Tests Completed: 4 Tests Passed: 4 Tests Failed: 0 Tests Skipped: 0 ---------------------------------- Test Groups: sample_group: PASSED ---------------------------------- Path to IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml

Solución de problemas

Utilice la siguiente información para resolver cualquier problema al completar el tutorial.

El caso de prueba no se ejecuta correctamente

Si la prueba no se ejecuta correctamente, IDT transmite los registros de errores a la consola para ayudarle a solucionar los problemas con la ejecución de la prueba. Asegúrese de que cumple con todos los requisitos previos de este tutorial.

No se puede conectar al dispositivo que se está probando

Compruebe lo siguiente:

  • El archivo device.json contiene la dirección IP, el puerto y la información de autenticación correctos.

  • Puede conectarse a su dispositivo a través de SSH desde su equipo host.