Depure e execute conjuntos de teste personalizados - 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á.

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.

Execução do IDT no modo de depuração

Como os conjuntos de teste dependem do IDT para interagir com dispositivos, fornecer o contexto e receber resultados, você não pode simplesmente depurar os conjuntos de teste em um IDE sem interagir 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 seguinte comando 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 pacote de teste nem executa o orquestrador de testes. Em vez disso, ele interage com seu IDE para responder às solicitações feitas do pacote de teste em execução no IDE e imprime 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 o orquestrador de testes e não gera nenhum arquivo 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. A IDT não lerá essas informações de test.json ou suite.json.

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

Para depurar os conjuntos de teste, conclua as seguintes etapas:

  1. Crie os arquivos de definição de configuração necessários para executar o conjunto de testes. Por exemplo, se o conjunto de testes necessita do device.json, resource.json e user data.json, configure 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 conjunto de testes e depois as responde. O IDT também gera as variáveis de ambiente necessárias para o processo de caso do IDT Client SDK.

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

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

    2. Definir o valor das variáveis de ambiente ou argumentos que você especificou no arquivo test.json e suite.json.

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

  4. Executar o conjunto de testes no IDE.

    Você pode depurar e executar novamente o conjunto de testes, sempre que 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

A seção a seguir descreve 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. Confira a seguir algumas opções geralmente usadas:

  • suite-id. A versão do conjunto de testes 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, em 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, em uma lista separada por vírgulas. Quando especificado, group-id deve especificar um único grupo.

  • pool-id. O grupo de dispositivos a ser testado. Os executores de testes devem especificar um grupo se tiverem 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 para 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 conjunto de testes. Isso é necessário somente se userdataRequired estiver definido como verdadeiro no arquivo suite.json do conjunto de testes.

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 conjunto de testes no modo de depuração. Para ter mais informações, consulte Execução do IDT no modo de depuração.