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á.
Crie arquivos de configuração do pacote de testes do IDT
Esta seção descreve os formatos nos quais você cria arquivos de configuração JSON incluídos ao escrever um pacote de teste personalizado.
Arquivos de configuração necessária
suite.json
-
Contém informações sobre o pacote de teste. Consulte Configurar suite.json.
group.json
-
Contém informações sobre um grupo de testes. Você deve criar um arquivo
group.json
para cada grupo de testes em seu conjunto de testes. Consulte Configuração de group.json. test.json
-
Contém informações sobre um caso de testes. Você deve criar um arquivo
test.json
para cada caso de teste em seu conjunto de testes. Consulte Configuração de test.json.
Arquivos de configuração opcional
test_orchestrator.yaml
oustate_machine.json
-
Define como os testes são executados quando o IDT executa o pacote de teste. Consulte Configurar test_orchestrator.yaml.
nota
A partir do IDT v4.5.1, você usa o
test_orchestrator.yaml
arquivo para definir o fluxo de trabalho de teste. Nas versões anteriores do IDT, você usa o arquivostate_machine.json
. Para obter informações sobre a máquina de estado, consulte Configurar a máquina de estado IDT. userdata_schema.json
-
Define o esquema do arquivo userdata.json que os executores de teste podem incluir na definição de configuração. O arquivo
userdata.json
é usado em toda informação de configuração adicional necessária para executar o teste, mas que não esteja presente no arquivodevice.json
. Consulte Configurar userdata_schema.json.
Os arquivos de configuração JSON são colocados no seu
, conforme mostrado aqui.<custom-test-suite-folder>
<custom-test-suite-folder>
└── suite ├── suite.json ├── test_orchestrator.yaml ├── userdata_schema.json ├──<test-group-folder>
├── group.json ├──<test-case-folder>
└── test.json
Configurar suite.json
O arquivo suite.json
define as variáveis de ambiente e determina se os dados do usuário são necessários para executar o conjunto de testes. Use o modelo a seguir para configurar seu arquivo
: <custom-test-suite-folder>
/suite/suite.json
{ "id": "
<suite-name>_<suite-version>
", "title": "<suite-title>
", "details": "<suite-details>
", "userDataRequired": true | false, "environmentVariables": [ { "key": "<name>
", "value": "<value>
", }, ... { "key": "<name>
", "value": "<value>
", } ] }
Todos os campos que contêm valores são necessários, conforme descrito aqui:
id
-
Um ID exclusivo, definido pelo usuário, para o conjunto de testes. O valor de
id
deve corresponder ao nome da pasta do conjunto de testes na qual o arquivosuite.json
está localizado. O nome e a versão do conjunto devem atender aos seguintes requisitos:-
não pode conter sublinhados.<suite-name>
-
é indicado como<suite-version>
, em quex.x.x
x
é um número.
O ID é mostrado nos relatórios de teste gerados pelo IDT.
-
title
-
Um nome definido pelo usuário para o produto ou atributo que está sendo testado por esse conjunto de testes. O nome é exibido na CLI do IDT para executores de teste.
details
-
Uma descrição breve da finalidade do conjunto de testes.
userDataRequired
-
Define se os executores de teste precisam incluir informações personalizadas em um arquivo
userdata.json
. Se você definir esse valor comotrue
, também deverá incluir o arquivo userdata_schema.json na pasta do conjunto de testes. environmentVariables
-
Opcional. Uma matriz de variáveis de ambiente para configurar para esse conjunto de testes.
environmentVariables.key
-
O nome da variável de ambiente.
environmentVariables.value
-
O valor da variável de ambiente.
Configuração de group.json
O arquivo group.json
define se o grupo de teste é necessário ou opcional. Use o modelo a seguir para configurar seu arquivo
: <custom-test-suite-folder>
/suite/<test-group>
/group.json
{ "id": "
<group-id>
", "title": "<group-title>
", "details": "<group-details>
", "optional": true | false, }
Todos os campos que contêm valores são necessários, conforme descrito aqui:
id
-
Um ID exclusivo, definido pelo usuário, para o grupo de testes. O valor de
id
deve corresponder ao nome da pasta do grupo de teste na qual ogroup.json
arquivo está localizado e não pode conter sublinhados (_
). O ID é usado nos relatórios de teste gerados pelo IDT. title
-
Um nome descritivo para o grupo de teste. O nome é exibido na CLI do IDT para executores de teste.
details
-
Uma descrição breve da finalidade do grupo de testes.
optional
-
Opcional. Defina
true
para exibir esse grupo de teste como um grupo opcional depois que o IDT terminar de executar os testes necessários. O valor padrão éfalse
.
Configuração de test.json
O arquivo test.json
determina os executáveis do caso de teste e as variáveis de ambiente que são usadas por um caso de teste. Para mais informações sobre como criar executáveis de casos de teste, consulte Crie executáveis de casos de teste do IDT.
Use o modelo a seguir para configurar seu arquivo
: <custom-test-suite-folder>
/suite/<test-group>
/<test-case>
/test.json
{ "id": "
<test-id>
", "title": "<test-title>
", "details": "<test-details>
", "requireDUT": true | false, "requiredResources": [ { "name": "<resource-name>
", "features": [ { "name": "<feature-name>
", "version": "<feature-version>
", "jobSlots":<job-slots>
} ] } ], "execution": { "timeout":<timeout>
, "mac": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ], }, "linux": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ], }, "win": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ] } }, "environmentVariables": [ { "key": "<name>
", "value": "<value>
", } ] }
Todos os campos que contêm valores são necessários, conforme descrito aqui:
id
-
Um ID exclusivo, definido pelo usuário, para o caso de teste. O valor de
id
deve corresponder ao nome da pasta do caso de teste na qual otest.json
arquivo está localizado e não pode conter sublinhados (_
). O ID é usado nos relatórios de teste gerados pelo IDT. title
-
Um nome descritivo para o caso de teste. O nome é exibido na CLI do IDT para executores de teste.
details
-
Uma descrição breve da finalidade do caso de teste.
requireDUT
-
Opcional. Defina como
true
se for necessário um dispositivo para executar esse teste, caso contrário, defina comofalse
. O valor padrão étrue
. Os executores de teste configurarão os dispositivos que usarão para executar o teste em seus arquivosdevice.json
. requiredResources
-
Opcional. Uma matriz que fornece informações sobre os dispositivos de atributos necessários para executar esse teste.
requiredResources.name
-
O nome exclusivo para dar ao dispositivo de atributo quando esse teste está sendo executado.
requiredResources.features
-
Uma matriz de recursos de dispositivo de atributos definidos pelo usuário.
requiredResources.features.name
-
O nome do atributo. O atributo do dispositivo para o qual você deseja usar este dispositivo. Esse nome é comparado ao nome do atributo fornecido pelo executor de teste no arquivo
resource.json
. requiredResources.features.version
-
Opcional. A versão do atributo. Esse valor é comparado com a versão do atributo fornecida pelo executor de teste no arquivo
resource.json
. Se uma versão não for fornecida, o atributo não será verificado. Caso o número de versão não seja necessário para o atributo, deixe este campo em branco. requiredResources.features.jobSlots
-
Opcional. O número de testes simultâneos que esse atributo pode suportar. O valor padrão é
1
. Se desejar que o IDT use dispositivos distintos para atributos individuais, recomendamos que definir esse valor como1
.
execution.timeout
-
A período de tempo (em milissegundos) que o IDT aguarda para o teste terminar de ser executado. Para obter mais informações sobre essa configuração, consulte Crie executáveis de casos de teste do IDT.
execution.
os
-
Os executáveis do caso de teste a serem executados com base no sistema operacional do computador host que executa o IDT. Os valores compatíveis são
linux
,mac
ewin
.execution.
os
.cmd-
O caminho para o executável do caso de teste que você deseja executar para o sistema operacional especificado. Esse local deve estar no caminho do sistema.
execution.
os
.args-
Opcional. Os argumentos a serem fornecidos para executar o executável do caso de teste.
environmentVariables
-
Opcional. Uma matriz de variáveis de ambiente definidas para esse caso de teste.
environmentVariables.key
-
O nome da variável de ambiente.
environmentVariables.value
-
O valor da variável de ambiente.
nota
Se especificar a mesma variável de ambiente no arquivo
test.json
e no arquivosuite.json
, o valor no arquivotest.json
terá precedência.
Configurar test_orchestrator.yaml
Um orquestrador de teste é uma estrutura que controla o fluxo de execução do pacote de teste. Ele determina o estado inicial de um pacote de teste, gerencia as transições de estado com base nas regras definidas pelo usuário e continua a transição por esses estados até atingir o estado final.
Se seu pacote de teste não incluir um orquestrador de testes definido pelo usuário, o IDT gerará um orquestrador de testes para você.
O orquestrador de teste padrão executa as seguintes funções:
-
Fornece aos executores de teste a capacidade de selecionar e executar grupos de testes específicos, em vez de todo o pacote de teste.
-
Se grupos de teste específicos não forem selecionados, executará cada grupo de teste no conjunto de testes em uma ordem aleatória.
-
Gera relatórios e imprime um resumo do console que mostra os resultados do teste para cada grupo de teste e caso de teste.
Para obter mais informações sobre como o orquestrador de testes do IDT funciona, consulte Configurar o orquestrador de teste IDT.
Configurar userdata_schema.json
O arquivo userdata_schema.json
determina o esquema no qual os executores de teste fornecem dados do usuário. Os dados do usuário são necessários se seu conjunto de testes exigir informações que não estejam presentes no arquivo device.json
. Por exemplo, seus testes podem precisar de credenciais de rede Wi-Fi, portas abertas específicas ou certificados que um usuário deve fornecer. Essas informações podem ser fornecidas ao IDT como um parâmetro de entrada chamado userdata
, cujo valor é um arquivo userdata.json
, que os usuários criam em suas pastas
. O formato do arquivo <device-tester-extract-location>
/configuserdata.json
é baseado no arquivo userdata_schema.json
que você inclui no conjunto de testes.
Para indicar que os executores de teste devem fornecer um arquivo userdata.json
:
-
No arquivo
suite.json
, definauserDataRequired
comotrue
. -
No seu
, crie um arquivo<custom-test-suite-folder>
userdata_schema.json
. -
Edite o arquivo
userdata_schema.json
para criar um esquema JSON de IETF Draft v4.
Quando o IDT executa seu pacote de teste, ele lê automaticamente o esquema e o usa para validar o arquivo userdata.json
fornecido pelo executor do teste. Se válido, o conteúdo do arquivo userdata.json
estará disponível no contexto do IDT e no contexto do orquestrador de testes.