AWS Device Farm에 사용되는 제한 - AWS Device Farm

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

AWS Device Farm에 사용되는 제한

서비스 한도

  • 테스트 실행에 포함할 수 있는 디바이스 수에는 제한이 없습니다. 그러나 테스트 실행 중 Device Farm이 동시에 테스트할 최대 디바이스 수는 5개입니다. 이 수는 요청 시 증가하며 서비스 팀이 사례별로 평가할 수 있습니다.

  • 예약할 수 있는 실행 수에는 제한이 없습니다. 최대 24시간 동안만 대기열에 남아 있을 수 있습니다.

  • 원격 액세스 세션의 기간 하드 제한은 150분입니다.

  • 자동 테스트 실행의 기간 하드 제한은 150분입니다.

  • 계정 전체에서 대기 중인 작업을 포함하여 진행 중인 작업의 최대 수는 250개입니다. 이것은 소프트 제한입니다.

  • 테스트 실행에 포함할 수 있는 디바이스 수에는 제한이 없습니다. 언제든지 병렬로 테스트를 실행할 수 있는 디바이스(작업)의 수는 계정 수준의 동시성과 동일합니다. Device Farm에서 제한 사용에 대한 기본 계정 수준 동시성은 5입니다.

  • 요청 시 측정된 동시성 한도는 사용 사례에 따라 특정 임계값까지 증가할 수 있습니다. 무제한 사용에 대한 기본 계정 수준 동시성은 해당 플랫폼에서 구독하는 슬롯 수와 동일합니다.

    일반적으로 기본 측정된 동시성 한도 또는 할당량에 대한 자세한 내용은 할당량 페이지를 참조하세요.

  • 사용자 지정 테스트 환경을 사용하지 않는 자동화 실행에는 최대 250개의 개별 테스트 사례만 포함될 수 있습니다. 그렇지 않으면 실행을 건너뛸 수 있습니다.

파일 제한

  • 업로드할 수 있는 앱의 최대 파일 크기는 4GB입니다. Android용 .aab 형식 파일은 현재 허용되지 않습니다.

  • 테스트 실행 중에 Device Farm에서 자동으로 생성된 비디오의 최대 크기는 1GB입니다. 이 크기를 초과하는 모든 비디오의 경우 나머지 모든 비디오 콘텐츠가 잘립니다. 고객은 여전히 자체 비디오 레코딩 솔루션이 있는 경우 이를 사용하고 Device Farm의 관리형 스토리지 외부에 저장할 수 있습니다.

  • 테스트 실행 중 Device Farm에서 자동으로 생성된 디바이스 로그(Android의 경우 logcat 또는 iOS의 경우 syslog)의 최대 크기는 1GB입니다. 이 크기를 초과하는 모든 로그의 경우 나머지 모든 로그가 잘립니다. 1GB보다 큰 로그의 경우 고객은 이러한 로그를 Device Farm의 관리형 스토리지 외부에 저장할 수 있습니다.

  • Device Farm의 사용자 지정 환경 모드 고객 아티팩트의 최대 누적 크기는 1GB입니다. 아티팩트가 이 크기를 초과하면 아티팩트를 사용할 수 없습니다.

  • 테스트 실행 중에 생성된 모든 아티팩트의 누적 크기가 4GB를 초과하는 경우 일부 아티팩트(비디오, 디바이스 로그 및 고객 아티팩트 포함)가 삭제될 수 있습니다.

API 제한

  • Device Farm은 토큰 버킷 알고리즘을 따라 API 직접 호출 속도를 제한합니다. 예를 들어 토큰이 포함된 버킷을 생성한다고 가정해 보겠습니다. 각 토큰은 하나의 트랜잭션을 나타내며, 하나의 API 직접 호출은 토큰을 사용합니다. 토큰은 고정된 속도(예: 초당 토큰 10개)로 버킷에 추가되며 버킷은 최대 용량(예: 토큰 100개)을 갖습니다. 요청 또는 패킷이 도착하면 처리할 버킷에서 토큰을 요청해야 합니다. 토큰이 충분하면 요청이 허용되고 토큰이 제거됩니다. 토큰이 충분하지 않으면 구현에 따라 요청이 지연되거나 삭제됩니다.

    Device Farm에서 알고리즘이 구현되는 방법은 다음과 같습니다.

    • 버스트 API 요청은 서비스가 지정된 고객 계정 ID의 지정된 API에 대해 응답할 수 있는 최대 요청 수입니다. 즉, 버킷의 용량입니다. 버킷에 남아 있는 토큰 수만큼 API를 직접 호출할 수 있으며, 각 요청은 토큰 하나를 사용합니다.

    • 초당 트랜잭션(TPS) 속도는 API 요청을 실행할 수 있는 최소 속도입니다. 즉, 버킷이 초당 토큰으로 리필되는 속도입니다. 예를 들어 API의 버스트 수가 10이지만 TPS가 1인 경우 즉시 10회 직접 호출할 수 있습니다. 그러나 버킷은 초당 토큰 1개의 속도로만 토큰을 다시 획득하므로 버킷을 다시 채우기 위해 API 직접 호출을 중지하지 않는 한 초당 직접 호출 1개로 제한됩니다.

Device Farm API 속도는 다음과 같습니다.

  • 나열 및 가져오기 API의 경우 버스트 API 요청 용량은 50이고 초당 트랜잭션(TPS) 속도는 10입니다.

  • 다른 모든 API의 경우 버스트 API 요청 용량은 10이고 초당 트랜잭션(TPS) 속도는 1입니다.

Appium 엔드포인트 제한

다음 제한은 모든 Appium 엔드포인트 세션에 적용됩니다. 한도를 가장 잘 처리하는 방법에 대한 질문과 지침은 지원 사례를 개설하세요.

  • 모든 Appium 명령의 실행 기간 제한은 4분이며, 그 이후에는 명령 시간이 초과됩니다.

  • 엔드포인트는 최대 20MB의 입력 페이로드 크기를 허용하고 최대 20MB의 출력 페이로드 크기를 허용합니다. 이보다 입력 또는 출력 크기가 큰 요청은 WebDriver 오류가 발생합니다'unsupported operation'.

  • 요청은 수신된 순서대로 디바이스에서 순차적으로 실행됩니다. 따라서 명령을 순차적으로 전송하고 새 명령을 전송하기 전에 각 명령의 응답을 기다리는 것이 좋습니다. 즉, 특정 Appium 서버 명령, 특히 다음을 병렬로 전송할 수 있습니다.

  • 엔드포인트는 현재 WebDriver BiDi 프로토콜을 지원하지 않습니다.

  • 엔드포인트는 Appium 플러그인 또는 XCUITest 및 UIAutomator2 드라이버 이외의 드라이버를 지원하지 않습니다.

  • 원격 액세스 세션 생성 요청을 통해 최대 3개의 앱을 보조 앱으로 사용할 수 있습니다. 즉, InstallToRemoteAccessSession API를 사용하여 세션 중에 설치할 수 있는 앱 수에는 제한이 없습니다.

사용자 지정 환경 변수 제한

다음 제한은 모든 사용자 지정 환경 변수에 적용됩니다. 한도를 가장 잘 처리하는 방법에 대한 질문과 지침은 지원 사례를 개설하세요.

  • 지정된 Device Farm 프로젝트 또는 실행에서 최대 32개의 변수를 구성할 수 있습니다.

  • 변수 이름은 256자를 초과할 수 없습니다.

  • 변수 이름에는에서 부과하는 제한이 적용됩니다bash. 즉, 영숫자와 밑줄만 포함해야 하며 숫자로 시작할 수 없습니다.

  • 로 시작하는 변수 이름은 내부 서비스용으로 예약$DEVICEFARM_되어 있습니다.

  • 변수 값의 길이는 256자를 초과할 수 없습니다.

  • 환경 변수는 테스트 사양 파일에서 테스트 호스트 컴퓨팅 선택을 구성하는 데 사용할 수 없습니다.