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.
Neste tutorial, você concluirá as seguintes etapas:
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 definirpython3
como um alias para seu comandopython
.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 . -
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
com as seguintes informações.<device-tester-extract-location>
/configs
[ { "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 comossh
.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 comopki
. devices.connectivity.auth.credentials.password
-
A senha usada para fazer login no dispositivo.
Esse valor se aplica somente se
connectivity.auth.method
estiver definido comopassword
.
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
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>
/samples/python
<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:
Isso compila o conjunto de testes de amostra na pasta IDTSampleSuitePython_1.0.0
dentro da pasta
. Examine os arquivos na <device-tester-extract-location>
/testsIDTSampleSuitePython_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.