AWS Device Farm - AWS CodePipeline

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

AWS Device Farm

파이프라인에서 디바이스에서 애플리케이션을 실행하고 테스트하기 위해 AWS Device Farm를 사용하는 테스트 작업을 구성할 수 있습니다. Device Farm은 디바이스의 테스트 풀과 테스트 프레임워크를 사용하여 특정 디바이스에서 애플리케이션을 테스트합니다. Device Farm 작업에서 지원하는 테스트 프레임워크 유형에 대한 자세한 내용은 AWS Device Farm에서 테스트 유형을 사용한 작업을 참조하세요.

작업 유형

  • 범주: Test

  • 소유자: AWS

  • 공급자: DeviceFarm

  • 버전: 1

구성 파라미터

AppType

필수 항목 여부: 예

테스트 중인 애플리케이션의 OS 및 유형입니다. 유효한 값 목록은 다음과 같습니다.

  • iOS

  • Android

  • Web

ProjectId

필수 항목 여부: 예

Device Farm 프로젝트 ID입니다.

프로젝트 ID를 찾으려면 Device Farm 콘솔에서 프로젝트를 선택합니다. 브라우저에서 새 프로젝트의 URL을 복사합니다. URL에 프로젝트 ID가 포함되어 있습니다. 프로젝트 ID는 projects/ 뒤에 있는 URL의 값입니다. 다음 예제에서 프로젝트 ID는 eec4905f-98f8-40aa-9afc-4c1cfexample입니다.

https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs

필수 항목 여부: 예

입력 아티팩트에 있는 애플리케이션 파일의 이름과 위치입니다. 예: s3-ios-test-1.ipa

TestSpec

조건부: 예

입력 아티팩트에 있는 테스트 사양 정의 파일의 위치입니다. 이는 사용자 정의 모드 테스트에 필요합니다.

DevicePoolArn

필수 항목 여부: 예

Device Farm 디바이스 풀 ARN.

상위 디바이스용 ARN을 포함하여 프로젝트에 사용 가능한 디바이스 풀 ARN을 가져오려면 AWS CLI를 사용하여 다음 명령을 입력합니다.

aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
TestType

필수 항목 여부: 예

테스트에 지원되는 테스트 프레임워크를 지정합니다. TestType의 유효한 값 목록은 다음과 같습니다.

  • APPIUM_JAVA_JUNIT

  • APPIUM_JAVA_TESTNG

  • APPIUM_NODE

  • APPIUM_RUBY

  • APPIUM_PYTHON

  • APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • APPIUM_WEB_NODE

  • APPIUM_WEB_RUBY

  • APPIUM_WEB_PYTHON

  • BUILTIN_FUZZ

  • INSTRUMENTATION

  • XCTEST

  • XCTEST_UI

참고

CodePipeline의 작업에서 지원되지 않는 테스트 유형은 WEB_PERFORMANCE_PROFILE, REMOTE_ACCESS_RECORDREMOTE_ACCESS_REPLAY입니다.

Device Farm 테스트 유형에 대한 자세한 내용은 AWS Device Farm에서 테스트 유형을 사용한 작업을 참조하세요.

RadioBluetoothEnabled

필수 항목 여부: 아니요

테스트 시작 시 Bluetooth를 활성화할지 여부를 나타내는 부울 값입니다.

RecordAppPerformanceData

필수 항목 여부: 아니요

테스트 중에 CPU, FPS, 메모리 성능과 같은 기기 성능 데이터를 기록할지 여부를 나타내는 부울 값입니다.

RecordVideo

필수 항목 여부: 아니요

테스트 중에 비디오를 녹화할지 여부를 나타내는 부울 값입니다.

RadioWifiEnabled

필수 항목 여부: 아니요

테스트 시작 시 Wi-Fi를 활성화할지 여부를 나타내는 부울 값입니다.

RadioNfcEnabled

필수 항목 여부: 아니요

테스트 시작 시 NFC를 활성화할지 여부를 나타내는 부울 값입니다.

RadioGpsEnabled

필수 항목 여부: 아니요

테스트 시작 시 GPS를 활성화할지 여부를 나타내는 부울 값입니다.

테스트

필수 항목 여부: 아니요

소스 위치에 있는 테스트 정의 파일의 이름 및 경로입니다. 경로는 테스트용 입력 아티팩트의 루트와 상대적입니다.

FuzzEventCount

필수 항목 여부: 아니요

fuzz 테스트가 수행할 사용자 인터페이스 이벤트 수로, 1에서 10,000 사이입니다.

FuzzEventThrottle

필수 항목 여부: 아니요

다음 사용자 인터페이스 이벤트를 수행하기 전에 fuzz 테스트가 대기할 시간을 밀리초 단위로 나타내는 숫자로, 1에서 1,000 사이입니다.

FuzzRandomizerSeed

필수 항목 여부: 아니요

사용자 인터페이스 이벤트를 무작위화하는 데 사용할 fuzz 테스트의 시드입니다. 후속 fuzz 테스트에 동일한 숫자를 사용하면 동일한 이벤트 시퀀스가 생성됩니다.

CustomHostMachineArtifacts

필수 항목 여부: 아니요

사용자 지정 아티팩트가 저장될 호스트 시스템의 위치입니다.

CustomDeviceArtifacts

필수 항목 여부: 아니요

사용자 지정 아티팩트가 저장될 디바이스의 위치입니다.

UnmeteredDevicesOnly

필수 항목 여부: 아니요

이 단계에서 테스트를 실행할 때 무제한 디바이스만 사용할지 여부를 나타내는 부울 값입니다.

JobTimeoutMinutes

필수 항목 여부: 아니요

시간 초과되기 전에 디바이스당 테스트 실행이 실행되는 시간(분)입니다.

Latitude

필수 항목 여부: 아니요

지리 좌표계 각도로 표시되는 디바이스의 위도입니다.

Longitude

필수 항목 여부: 아니요

지리 좌표계 각도로 표시되는 디바이스의 경도입니다.

입력 아티팩트

  • 아티팩트 수: 1

  • 설명: 테스트 작업에서 사용할 수 있도록 할 아티팩트 세트입니다. Device Farm은 사용할 빌드된 애플리케이션과 테스트 정의를 찾습니다.

출력 아티팩트

  • 아티팩트 수: 0

  • 설명: 이 작업 유형에는 출력 아티팩트가 적용되지 않습니다.

작업 선언

YAML
Name: Test Actions: - Name: TestDeviceFarm ActionTypeId: null category: Test owner: AWS provider: DeviceFarm version: '1' RunOrder: 1 Configuration: App: s3-ios-test-1.ipa AppType: iOS DevicePoolArn: >- arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5 ProjectId: eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE TestType: APPIUM_PYTHON TestSpec: example-spec.yml OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2
JSON
{ "Name": "Test", "Actions": [ { "Name": "TestDeviceFarm", "ActionTypeId": null, "category": "Test", "owner": "AWS", "provider": "DeviceFarm", "version": "1" } ], "RunOrder": 1, "Configuration": { "App": "s3-ios-test-1.ipa", "AppType": "iOS", "DevicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5", "ProjectId": "eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE", "TestType": "APPIUM_PYTHON", "TestSpec": "example-spec.yml" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2" },

이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.