Tutorial: compile e execute o pacote de amostra de teste de IDT - AWS IoT Greengrass

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tutorial: compile e execute o pacote de amostra de teste de IDT

O download do AWS IoT Device Tester inclui o código-fonte de uma amostra de conjunto de testes. Você pode concluir este tutorial para criar e executar a suíte de testes de amostra para entender como você pode usar o IDT AWS IoT Greengrass para executar suítes de testes personalizadas.

Pré-requisitos

Para concluir este tutorial, você precisará do seguinte:

  • Requisitos do computador host
    • Versão mais recente do AWS IoT Device Tester

    • Python 3.7 ou posterior

      Para verificar a versão do Python instalada em seu computador, execute o comando a seguir:

      python3 --version

      No Windows, se o uso desse comando retornar um erro, use python --version. Se o número da versão retornada for 3.7 ou superior, execute o seguinte comando em um terminal do Powershell para definir python3 como um alias para seu comando python.

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

      Se nenhuma informação sobre versão for retornada ou se o número da versão for menor do que 3.7, siga as instruções em Fazer download do Python para instalar o Python 3.7+. Para obter mais informações, consulte a Documentação do Python.

    • urllib3

      Para verificar se urllib3 está instalado corretamente, execute o comando a seguir:

      python3 -c 'import urllib3'

      Se o urllib3 não estiver instalado, execute o comando a seguir para instalá-lo:

      python3 -m pip install urllib3
  • Requisitos do dispositivo
    • Um dispositivo com sistema operacional Linux e uma conexão de rede com a mesma rede do seu computador host.

      Recomendamos que você use um Raspberry Pi com o sistema operacional Raspberry Pi. Configure o SSH no seu Raspberry Pi para se conectar remotamente a ele.

Configuração das informações do dispositivo para o IDT

Configure as informações doseu dispositivo para o IDT executar o teste. Você deve atualizar o modelo device.json localizado na pasta <device-tester-extract-location>/configs com as seguintes informações.

[ { "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>" } } } } ] } ]

No objeto devices, forneça as seguintes informações:

id

Um identificador exclusivo, definido pelo usuário, para o seu dispositivo.

connectivity.ip

O endereço IP do seu dispositivo.

connectivity.port

Opcional. O número da porta que deve ser usado nas conexões SSH ao seu dispositivo.

connectivity.auth

Informações de autenticação da conexão.

Essa propriedade será aplicada somente se connectivity.protocol estiver definido como ssh.

connectivity.auth.method

O método de autenticação usado para acessar um dispositivo pelo protocolo de conectividade indicado.

Os valores compatíveis são:

  • pki

  • password

connectivity.auth.credentials

As credenciais usadas para autenticação.

connectivity.auth.credentials.user

O nome de usuário usado para fazer login no seu dispositivo.

connectivity.auth.credentials.privKeyPath

O caminho completo para a chave privada usada para fazer login no dispositivo.

Esse valor se aplica somente se connectivity.auth.method estiver definido como pki.

devices.connectivity.auth.credentials.password

A senha usada para fazer login no dispositivo.

Esse valor se aplica somente se connectivity.auth.method estiver definido como password.

nota

Especifique privKeyPath somente se method estiver definido como pki.

Especifique password somente se method estiver definido como password.

Compilação do conjunto de testes de amostra

A pasta <device-tester-extract-location>/samples/python contém exemplos de arquivos de configuração, código-fonte e o IDT Client SDK que você pode combinar em um conjunto de testes usando os scripts de compilação fornecidos. A árvore de diretórios a seguir mostra a localização desses arquivos de amostra:

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

Para compilar o conjunto de testes, execute os seguintes comandos em seu computador 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

Isso compila o conjunto de testes de amostra na pasta IDTSampleSuitePython_1.0.0 dentro da pasta <device-tester-extract-location>/tests. Examine os arquivos na IDTSampleSuitePython_1.0.0 pasta para entender como a suíte de testes de amostra está estruturada e para ver vários exemplos de executáveis de casos de teste e arquivos JSON de configuração de teste.

nota

O pacote de teste de amostra inclui um código-fonte em Python. Não inclua informações confidenciais no código do seu pacote de teste.

Próxima etapa: use o IDT para executar o pacote de teste de amostra criada.

Usar o IDT para executar o conjunto de testes de amostra

Para executar o conjunto de testes de amostra, execute os seguintes comandos em seu computador host:

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

O IDT executa o conjunto de testes de amostra e transmite os resultados para o console. Quando a execução do teste é concluída, você vê as seguintes informações:

========== 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

Solução de problemas

Use as informações a seguir para ajudar a resolver os problemas ao concluir o tutorial.

Caso de teste não é executado

Se o teste não for executado, o IDT transmitirá os logs de erro para o console e isso pode ajudar a solucionar o problema de execução do teste. Verifique se você atende a todos os pré-requisitos deste tutorial.

Não é possível se conectar ao dispositivo em teste

Verifique o seguinte:

  • Seu arquivo device.json contém o endereço IP, a porta e as informações de autenticação corretos.

  • Você pode se conectar ao seu dispositivo via SSH a partir do seu computador host.