Amazon Device Farm 으로 테스트 정해진 시간 자동 실행이 가능할까? (with AWS CLI)

Q·2025년 5월 6일

Test Automation

목록 보기
2/2

AWS CLI 로 테스트 실행

: AWS 콘솔로 Device Farm을 실행하던 중, CLI 등으로 매일(혹은 매주..) 테스트를 자동 실행하도록 예약하면 효과적일 것 같아 해당 방법을 찾아보게 됐습니다. 우선 AWS CLI로 테스트를 실행해보았습니다.

1. AWS CLI 설치

: 공식 페이지 를 참고하여 AWS CLI 설치합니다.

$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /

2. AWS Console 에서 IAM 액세스 키 생성 후 자격증명

: AWS Console ➔ IAM ➔ 사용자 ➔ DeviceFarm 페이지(링크) 에서 Device Farm 접근 권한이 있는 IAM 액세스 키를 생성합니다.
이때, 비밀 액세스 키는 생성 시에만 확인할 수 있으니 적어둡니다.

3. AWS CLI 자격증명

: 아래 명령어로 AWS CLI 액세스 키/비밀 액세스 키를 등록합니다.
등록 내역은 ~/.aws/credentials 파일에서 확인할 수 있습니다.

$ aws configure 
AWS Access Key ID [None]: {액세스 키}
AWS Secret Access Key [None]: {비밀 액세스 키}
Default region name [None]: us-west-2
Default output format [None]:

4. AWS CLI로 Device Farm 테스트 실행

AWS CLI로 Device Farm의 테스트를 실행하는 방법은 공식 페이지에 자세하게 나와 있습니다. (공식 페이지)

위의 공식 페이지 안내사항을 따라서 실행 후 마지막 실행 상태를 확인(aws devicefarm get-run --arn ARN)하면 아래와 같이 테스트 결과를 확인할 수 있습니다.
아래 상태는 테스트 150 중 150개를 모두 실행(100개 pass, 50개 fail) 후 완료되기 직전 상태입니다.




AWS CLI로 실행 시작 시간 예약

: 이렇게 AWS CLI로 테스트를 실행하다 보면, 실행 시작 시간을 예약해서 쉽게 테스트를 실행할 수 는 없을까? 하는 생각이 듭니다. 특히나, 테스트 실행 명령어가 schedule-run 이고, 공식 페이지에도 6단계: 테스트 실행 예약 으로 나와 있어, 실행 시작 시간 예약이 당연히 되지 않을까? 하는 생각이 듭니다.
하지만...


  1. 아래 AWS CLI/API의 테스트 실행 명령어/API 공식 문서를 확인하면, 별도의 실행 시작 시각 예약 지정은 할 수 없습니다.
  1. Device Farm 명령어에서 별도의 실행 예약이 불가능하므로, 정해진 시각에 테스트를 실행하기 위해서는 서버에 배치를 등록하여 실행해야 합니다.
    API를 주기적으로 실행하도록 설정하거나(Postman 등으로 실행) Cron 명령어로 위의 AWS CLI 명령어를 실행하도록 하는 것입니다. (크론 명령어로 배치 등록은 생략하도록 하겠습니다. 관련 사항은 구글 등에서 cron batch 로 검색하면 쉽게 접근할 수 있을 겁니다.)

0개의 댓글