Mengintegrasikan Device Farm dengan sistem build Gradle - AWSDevice Farm

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengintegrasikan Device Farm dengan sistem build Gradle

Plugin Device Farm Gradle menyediakan integrasi AWS Device Farm dengan sistem build Gradle di Android Studio. Untuk informasi selengkapnya, lihat Gradle.

catatan

Untuk mengunduh plugin Gradle, buka GitHubdan ikuti instruksi diMembangun plugin Device Farm Gradle.

Plugin Device Farm Gradle menyediakan fungsionalitas Device Farm dari lingkungan Android Studio Anda. Anda dapat memulai tes di ponsel dan tablet Android nyata yang dihosting oleh Device Farm.

Bagian ini berisi serangkaian prosedur untuk menyiapkan dan menggunakan Plugin Device Farm Gradle.

Dependensi

Runtime

  • Plugin Device Farm Gradle memerlukan AWS Mobile SDK 1.10.15 atau yang lebih baru. Untuk informasi selengkapnya dan untuk menginstalSDK, lihat AWSSeluler SDK.

  • API uji pembuat alat Android 0.5.2

  • Apache Commons Lang3 3.3.4

Untuk Tes Unit

  • Testng 6.8.8

  • Jmockit 1,19

  • Alat gradle Android 1.3.0

Langkah 1: Membangun plugin AWS Device Farm Gradle

Plugin ini menyediakan integrasi AWS Device Farm dengan sistem build Gradle di Android Studio. Untuk informasi selengkapnya, lihat Gradle.

catatan

Membangun plugin adalah opsional. Plugin ini diterbitkan melalui Maven Central. Jika Anda ingin mengizinkan Gradle mengunduh plugin secara langsung, lewati langkah ini dan langsung keLangkah 2: Menyiapkan plugin AWS Device Farm Gradle.

Untuk membangun plugin
  1. Pergi ke GitHubdan kloning repositori.

  2. Membangun plugin menggunakangradle install.

    Plugin diinstal ke repositori maven lokal Anda.

Langkah selanjutnya: Langkah 2: Menyiapkan plugin AWS Device Farm Gradle

Langkah 2: Menyiapkan plugin AWS Device Farm Gradle

Jika Anda belum melakukannya, kloning repositori dan instal plugin menggunakan prosedur di sini:. Membangun plugin Device Farm Gradle

Untuk mengonfigurasi Plugin AWS Device Farm Gradle
  1. Tambahkan artefak plugin ke daftar ketergantungan Anda di. 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' } }
  2. Konfigurasikan plugin di build.gradle file Anda. Konfigurasi khusus pengujian berikut harus berfungsi sebagai panduan Anda:

    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") } }
  3. Jalankan pengujian Device Farm Anda menggunakan tugas berikut:gradle devicefarmUpload.

    Output build akan mencetak link ke konsol Device Farm tempat Anda dapat memantau eksekusi pengujian.

Langkah selanjutnya: Menghasilkan IAM pengguna di plugin Device Farm Gradle

Langkah 3: Menghasilkan IAM pengguna di plugin Device Farm Gradle

AWS Identity and Access Management (IAM) membantu Anda mengelola izin dan kebijakan untuk bekerja dengan AWS sumber daya. Topik ini memandu Anda untuk menghasilkan IAM pengguna dengan izin untuk mengakses sumber daya AWS Device Farm.

Jika Anda belum melakukannya, selesaikan langkah 1 dan 2 sebelum membuat IAM pengguna.

Kami menyarankan Anda untuk tidak menggunakan akun AWS root Anda untuk mengakses Device Farm. Sebagai gantinya, buat IAM pengguna baru (atau gunakan IAM pengguna yang sudah ada) di AWS akun Anda, lalu akses Device Farm dengan IAM pengguna tersebut.

catatan

Akun AWS root atau IAM pengguna yang Anda gunakan untuk menyelesaikan langkah-langkah berikut harus memiliki izin untuk membuat IAM kebijakan berikut dan melampirkannya ke IAM pengguna. Untuk informasi selengkapnya, lihat Bekerja dengan Kebijakan.

Untuk membuat pengguna baru dengan kebijakan akses yang tepat di IAM
  1. Buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Pilih Pengguna.

  3. Pilih Buat Antrean Baru.

  4. Masukkan nama pengguna pilihan Anda.

    Misalnya, GradleUser.

  5. Pilih Buat.

  6. Pilih Unduh Kredensial dan simpan di lokasi di mana Anda dapat dengan mudah mengambilnya nanti.

  7. Pilih Tutup.

  8. Pilih nama pengguna dalam daftar.

  9. Di bawah Izin, perluas header Kebijakan Sebaris dengan mengklik panah bawah di sebelah kanan.

  10. Pilih Klik di sini di mana dikatakan, Tidak ada kebijakan sebaris untuk ditampilkan. Untuk membuatnya, klik di sini.

  11. Pada layar Atur izin, pilih Kebijakan Kustom.

  12. Pilih Pilih.

  13. Beri nama kebijakan Anda, seperti AWSDeviceFarmGradlePolicy.

  14. Tempel kebijakan berikut ke dalam Dokumen Kebijakan.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DeviceFarmAll", "Effect": "Allow", "Action": [ "devicefarm:*" ], "Resource": [ "*" ] } ] }
  15. Pilih Terapkan Kebijakan.

Langkah selanjutnya:Mengkonfigurasi jenis pengujian.

Untuk informasi selengkapnya, lihat Membuat IAM Pengguna (AWS Management Console) atauPengaturan.

Langkah 4: Mengkonfigurasi jenis tes

Secara default, plugin AWS Device Farm Gradle menjalankan Instrumentasi untuk Android dan AWS Device Farm pengujian. Jika Anda ingin menjalankan pengujian Anda sendiri atau menentukan parameter tambahan, Anda dapat memilih untuk mengonfigurasi jenis pengujian. Topik ini memberikan informasi tentang setiap jenis pengujian yang tersedia dan apa yang perlu Anda lakukan di Android Studio untuk mengonfigurasinya agar dapat digunakan. Untuk informasi selengkapnya tentang jenis pengujian yang tersedia di Device Farm, lihatUji kerangka kerja dan pengujian bawaan di AWS Device Farm.

Jika Anda belum melakukannya, selesaikan langkah 1 — 3 sebelum mengonfigurasi jenis pengujian.

catatan

Jika Anda menggunakan slot perangkat, fitur slot perangkat dinonaktifkan secara default.

Appium

Device Farm menyediakan dukungan untuk Appium Java dan JUnit TestNG untuk Android.

Anda dapat memilih useTestNG() atauuseJUnit(). JUnitadalah default dan tidak perlu ditentukan secara eksplisit.

appium { tests file("path to zip file") // required useTestNG() // or useJUnit() }

Bawaan: bulu halus

Device Farm menyediakan tipe uji fuzz bawaan, yang secara acak mengirimkan peristiwa antarmuka pengguna ke perangkat dan kemudian melaporkan hasilnya.

fuzz { eventThrottle 50 // optional default eventCount 6000 // optional default randomizerSeed 1234 // optional default blank }

Untuk informasi selengkapnya, lihat Menjalankan uji fuzz bawaan Device Farm (Android dan iOS).

Instrumentasi

Device Farm menyediakan dukungan untuk instrumentasi (JUnit, Espresso, Robotium, atau pengujian berbasis instrumen apa pun) untuk Android. Untuk informasi selengkapnya, lihat Instrumentasi untuk Android dan AWS Device Farm.

Saat menjalankan pengujian instrumentasi di Gradle, Device Farm menggunakan .apk file yang dihasilkan dari androidTestdirektori sebagai sumber pengujian.

instrumentation { filter "test filter per developer docs" // optional }