IDT 테스트 도구 모음 구성 파일 만들기 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 는 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트를 릴리스하지 AWS IoT Greengrass V1 않습니다. 에서 실행되는 디바이스는 중단 AWS IoT Greengrass V1 되지 않고 계속 작동하며 클라우드에 연결됩니다. 로 마이그레이션 AWS IoT Greengrass Version 2하는 것이 좋습니다. 이 마이그레이션하면 추가 플랫폼 에 대한 중요한 새 기능과 지원이 추가됩니다. https://docs.aws.amazon.com/greengrass/v2/developerguide/operating-system-feature-support-matrix.html

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

IDT 테스트 도구 모음 구성 파일 만들기

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

필수 JSON 파일
suite.json

테스트 제품군 정보가 포함되어 있습니다. suite.json을 구성하십시오. 섹션을 참조하세요.

group.json

테스트 그룹에 대한 정보를 포함합니다. 테스트 도구 모음의 각 테스트 그룹에 대한 group.json 파일을 만들어야 합니다. group.json을 구성하십시오. 섹션을 참조하세요.

test.json

테스트 케이스에 대한 정보가 들어 있습니다. 테스트 도구 모음의 각 테스트 케이스에 대한 test.json 파일을 만들어야 합니다. test.json을 구성하십시오. 섹션을 참조하세요.

JSON 파일(선택 사항)
state_machine.json

IDT가 테스트 도구 모음을 실행할 때 테스트가 실행되는 방법을 정의합니다. state_machine.json을 구성합니다. 섹션을 참조하세요.

userdata_schema.json

테스트 실행기가 설정 구성에 포함할 수 있는 userdata.json 파일의 스키마를 정의합니다. 이 userdata.json 파일은 테스트를 실행하는 데 필요하지만 device.json 파일에는 없는 추가 구성 정보에 사용됩니다. userdata_schema.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

suite.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.json 파일을 포함해야 합니다.

environmentVariables

선택 사항. 이 테스트 도구 모음에 설정할 환경 변수 배열입니다.

environmentVariables.key

환경 변수의 이름입니다.

environmentVariables.value

환경 변수의 값입니다.

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

선택 사항. IDT에서 필수 테스트 실행을 완료한 후 이 테스트 그룹을 선택적 그룹으로 표시하도록 true(으)로 설정합니다. 기본값은 false입니다.

test.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의 값은 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 파일의 값이 우선합니다.

state_machine.json을 구성합니다.

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

테스트 제품군에 사용자 정의 상태 머신이 포함되지 않은 경우 IDT가 상태 머신을 자동으로 생성합니다. 기본 상태 머신은 다음 기능을 수행합니다.

  • 테스트 실행기에 전체 테스트 제품군 대신 특정 테스트 그룹을 선택하고 실행할 수 있는 기능을 제공합니다.

  • 특정 테스트 그룹을 선택하지 않은 경우, 테스트 제품군의 모든 테스트 그룹을 무작위 순서로 실행합니다.

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

IDT 상태 머신이 작동하는 자세한 방법은 IDT 상태 머신 구성을(를) 참조하십시오.

userdata_schema.json을 구성합니다.

userdata_schema.json 파일은 테스트 실행기가 사용자 데이터를 제공하는 스키마를 결정합니다. 테스트 도구 모음에 device.json 파일에 없는 정보가 필요한 경우, 사용자 데이터가 필요합니다. 예를 들어 테스트에는 Wi-Fi 네트워크 자격 증명, 특정 오픈 포트 또는 사용자가 제공해야 하는 인증서가 필요할 수 있습니다. 이 정보는 userdata(이)라는 입력 파라미터로 IDT에 제공될 수 있습니다. 이때 값은 <device-tester-extract-location>/config 폴더에 생성한 userdata.json 파일입니다. userdata.json 파일 형식은 테스트 도구 모음에 포함된 userdata_schema.json 파일을 기반으로 합니다.

테스트 실행기가 userdata.json 파일을 제공해야 함을 나타내려면:

  1. suite.json 파일에서 userDataRequired을(를) true(으)로 설정합니다.

  2. <custom-test-suite-folder>에서 userdata_schema.json 파일을 생성하십시오.

  3. userdata_schema.json 파일을 편집하여 유효한 IETF 초안 v4 JSON 스키마를 생성하십시오.

IDT는 테스트 도구 모음을 실행하면 자동으로 스키마를 읽고 이를 사용하여 테스트 실행기가 제공한 userdata.json 파일을 검증합니다. 유효한 경우, userdata.json 파일의 내용은 IDT 컨텍스트스테이트 머신 컨텍스트 모두에서 사용할 수 있습니다.