기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Device Farm을 Gradle 빌드 시스템과 통합
Device Farm Gradle 플러그인은 Android Studio의 Gradle 빌드 시스템과 AWS Device Farm 통합을 제공합니다. 자세한 내용은 Gradle
참고
Gradle 플러그인을 다운로드하려면 로 이동하여의 지침을 GitHub
Device Farm Gradle 플러그인은 Android Studio 환경에서 Device Farm이 기능하도록 합니다. Device Farm이 호스팅하는 테스트를 실제 Android 휴대폰 및 태블릿에서 시작할 수 있습니다.
이 단원은 Device Farm Gradle 플러그인을 설정하고 사용하는 여러 절차를 포함합니다.
주제
의존성
런타임
-
Device Farm Gradle 플러그인에는 AWS Mobile SDK 1.10.15 이상이 필요합니다. 자세한 내용과 설치 방법은 AWS 모바일 단원SDK
을 SDK참조하십시오. -
Android tools builder test api 0.5.2
-
Apache Commons Lang3 3.3.4
유닛 테스트의 경우
-
Testng 6.8.8
-
Jmocit 1.19
-
Android Gradle Tools 1.3.0
1단계: AWS Device Farm Gradle 플러그인 구축
이 플러그인은 Android Studio의 Gradle 빌드 시스템과 AWS Device Farm 통합을 제공합니다. 자세한 내용은 Gradle
참고
플러그인 구축은 선택 사항입니다. 플러그인은 Maven Central에 게시됩니다. Gradle에서 직접 플러그인을 다운로드하려면 이 단계를 건너뛰고 2단계: AWS Device Farm Gradle 플러그인 설정로 이동하세요.
플러그인 구축
로 이동하여 리포지토리를 GitHub
복제합니다. gradle install
을 사용하여 플러그인을 구축하세요.플러그인은 로컬 Maven 리포지토리에 설치됩니다.
다음 단계: 2단계: AWS Device Farm Gradle 플러그인 설정
2단계: AWS Device Farm Gradle 플러그인 설정
아직 리포지토리를 복제하고 플러그인을 설치하지 않았다면 Device Farm Gradle 플러그인 구축 절차를 따르세요.
AWS Device Farm Gradle 플러그인을 구성하려면
-
build.gradle
의 종속성 목록에 플러그인 아티팩트를 추가하세요.buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.amazonaws:aws-devicefarm-gradle-plugin:1.0' } }
-
build.gradle
파일에 플러그인을 구성하세요. 다음에 제시되는 테스트별 구성이 안내서 역할을 합니다.apply plugin: 'devicefarm' devicefarm { // Required. The project must already exist. You can create a project in the AWS Device Farm console. projectName "My Project" // required: Must already exist. // Optional. Defaults to "Top Devices" // devicePool "My Device Pool Name" // Optional. Default is 150 minutes // executionTimeoutMinutes 150 // Optional. Set to "off" if you want to disable device video recording during a run. Default is "on" // videoRecording "on" // Optional. Set to "off" if you want to disable device performance monitoring during a run. Default is "on" // performanceMonitoring "on" // Optional. Add this if you have a subscription and want to use your unmetered slots // useUnmeteredDevices() // Required. You must specify either accessKey and secretKey OR roleArn. roleArn takes precedence. authentication { accessKey "AKIAIOSFODNN7EXAMPLE" secretKey "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" // OR roleArn "arn:aws:iam::111122223333:role/DeviceFarmRole" } // Optionally, you can // - enable or disable Wi-Fi, Bluetooth, GPS, NFC radios // - set the GPS coordinates // - specify files and applications that must be on the device when your test runs devicestate { // Extra files to include on the device. // extraDataZipFile file("path/to/zip") // Other applications that must be installed in addition to yours. // auxiliaryApps files(file("path/to/app"), file("path/to/app2")) // By default, Wi-Fi, Bluetooth, GPS, and NFC are turned on. // wifi "off" // bluetooth "off" // gps "off" // nfc "off" // You can specify GPS location. By default, this location is 47.6204, -122.3491 // latitude 44.97005 // longitude -93.28872 } // By default, the Instrumentation test is used. // If you want to use a different test type, configure it here. // You can set only one test type (for example, Calabash, Fuzz, and so on) // Fuzz // fuzz { } // Calabash // calabash { tests file("path-to-features.zip") } }
-
gradle devicefarmUpload
의 태스크를 사용하여 Device Farm 테스트를 실행하세요.빌드 출력은 테스트 실행 모니터링이 가능한 Device Farm 콘솔로의 링크를 출력합니다.
다음 단계: Device Farm Gradle 플러그인에서 IAM 사용자 생성
3단계: Device Farm Gradle 플러그인에서 IAM 사용자 생성
AWS Identity and Access Management (IAM)는 AWS 리소스 작업에 대한 권한 및 정책을 관리하는 데 도움이 됩니다. 이 주제에서는 AWS Device Farm 리소스에 액세스할 수 있는 권한이 있는 IAM 사용자를 생성하는 방법을 안내합니다.
아직 수행하지 않은 경우 IAM 사용자를 생성하기 전에 1단계와 2단계를 완료하세요.
AWS 루트 계정을 사용하여 Device Farm에 액세스하지 않는 것이 좋습니다. 대신 계정에 새 IAM 사용자를 생성한(또는 기존 IAM 사용자를 사용한) 다음 해당 IAM 사용자로 Device Farm에 액세스합니다 AWS .
참고
다음 단계를 완료하는 데 사용하는 AWS 루트 계정 또는 IAM 사용자는 다음 IAM 정책을 생성하고 IAM 사용자에게 연결할 권한이 있어야 합니다. 자세한 내용은 정책 작업을 참조하세요.
에서 적절한 액세스 정책을 사용하여 새 사용자를 생성하려면 IAM
IAM에서 https://console.aws.amazon.com/iam/
콘솔을 엽니다. 사용자를 선택하세요.
-
새 사용자 생성을 선택하세요.
-
선택한 사용자 이름을 입력하세요.
예:
GradleUser
. -
생성을 선택하세요.
-
자격 증명 다운로드를 선택하고 나중에 쉽게 찾을 수 있는 위치에 저장하세요.
-
닫기를 선택하세요.
-
목록에서 사용자 이름을 선택하세요.
-
권한에서 오른쪽의 아래쪽 화살표를 선택하여 인라인 정책 헤더를 펼치세요.
-
표시할 인라인 정책이 없습니다가 표시된 여기를 클릭을 선택하세요. 생성하려면 여기를 클릭하세요.
-
권한 설정 화면에서 사용자 지정 정책을 선택하세요.
-
선택을 선택하세요.
-
정책에 이름을 지정하세요(예시:
AWSDeviceFarmGradlePolicy
). -
정책 문서에 다음 정책을 붙여 넣으세요.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeviceFarmAll", "Effect": "Allow", "Action": [ "devicefarm:*" ], "Resource": [ "*" ] } ] }
정책 적용을 선택하세요.
다음 단계: 테스트 유형 구성
자세한 내용은 IAM 사용자 생성(AWS Management Console) 또는 단원을 참조하십시오설정.
4단계: 테스트 유형 구성
기본적으로 AWS Device Farm Gradle 플러그인은 Android 및 AWS Device Farm용 계측 테스트를 실행합니다. 자체 테스트를 실행하거나 추가 파라미터를 지정하는 경우 테스트 유형을 구성할 수 있습니다. 여기에서는 사용 가능한 각 테스트 유형과 구성을 위해 Android Studio에서 수행해야 작업을 설명합니다. Device Farm에서 사용할 수 있는 테스트 유형에 대한 자세한 내용은 AWS Device Farm에서 프레임워크 및 내장 테스트 테스트 단원을 참조하세요.
테스트 유형을 구성하기 전이라면 먼저 1~3단계를 완료하세요.
참고
디바이스 슬롯을 사용하는 경우 해당 기능은 기본적으로 비활성화 상태입니다.
Appium
Device Farm은 Appium Java JUnit 및 Android용 TestNG를 지원합니다.
useTestNG()
또는 useJUnit()
을 선택할 수 있습니다. 기본값은 JUnit
이며 명시적으로 지정할 필요는 없습니다.
appium { tests file("path to zip file") // required useTestNG() // or useJUnit() }
내장: fuzz
Device Farm은 장치에 임의로 사용자 인터페이스 이벤트를 전송하고 결과를 보고하는 내장 fuzz 테스트 유형을 제공합니다.
fuzz { eventThrottle 50 // optional default eventCount 6000 // optional default randomizerSeed 1234 // optional default blank }
자세한 내용은 Device Farm의 내장 fuzz 테스트 실행(Android 및 iOS) 단원을 참조하십시오.
계측
Device Farm은 Android용 계측(JUnit, Espresso, Robotium 또는 계측 기반 테스트)을 지원합니다. 자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.
Gradle에서 계측 테스트를 실행할 때 Device Farm은 androidTest 디렉터리에서 생성된 .apk
파일을 테스트의 소스로 사용합니다.
instrumentation { filter "test filter per developer docs" // optional }