Depure e execute conjuntos de teste personalizados - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adiciona novos recursos significativos e suporte para plataformas adicionais.

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á.

Depure e execute conjuntos de teste personalizados

Depois que a configuração necessária for definida, o IDT poderá executar seu pacote de teste. O runtime do pacote de testes completo depende do hardware e da composição do pacote de testes. Como referência, leva aproximadamente 30 minutos para concluir o pacote de qualificação completo AWS IoT Greengrass em um Raspberry Pi 3B.

Ao escrever seu pacote de testes, você pode usar o IDT para executar a conjunto de testes no modo de depuração para verificar seu código antes de executá-lo ou fornecê-lo aos executores de teste.

Executar o IDT no modo de depuração

Como os pacotes de teste dependem do IDT para interagir com dispositivos, fornecer o contexto e receber resultados, não é possível simplesmente depurar seus pacotes de teste em um IDE sem qualquer interação com o IDT. Para fazer isso, a CLI do IDT fornece o comando debug-test-suite que permite executar o IDT no modo de depuração. Execute o comando a seguir para visualizar as opções disponíveis para debug-test-suite:

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

Ao executar o IDT no modo de depuração, o IDT na verdade não inicia o conjunto de testes nem executa a máquina de estado; em vez disso, ele interage com o IDE para responder às solicitações feitas do conjunto de testes em execução no IDE e exibe os logs no console. O IDT não atinge o tempo limite e espera para sair até ser interrompido manualmente. No modo de depuração, o IDT também não executa a máquina de estado e não gera arquivos de relatório. Para depurar o conjunto de testes, você deve usar seu IDE para fornecer algumas informações que o IDT normalmente obtém dos arquivos JSON de configuração. Forneça as seguintes informações:

  • Variáveis de ambiente e argumentos para cada teste. O IDT não lerá essas informações de test.json ou suite.json.

  • Argumentos para selecionar os dispositivos de recursos. O IDT não lerá essas informações de test.json.

Para depurar seus pacotes de teste, conclua as seguintes etapas:

  1. Crie os arquivos de ajuste de configuração necessários para executar o pacote de teste. Por exemplo, se seu pacote de teste exigir o device.json, resource.json e user data.json certifique-se de configurar todos eles conforme necessário.

  2. Execute o comando a seguir para colocar o IDT no modo de depuração e selecionar todos os dispositivos necessários para executar o teste.

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

    Depois de executar esse comando, o IDT aguarda as solicitações do pacote de teste e responde a elas. O IDT também gera as variáveis de ambiente necessárias para o processo de caso do SDK do cliente de IDT.

  3. No seu IDE, use a configuração run ou debug para fazer o seguinte:

    1. Defina os valores das variáveis de ambiente geradas pelo IDT.

    2. Defina o valor de qualquer variável de ambiente ou argumento que você especificou em seu arquivo test.json e suite.json.

    3. Definir pontos de interrupção, conforme necessário.

  4. Execute o pacote de teste em seu IDE.

    É possível depurar e executar novamente o pacote de teste quantas vezes for necessário. O IDT não atinge o tempo limite no modo de depuração.

  5. Depois de concluir a depuração, interrompa o IDT para sair do modo de depuração.

Comandos da CLI do IDT para executar testes

As seções a seguir descrevem os comandos da CLI do IDT.

IDT v4.0.0
help

Lista as informações sobre o comando especificado.

list-groups

Lista os grupos em um determinado conjunto de teste.

list-suites

Lista os conjuntos de teste disponíveis.

list-supported-products

Lista os produtos compatíveis com a sua versão, neste caso, versões do AWS IoT Greengrass e versões do pacote de testes de qualificação AWS IoT Greengrass disponíveis para a versão atual do IDT.

list-test-cases

Lista os casos de teste em um grupo de teste. A seguinte opção é compatível:

  • group-id. O grupo de teste a ser pesquisado. Esta opção é necessária e deve especificar um único grupo.

run-suite

Executa um conjunto de testes em um grupo de dispositivos. Algumas opções comumente usadas a seguir:

  • suite-id. A versão do pacote de teste a ser executada. Se não for especificado, o IDT usará a versão mais recente na pasta tests.

  • group-id. Os grupos de teste a serem executados, como uma lista separada por vírgulas. Se não for especificado, o IDT executa todos os grupos de teste no conjunto de testes.

  • test-id. Os casos de teste a serem executados, como uma lista separada por vírgulas. Quando especificado, group-id deve especificar um único grupo.

  • pool-id. O grupo de dispositivos a ser testado. É preciso especificar um grupo se houver vários grupos de dispositivos definidos no arquivo device.json.

  • timeout-multiplier. Configura o IDT para modificar o tempo limite de execução do teste especificado no arquivo test.json para um teste com um multiplicador definido pelo usuário.

  • stop-on-first-failure. Configura o IDT de modo a interromper a execução na primeira falha. Essa opção deve ser usada com para depurar os grupos de teste especificados group-id.

  • userdata. Define o arquivo que contém as informações de dados do usuário necessárias para executar o pacote de teste. Isto é necessário somente se userdataRequired estiver definido como verdadeiro no arquivo suite.json do pacote de teste.

Para obter mais informações sobre as opções run-suite, use a opção help:

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

Execute o pacote de teste no modo de depuração. Para ter mais informações, consulte Executar o IDT no modo de depuração.