스마트 홈 작업을 개발하는 방법을 알아볼 수 있는 새로운 공간인 Google Home 개발자 센터에 오신 것을 환영합니다. 참고: Actions 콘솔에서 작업을 계속 만들 수 있습니다.

Google Home 테스트 도구 모음

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Google Home Test Suite is a web application that allows you to self-test your smart home Action. The Test Suite automatically generates and runs test cases based on the devices and traits associated with your account. When you complete the tests, you can view the test results or fill in the submission form to submit the test results to Google.

Test Suite에서 실행하는 테스트에는 다음이 포함되지만 이에 국한되지 않습니다.

  • 기기 및 특성에 보고서 상태요청 동기화가 구현되었는지 확인합니다.

  • 기기에 QUERY 인텐트가 구현되고 결과가 보고서 상태 결과와 일치하는지 확인합니다.

아래 버튼을 클릭하여 Test Suite 도구를 실행할 수 있습니다.

출시 Test Suite

작업 자체 테스트

다음 섹션에서는 기기 및 스마트 홈 작업 프로젝트에서 Test Suite를 실행하는 방법을 설명합니다. Test Suite에서 Google Home Graph and send commands directly to Google Assistant .의 기기를 검사할 수 있도록 로그인해야 합니다.

작업을 자체 테스트하려면 다음 단계를 따르세요.

  1. 웹브라우저에서 Test Suite을 엽니다.
  2. 오른쪽 상단 버튼을 사용하여 Google에 로그인합니다.

  3. 프로젝트 세부정보를 구성합니다.

    1. 프로젝트 ID 필드에 스마트 홈 작업의 프로젝트 식별자를 입력합니다.
    2. 다음을 클릭합니다.
  4. 테스트 설정을 구성합니다.

    1. 스마트 홈 작업을 인증하는 경우 기본 보고서 상태/요청 동기화 시간 제한 값을 변경하지 않고 그대로 둡니다. 그러나 에이전트가 홈 그래프에 상태를 보고하는 데 시간이 더 오래 걸리면 테스트의 제한 시간 값을 변경할 수 있습니다.
    2. 스마트 홈 작업을 인증하는 경우 테스트 요청 동기화 옵션이 사용 설정되어 있는지 확인합니다. 테스트하는 동안 기기를 추가, 업데이트 또는 삭제하고 홈 그래프에서 기기 목록이 변경되었는지 확인하라는 메시지가 표시됩니다. 변경 작업은 테스트 중인 통합을 통해 실행됩니다. 테스트 중인 통합에는 항상 에이전트 사용자에게 연결된 기기가 하나 이상 있어야 합니다.

    3. 장면 특성을 사용하는 경우 장면 특성 테스트를 선택합니다.

    4. 로컬 홈 기기의 테스트 모음을 실행하는 경우 Supports Local Home SDK를 선택합니다.

      1. Local Fulfillment 또는 Seamless Setup을 선택합니다.
      2. 기기에서 QUERY 인텐트를 로컬에서 처리할 수 있는 경우 로컬 쿼리 지원을 클릭합니다.
  5. 테스트 실행을 실행하고 결과를 확인합니다.

    1. 다음을 클릭하여 테스트 실행을 시작합니다. 인터페이스에 테스트 중인 기기와 특성이 표시됩니다.
  6. 결과 및 제출 페이지를 확인합니다.

    1. 테스트가 완료되면 다음을 클릭하여 결과를 확인합니다.

테스트 결과에는 통과 및 실패한 테스트의 수와 통과율을 나타내는 최종 점수가 포함됩니다.

계정 연결 확인 테스트

계정 연결은 Google 스마트 홈 생태계에서 중요한 역할을 합니다. Test Suite의 계정 연결 검사 테스트는 OAuth 서비스에 잠재적인 문제가 있는지 확인합니다.

계정 연결 유효성 검사 테스트에는 액세스 토큰갱신 토큰의 유효성을 검사하는 테스트가 포함됩니다.

액세스 토큰 유효성 검사 테스트

토큰 교환 엔드포인트에서 반환된 액세스 토큰은 유효한 형식이고 유효한 갱신 토큰으로 반환되는지 테스트합니다.

테스트 항목 설명
액세스 토큰이 JWT 형식인지 확인 Google 계정 연결에서는 JWT 형식 액세스 토큰을 권장하지 않습니다. JWT 형식이 발견되면 The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token. 경고가 표시됩니다.
만료 가능한 액세스 토큰에 갱신 토큰이 있는지 확인하세요. 액세스 토큰이 만료될 때 갱신 토큰을 제공해야 합니다. 갱신 토큰을 찾을 수 없으면 이 테스트가 실패합니다.

갱신 토큰 유효성 검사 테스트

갱신 토큰 테스트를 통해 토큰 교환 엔드포인트가 새 액세스 토큰으로 올바르게 교환되는지 확인합니다.

테스트 항목 설명
갱신 토큰이 잘못된 갱신 토큰으로 파트너 응답을 확인하고 있습니다. 서버에서 {"error": "invalid_grant"}가 포함된 HTTP 400 잘못된 요청 오류를 잘못된 갱신 토큰 요청에 반환해야 합니다. 응답이 '오류 코드 또는 메시지'와 일치하지 않으면 이 테스트 사례가 실패합니다. 자세한 내용은 갱신 토큰에 대한 액세스 토큰을 참조하세요.
토큰 새로고침 후 액세스 토큰이 업데이트되었는지 테스트합니다. 갱신 토큰 요청에 대한 응답으로 새 액세스 토큰을 반환해야 합니다. 서버가 동일한 액세스 토큰을 제공하면 테스트 사례가 실패합니다.
만료되지 않은 액세스 토큰이 아직 유효한지 확인합니다. 액세스 토큰 만료 시간이 표시됩니다.
갱신 중에 갱신 토큰이 순환되었는지 확인합니다. 갱신 토큰이 요청된 후 갱신 토큰이 변경되었는지 확인합니다. 갱신 토큰이 변경되면 서버는 새 갱신 토큰을 사용한 후에만 이전 갱신 토큰을 무효화해야 합니다. 그래야 사용자의 계정 연결이 해제될 수 있는 경합 상태가 방지되기 때문입니다. 새 토큰이 사용되기 전에 이전 갱신 토큰을 무효화하면 테스트가 실패합니다.

오류 메시지

다음 표에는 몇 가지 일반적인 오류 메시지와 이를 해결하기 위한 권장 방법이 나와 있습니다.

오류 메시지 해결 방법
이전에 Project <_id_> 프로젝트에서 사용한 적이 없거나 사용 중지했습니다. HomeGraph API를 사용 설정했는지 확인합니다.
요청된 항목을 찾을 수 없음 agentUserId가 유효하고 서비스에 연결되어 있는지 확인하세요.
${your project id} 프로젝트에 대한 resourcemanager.projects.get 권한이 있고 동의 화면의 모든 권한을 부여했는지 확인하세요.
  1. IAM 권한 문제 해결의 안내에 따라 계정에 프로젝트에 대한 resourcemanager.projects.get 권한이 있는지 확인합니다.
  2. 내 계정에 액세스할 수 있는 앱 페이지로 이동하여 '스마트 홈용 테스트 모음'에 관한 다음 권한을 확인합니다.
    • 기본 계정 정보
      1. 기본 Google 계정 이메일 주소를 확인하세요
      2. 내가 공개한 개인 정보를 포함한 개인 정보 보기
    • 추가 액세스
      1. Assistant 사용: Google 계정에 대한 광범위한 액세스
      2. Home Graph의 스마트 홈 기기 검사 및 제어
    누락된 사람이 있는 경우 먼저 액세스 권한을 삭제하고 다시 로그인할 때 동의 화면의 모든 권한을 부여하세요.

테스트 결과 제출

인증 양식을 제출하기 전에 Test Suite 결과가 테스트를 100% 통과해야 합니다. 수동 테스트가 필요한 특성이 있더라도 Test Suite 도구를 실행하고 100%로 통과하지 못한 경우에도 결과를 연결해야 합니다.

테스트 결과를 제출하고 스마트 홈 작업을 인증하려면 다음 단계를 따르세요.

  1. 테스트 결과를 받고 스마트 홈 작업을 인증할 준비가 되면 Test Suite 도구에서 제출을 클릭합니다.
  2. 테스트 결과 다운로드 버튼을 클릭하여 테스트 결과를 가져옵니다.
  3. 제출 양식으로 이동을 클릭하여 테스트 결과를 Google에 제출합니다.
  4. 필수 입력란을 모두 작성한 다음 제출을 클릭합니다.