

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

# 섀도우
<a name="device-advisor-tests-shadow"></a>

이러한 테스트를 사용하여 테스트 중인 디바이스가 AWS IoT 디바이스 섀도우 서비스를 올바르게 사용하는지 확인합니다. 자세한 내용은 [AWS IoT 디바이스 섀도우 서비스](iot-device-shadows.md)를 참조하세요. 이러한 테스트 케이스가 테스트 스위트에 구성된 경우 스위트 실행을 시작할 때 사물을 제공하는 것이 필요합니다.

**MQTT over WebSocket**은 현재 지원되지 않습니다.

## 게시
<a name="publish"></a>

***'디바이스가 연결 후 상태를 게시합니다(해피 케이스)'***  
디바이스가에 연결한 후 상태를 게시할 수 있는지 확인 AWS IoT Core  
*API 테스트 케이스 정의:*  
`EXECUTION_TIMEOUT`의 기본값은 5분입니다. 제한 시간 값을 2분으로 설정하는 것을 권장합니다.

```
"tests":[
   {
      "name":"my_shadow_publish_reported_state",
      "configuration": {
         // optional:
         "EXECUTION_TIMEOUT":"300", // in seconds
         "SHADOW_NAME": "SHADOW_NAME",
         "REPORTED_STATE": {
            "STATE_ATTRIBUTE": "STATE_VALUE"
         }
      },
      "test":{
         "id":"Shadow_Publish_Reported_State",
         "version":"0.0.0"
      }
   }
]
```
`REPORTED_STATE`는 연결 후 디바이스의 정확한 섀도우 상태에 대한 추가 검증을 위해 제공될 수 있습니다. 기본적으로 이 테스트 케이스는 디바이스 게시 상태의 유효성을 검사합니다.  
`SHADOW_NAME`이 제공되지 않으면 테스트 케이스는 기본적으로 명명되지 않은(클래식) 섀도우 유형의 주제 접두사에 게시된 메시지를 찾습니다. 디바이스에서 명명된 섀도우 유형을 사용하는 경우 섀도우 이름을 제공합니다. 자세한 내용은 [디바이스에서 섀도우 사용](https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-comms-device.html) 섹션을 참조하세요.

## 업데이트
<a name="update"></a>

***'디바이스가 보고된 상태를 원하는 상태로 업데이트합니다(해피 케이스)'***  
디바이스가 수신된 모든 업데이트 메시지를 읽고 디바이스의 상태를 원하는 상태 속성과 일치하도록 동기화하는지 확인합니다. 동기화 후 디바이스에서 최신 보고된 상태를 게시해야 합니다. 테스트를 실행하기 전에 디바이스에 이미 기존 섀도우가 있는 경우 테스트 케이스에 대해 구성된 원하는 상태와 기존 보고된 상태가 아직 일치하지 않는지 확인합니다. 섀도우 문서에서 **ClientToken** 필드가 `DeviceAdvisorShadowTestCaseSetup`일 것이므로 이 필드를 확인하여 Device Advisor가 보낸 섀도우 업데이트 메시지를 식별할 수 있습니다.  
*API 테스트 케이스 정의:*  
`EXECUTION_TIMEOUT`의 기본값은 5분입니다. 제한 시간 값을 2분으로 설정하는 것을 권장합니다.

```
"tests":[
   {
      "name":"my_shadow_update_reported_state",
      "configuration": {
         "DESIRED_STATE": {
            "STATE_ATTRIBUTE": "STATE_VALUE"
         },
         // optional:
         "EXECUTION_TIMEOUT":"300", // in seconds
         "SHADOW_NAME": "SHADOW_NAME"
      },
      "test":{
         "id":"Shadow_Update_Reported_State",
         "version":"0.0.0"
      }
   }
]
```
`DESIRED_STATE`에는 적어도 속성 하나와 관련 값이 있어야 합니다.  
`SHADOW_NAME`이 제공되지 않으면 테스트 케이스는 기본적으로 명명되지 않은(클래식) 섀도우 유형의 주제 접두사에 게시된 메시지를 찾습니다. 디바이스에서 명명된 섀도우 유형을 사용하는 경우 섀도우 이름을 제공합니다. 자세한 내용은 [디바이스에서 섀도우 사용](https://docs.aws.amazon.com/iot/latest/developerguide/device-shadow-comms-device.html) 섹션을 참조하세요.