IDT 테스트 제품군 구성 파일 생성 - AWS IoT Greengrass

다음에 대한 설명서를 보고 있습니다.AWS IoT Greengrass Version 1.AWS IoT Greengrass Version 2의 최신 주요 버전입니다AWS IoT Greengrass. 사용에 관한 자세한 내용은 단원을 참조하십시오.AWS IoT Greengrass V2에 대한 자세한 내용은AWS IoT Greengrass Version 2개발자 안내서.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

IDT 테스트 제품군 구성 파일 생성

이 섹션에서는 사용자 지정 테스트 스위트를 작성할 때 포함하는 JSON 구성 파일을 만드는 형식에 대해 설명합니다.

필수 JSON 파일

suite.json

테스트 제품군에 대한 정보가 포함됩니다. JSON 제품군을 구성합니다. 단원을 참조하십시오.

group.json

테스트 그룹에 대한 정보가 포함됩니다. 다음을 생성해야 합니다.group.json파일을 테스트 스위트의 각 테스트 그룹에 대한 JSON 그룹 구성 단원을 참조하십시오.

test.json

테스트 사례에 관한 정보를 포함합니다. 다음을 생성해야 합니다.test.json파일을 테스트 스위트의 각 테스트 케이스에 대한 테스트.JSON 구성 단원을 참조하십시오.

선택적 JSON 파일

state_machine.json

IDT가 테스트 스위트를 실행할 때 테스트가 실행되는 방법을 정의합니다. 상태 컴퓨터 구성. JSON 단원을 참조하십시오.

userdata_schema.json

에 대한 스키마를 정의userdata.jsonfile테스트 주자가 설정 구성에 포함 할 수 있습니다. 이userdata.json파일은 테스트를 실행하는 데 필요한 추가 구성 정보에 사용되지만device.json파일을 생성합니다. 사용자 데이터_스키마.json을 구성합니다. 단원을 참조하십시오.

JSON 구성 파일은<custom-test-suite-folder>는 다음과 같이 합니다.

<custom-test-suite-folder> └── suite ├── suite.json ├── state_machine.json ├── userdata_schema.json ├── <test-group-folder> ├── group.json ├── <test-case-folder> └── test.json

JSON 제품군을 구성합니다.

suite.json파일은 환경 변수를 설정하고 테스트 스위트를 실행하는 데 사용자 데이터가 필요한지 여부를 결정합니다. 다음 템플릿을 사용하여 구성<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>", } ] }

여기 설명된 것처럼 값이 포함된 모든 필드는 필수입니다.

id

테스트 스위트의 고유한 사용자 정의 ID입니다. 의 값id는 테스트 제품군 폴더의 이름과 일치해야 합니다.suite.json이 파일의 위치는 다음과 같습니다. 제품군 이름 및 제품군 버전도 다음 요구 사항을 충족해야 합니다.

  • <suite-name>밑줄을 포함할 수 없습니다.

  • <suite-version>는 다음과 같이 표시됩니다.x.x.x여기서x는 숫자입니다.

ID는 IDT 생성 테스트 보고서에 표시됩니다.

title

이 테스트 스위트에서 테스트할 제품 또는 기능의 사용자 정의 이름입니다. 이름이 테스트 러너의 IDT CLI에 표시됩니다.

details

테스트 제품군의 용도에 대한 간단한 설명입니다.

userDataRequired

테스트 주자가 사용자 정의 정보를 포함해야 하는지 여부를 정의합니다.userdata.json파일을 생성합니다. 이 값을true를 포함해야 합니다.userdata_schema.jsonfile테스트 스위트 폴더에 있습니다.

environmentVariables

선택 사항입니다. 이 테스트 제품군에 설정할 일련의 환경 변수입니다.

environmentVariables.key

환경 변수의 이름입니다.

environmentVariables.value

환경 변수의 값입니다.

JSON 그룹 구성

group.json파일은 테스트 그룹이 필수인지 또는 선택적인지를 정의합니다. 다음 템플릿을 사용하여 구성<custom-test-suite-folder>/suite/<test-group>/group.json파일을 생성합니다.

{ "id": "<group-id>", "title": "<group-title>", "details": "<group-details>", "optional": true | false, }

여기 설명된 것처럼 값이 포함된 모든 필드는 필수입니다.

id

테스트 그룹에 대한 고유한 사용자 정의 ID입니다. 의 값id테스트 그룹 폴더의 이름과 일치해야 합니다.group.json이 파일의 위치는 다음과 같습니다. ID는 IDT 생성 테스트 보고서에 사용됩니다.

title

테스트 그룹에 대한 설명이 포함된 이름입니다. 이름이 테스트 러너의 IDT CLI에 표시됩니다.

details

테스트 그룹의 용도에 대한 간단한 설명입니다.

optional

선택 사항입니다. 로 설정합니다.true를 클릭하여 IDT가 필수 테스트 실행을 완료한 후 이 테스트 그룹을 선택적 그룹으로 표시합니다. 기본값은 false입니다.

테스트.JSON 구성

test.json파일은 테스트 케이스 실행 파일과 테스트 케이스에서 사용하는 환경 변수를 결정합니다. 테스트 사례 실행 파일을 만드는 방법에 대한 자세한 내용은 단원을 참조하십시오.IDT 테스트 케이스 실행 파일 생성.

다음 템플릿을 사용하여 구성<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>", } ] }

여기 설명된 것처럼 값이 포함된 모든 필드는 필수입니다.

id

테스트 케이스에 대한 고유 사용자 정의 ID입니다. 의 값id는 테스트 case 폴더의 이름과 일치해야 합니다.test.json이 파일의 위치는 다음과 같습니다. ID는 IDT 생성 테스트 보고서에 사용됩니다.

title

테스트 사례에 대한 서술형 이름입니다. 이름이 테스트 러너의 IDT CLI에 표시됩니다.

details

테스트 사례의 용도에 대한 간단한 설명입니다.

requireDUT

선택 사항입니다. 로 설정합니다.true이 테스트를 실행하는 데 장치가 필요한 경우, 그렇지 않으면false. 기본값은 true입니다. 테스트 주자는 테스트를 실행하는 데 사용할 장치를device.json파일을 생성합니다.

requiredResources

선택 사항입니다. 이 테스트를 실행하는 데 필요한 리소스 장치에 대한 정보를 제공하는 배열입니다.

requiredResources.name

이 테스트가 실행 중일 때 리소스 장치를 지정하는 고유 이름입니다.

requiredResources.features

사용자 정의 리소스 장치 기능의 배열입니다.

requiredResources.features.name

특성의 이름입니다. 이 장치를 사용할 장치 기능입니다. 이 이름은 테스트 러너에서 제공하는 기능 이름과 일치합니다.resource.json파일을 생성합니다.

requiredResources.features.version

선택 사항입니다. 기능의 버전입니다. 이 값은 테스트 러너에서 제공하는 기능 버전과 일치합니다.resource.json파일을 생성합니다. 버전이 제공되지 않으면 기능이 확인되지 않습니다. 기능에 버전 번호가 필요하지 않은 경우에는 이 필드를 비워 둡니다.

requiredResources.features.jobSlots

선택 사항입니다. 이 기능이 지원할 수 있는 동시 테스트 수입니다. 기본 값은 1입니다. IDT가 개별 기능에 대해 개별 장치를 사용하도록 하려면 이 값을1.

execution.timeout

테스트 실행이 완료될 때까지 IDT가 대기하는 시간 (밀리초). 이 값을 설정하는 방법은 단원을 참조하십시오.IDT 테스트 케이스 실행 파일 생성.

execution.os

IDT를 실행하는 호스트 컴퓨터의 운영 체제를 기반으로 실행할 테스트 케이스 실행 파일입니다. 지원되는 값은 linux, macwin입니다.

execution.os.cmd

지정된 운영 체제에 대해 실행할 테스트 케이스 실행 파일의 경로입니다. 이 위치는 시스템 경로에 있어야 합니다.

execution.os.args

선택 사항입니다. 테스트 케이스 실행 파일을 실행하기 위해 제공하는 인수입니다.

environmentVariables

선택 사항입니다. 이 테스트 사례에 설정된 일련의 환경 변수입니다.

environmentVariables.key

환경 변수의 이름입니다.

environmentVariables.value

환경 변수의 값입니다.

참고

동일한 환경 변수를 지정하는 경우test.json파일 및suite.json파일의 값이test.json파일이 우선합니다.

상태 컴퓨터 구성. JSON

상태 머신은 테스트 스위트 실행 흐름을 제어하는 구조입니다. 테스트 스위트의 시작 상태를 결정하고 사용자 정의 규칙을 기반으로 상태 전환을 관리하며 종료 상태에 도달 할 때까지 해당 상태를 계속 전환합니다.

테스트 스위트에 사용자 정의 상태 시스템이 포함되어 있지 않으면 IDT가 상태 머신을 생성합니다. 기본 상태 시스템은 다음 기능을 수행합니다.

  • 테스트 러너에게 전체 테스트 도구 모음 대신 특정 테스트 그룹을 선택하고 실행할 수 있는 기능을 제공합니다.

  • 특정 테스트 그룹이 선택되지 않은 경우, 테스트 스위트의 모든 테스트 그룹을 임의의 순서로 실행합니다.

  • 보고서를 생성하고 각 테스트 그룹 및 테스트 사례에 대한 테스트 결과를 보여 주는 콘솔 요약을 인쇄합니다.

IDT 상태 머신이 작동하는 방식에 대한 자세한 내용은 단원을 참조하십시오.IDT 상태 시스템 구성.

사용자 데이터_스키마.json을 구성합니다.

userdata_schema.json파일은 테스트 주자가 사용자 데이터를 제공하는 스키마를 결정합니다. 테스트 스위트에 없는 정보가 필요한 경우 사용자 데이터가 필요합니다device.json파일을 생성합니다. 예를 들어 테스트에는 Wi-Fi 네트워크 자격 증명, 특정 열린 포트 또는 사용자가 제공해야 하는 인증서가 필요할 수 있습니다. 이 정보는 IDT에 라는 입력 매개 변수로 제공 될 수 있습니다.userdata인 경우, 값은userdata.json파일에서 생성하면 사용자가<device-tester-extract-location>/configfolder. 형식은 다음과 같습니다.userdata.json파일을 기반으로 하는userdata_schema.json테스트 제품군에 포함시킬 수 있습니다.

테스트 주자가 제공해야한다는 것을 나타 내기 위해userdata.json파일을 생성합니다.

  1. 에서suite.json파일, 설정userDataRequiredtotrue.

  2. 귀하의<custom-test-suite-folder>의 경우userdata_schema.json파일을 생성합니다.

  3. 편집userdata_schema.json파일을 사용하여 유효한IETF 초안 v4 JSON 스키마.

IDT가 테스트 스위트를 실행하면 자동으로 스키마를 읽고이를 사용하여userdata.json파일을 테스트 러너에서 제공합니다. 유효한 경우,userdata.json파일 모두에서 사용할 수 있습니다IDT 컨텍스트에 있는상태 머신 컨텍스트.