Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengintegrasikan tes Appium dengan Device Farm
Gunakan petunjuk berikut untuk mengintegrasikan pengujian Appium dengan AWS Device Farm. Untuk informasi selengkapnya tentang menggunakan pengujian Appium di Device Farm, lihat. Tes Appium dan AWS Device Farm
Konfigurasikan paket pengujian Appium Anda
Gunakan petunjuk berikut untuk mengonfigurasi paket pengujian Anda.
- Java (JUnit)
-
-
Ubah pom.xml
untuk mengatur kemasan ke JAR file:
<groupId>com.acme</groupId>
<artifactId>acme-myApp-appium</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
-
Ubah pom.xml
untuk digunakan maven-jar-plugin
untuk membangun pengujian Anda menjadi JAR file.
Plugin berikut membangun kode sumber pengujian Anda (apa pun di src/test
direktori) ke dalam JAR file:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
-
Ubah pom.xml
untuk digunakan maven-dependency-plugin
untuk membangun dependensi sebagai JAR file.
Plugin berikut menyalin dependensi Anda ke dalam direktori: dependency-jars
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependency-jars/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
-
Simpan XML perakitan berikut kesrc/main/assembly/zip.xml
.
Berikut XML ini adalah definisi perakitan yang, ketika dikonfigurasi, menginstruksikan Maven untuk membuat file.zip yang berisi semua yang ada di root direktori keluaran build Anda dan direktori: dependency-jars
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>zip</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>./</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>./</outputDirectory>
<includes>
<include>/dependency-jars/</include>
</includes>
</fileSet>
</fileSets>
</assembly>
-
Ubah pom.xml
untuk digunakan maven-assembly-plugin
untuk mengemas tes dan semua dependensi menjadi satu file.zip.
Plugin berikut menggunakan rakitan sebelumnya untuk membuat file.zip bernama zip-with-dependencies
di direktori keluaran build setiap kali mvn package dijalankan:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>zip-with-dependencies</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Jika Anda menerima kesalahan yang mengatakan anotasi tidak didukung di 1.3, tambahkan yang berikut ini kepom.xml
:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
- Java (TestNG)
-
-
Ubah pom.xml
untuk mengatur kemasan ke JAR file:
<groupId>com.acme</groupId>
<artifactId>acme-myApp-appium</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
-
Ubah pom.xml
untuk digunakan maven-jar-plugin
untuk membangun pengujian Anda menjadi JAR file.
Plugin berikut membangun kode sumber pengujian Anda (apa pun di src/test
direktori) ke dalam JAR file:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
-
Ubah pom.xml
untuk digunakan maven-dependency-plugin
untuk membangun dependensi sebagai JAR file.
Plugin berikut menyalin dependensi Anda ke dalam direktori: dependency-jars
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependency-jars/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
-
Simpan XML perakitan berikut kesrc/main/assembly/zip.xml
.
Berikut XML ini adalah definisi perakitan yang, ketika dikonfigurasi, menginstruksikan Maven untuk membuat file.zip yang berisi semua yang ada di root direktori keluaran build Anda dan direktori: dependency-jars
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>zip</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>./</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>./</outputDirectory>
<includes>
<include>/dependency-jars/</include>
</includes>
</fileSet>
</fileSets>
</assembly>
-
Ubah pom.xml
untuk digunakan maven-assembly-plugin
untuk mengemas tes dan semua dependensi menjadi satu file.zip.
Plugin berikut menggunakan rakitan sebelumnya untuk membuat file.zip bernama zip-with-dependencies
di direktori keluaran build setiap kali mvn package dijalankan:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>zip-with-dependencies</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Jika Anda menerima kesalahan yang mengatakan anotasi tidak didukung di 1.3, tambahkan yang berikut ini kepom.xml
:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
- Node.JS
-
Untuk mengemas pengujian Appium Node.js dan mengunggahnya ke Device Farm, Anda harus menginstal yang berikut ini di mesin lokal Anda:
-
Verifikasi bahwa nvm ada
command -v nvm
Anda harus melihat nvm
sebagai output.
Untuk informasi lebih lanjut, lihat nvm di. GitHub
-
Jalankan perintah ini untuk menginstal Node.js:
nvm install node
Anda dapat menentukan versi tertentu dari Node.js:
nvm install 11.4.0
-
Verifikasi bahwa versi Node yang benar sedang digunakan:
node -v
-
Instal npm-bundle secara global:
npm install -g npm-bundle
- Python
-
-
Kami sangat menyarankan Anda menyiapkan virtualenv Python untuk mengembangkan dan mengemas pengujian sehingga dependensi yang tidak perlu tidak disertakan dalam paket aplikasi Anda.
$
virtualenv workspace
$
cd workspace
$
source bin/activate
-
Jangan membuat virtualenv Python dengan --system-site-packages
opsi, karena itu mewarisi paket dari direktori paket situs global Anda. Ini dapat mengakibatkan termasuk dependensi di lingkungan virtual Anda yang tidak diperlukan oleh pengujian Anda.
-
Anda juga harus memverifikasi bahwa pengujian Anda tidak menggunakan dependensi yang bergantung pada pustaka asli, karena pustaka asli ini mungkin tidak ada pada instance tempat pengujian ini dijalankan.
-
Instal py.test di lingkungan virtual Anda.
$
pip install pytest
-
Instal klien Appium Python di lingkungan virtual Anda.
$
pip install Appium-Python-Client
-
Kecuali Anda menentukan jalur yang berbeda dalam mode kustom, Device Farm mengharapkan pengujian Anda disimpantests/
. Anda dapat menggunakan find
untuk menampilkan semua file di dalam folder:
$
find tests/
Konfirmasikan bahwa file-file ini berisi rangkaian pengujian yang ingin Anda jalankan di Device Farm
tests/
tests/my-first-tests.py
tests/my-second-tests/py
-
Jalankan perintah ini dari folder ruang kerja lingkungan virtual Anda untuk menampilkan daftar pengujian Anda tanpa menjalankannya.
$
py.test --collect-only tests/
Konfirmasikan bahwa output menunjukkan pengujian yang ingin Anda jalankan di Device Farm.
-
Bersihkan semua file yang di-cache di bawah folder tests/Anda:
$
find . -name '__pycache__' -type d -exec rm -r {} +
$
find . -name '*.pyc' -exec rm -f {} +
$
find . -name '*.pyo' -exec rm -f {} +
$
find . -name '*~' -exec rm -f {} +
-
Jalankan perintah berikut di ruang kerja Anda untuk menghasilkan file requirements.txt:
$
pip freeze > requirements.txt
- Ruby
-
Untuk mengemas tes Appium Ruby Anda dan mengunggahnya ke Device Farm, Anda harus menginstal yang berikut ini di mesin lokal Anda:
-
Manajer Versi Ruby () RVM
Gunakan alat baris perintah ini saat Anda mengembangkan dan mengemas pengujian Anda sehingga dependensi yang tidak perlu tidak disertakan dalam paket pengujian Anda.
-
Ruby
-
Bundler (Permata ini biasanya dipasang dengan Ruby.)
-
Instal kunci yang diperlukan,RVM, dan Ruby. Untuk petunjuk, lihat Menginstal RVM di RVM situs web.
Setelah instalasi selesai, muat ulang terminal Anda dengan keluar dan kemudian masuk lagi.
RVMdimuat sebagai fungsi untuk bash shell saja.
-
Verifikasi bahwa rvm sudah terpasang dengan benar
command -v rvm
Anda harus melihat rvm
sebagai output.
-
Jika Anda ingin menginstal versi Ruby tertentu, seperti 2.5.3
, jalankan perintah berikut:
rvm install ruby 2.5.3 --autolibs=0
Verifikasi bahwa Anda menggunakan versi Ruby yang diminta:
ruby -v
-
Konfigurasikan bundler untuk mengkompilasi paket untuk platform pengujian yang Anda inginkan:
bundle config specific_platform true
-
Perbarui file.lock Anda untuk menambahkan platform yang diperlukan untuk menjalankan pengujian.
-
Jika Anda mengompilasi pengujian untuk dijalankan di perangkat Android, jalankan perintah ini untuk mengonfigurasi Gemfile agar menggunakan dependensi untuk host pengujian Android:
bundle lock --add-platform x86_64-linux
-
Jika Anda mengompilasi pengujian untuk dijalankan di perangkat iOS, jalankan perintah ini untuk mengonfigurasi Gemfile agar menggunakan dependensi untuk host uji iOS:
bundle lock --add-platform x86_64-darwin
-
bundlerPermata biasanya dipasang secara default. Jika tidak, instal:
gem install bundler -v 2.3.26
Buat file paket uji zip
Di Device Farm, struktur folder file dalam paket pengujian zip Anda penting, dan beberapa alat arsip akan mengubah struktur ZIP file Anda secara implisit. Kami menyarankan Anda mengikuti utilitas baris perintah yang ditentukan di bawah ini daripada menggunakan utilitas arsip yang dibangun ke dalam pengelola file desktop lokal Anda (seperti Finder atau Windows Explorer).
Sekarang, bundel pengujian Anda untuk Device Farm.
- Java (JUnit)
-
Bangun dan kemas pengujian Anda:
$ mvn clean package -DskipTests=true
File zip-with-dependencies.zip
akan dibuat sebagai hasilnya. Ini adalah paket tes Anda.
- Java (TestNG)
-
Bangun dan kemas pengujian Anda:
$ mvn clean package -DskipTests=true
File zip-with-dependencies.zip
akan dibuat sebagai hasilnya. Ini adalah paket tes Anda.
- Node.JS
-
-
Periksa proyek Anda.
Pastikan Anda berada di direktori root proyek Anda. Anda dapat package.json
melihat di direktori root.
-
Jalankan perintah ini untuk menginstal dependensi lokal Anda.
npm install
Perintah ini juga membuat node_modules
folder di dalam direktori Anda saat ini.
Pada titik ini, Anda harus dapat menjalankan pengujian Anda secara lokal.
-
Jalankan perintah ini untuk mengemas file di folder Anda saat ini ke dalam file*.tgz. File diberi nama menggunakan name
properti di package.json
file Anda.
npm-bundle
File tarball (.tgz) ini berisi semua kode dan dependensi Anda.
-
Jalankan perintah ini untuk menggabungkan tarball (*.tgz file) yang dihasilkan pada langkah sebelumnya ke dalam satu arsip zip:
zip -r MyTests.zip
*.tgz
Ini adalah MyTests.zip
file yang Anda unggah ke Device Farm dalam prosedur berikut.
- Python
-
- Python 2
-
Buat arsip paket Python yang diperlukan (disebut “wheelhouse”) menggunakan pip:
$
pip wheel --wheel-dir wheelhouse -r requirements.txt
Package ruang kemudi, pengujian, dan persyaratan pip Anda ke dalam arsip zip untuk Device Farm:
$
zip -r test_bundle.zip
tests/ wheelhouse/ requirements.txt
- Python 3
-
Package tes dan persyaratan pip Anda ke dalam file zip:
$
zip -r test_bundle.zip
tests/ requirements.txt
- Ruby
-
-
Jalankan perintah ini untuk membuat lingkungan Ruby virtual:
# myGemset is the name of your virtual Ruby environment
rvm gemset create myGemset
-
Jalankan perintah ini untuk menggunakan lingkungan yang baru saja Anda buat:
rvm gemset use myGemset
-
Periksa kode sumber Anda.
Pastikan Anda berada di direktori root proyek Anda. Anda dapat Gemfile
melihat di direktori root.
-
Jalankan perintah ini untuk menginstal dependensi lokal Anda dan semua permata dari: Gemfile
bundle install
Pada titik ini, Anda harus dapat menjalankan pengujian Anda secara lokal. Gunakan perintah ini untuk menjalankan pengujian secara lokal:
bundle exec $test_command
-
Package permata Anda di vendor/cache
folder.
# This will copy all the .gem files needed to run your tests into the vendor/cache directory
bundle package --all-platforms
-
Jalankan perintah berikut untuk menggabungkan kode sumber Anda, bersama dengan semua dependensi Anda, ke dalam satu arsip zip:
zip -r MyTests.zip Gemfile vendor/ $(any other source code directory files)
Ini adalah MyTests.zip
file yang Anda unggah ke Device Farm dalam prosedur berikut.
Unggah paket pengujian Anda ke Device Farm
Anda dapat menggunakan konsol Device Farm untuk mengunggah pengujian.
Masuk ke konsol Device Farm di https://console.aws.amazon.com/devicefarm.
-
Pada panel navigasi Device Farm, pilih Pengujian Perangkat Seluler, lalu pilih Proyek.
-
Jika Anda adalah pengguna baru, pilih Proyek baru, masukkan nama untuk proyek, lalu pilih Kirim.
Jika Anda sudah memiliki proyek, Anda dapat memilihnya untuk mengunggah tes Anda ke sana.
-
Buka project Anda, lalu pilih Create a new run.
-
- Untuk pengujian Android dan iOS asli
-
Pada halaman Pilih aplikasi, pilih Aplikasi Seluler, lalu pilih Pilih File untuk mengunggah paket yang dapat didistribusikan aplikasi Anda.
File harus berupa Android .apk
atau iOS.ipa
. Aplikasi iOS harus dibangun untuk perangkat nyata, bukan Simulator.
- Untuk pengujian aplikasi Web Seluler
-
Pada halaman Pilih aplikasi, pilih Aplikasi Web.
-
Berikan tes Anda nama yang sesuai. Ini mungkin berisi kombinasi spasi atau tanda baca.
-
Pilih Berikutnya.
-
Pada halaman Configure, di bagian Setup test framework, pilih Appium language
, lalu Pilih File.
-
Jelajahi dan pilih file.zip yang berisi pengujian Anda. File.zip harus mengikuti format yang dijelaskan dalamKonfigurasikan paket pengujian Appium Anda.
-
Pilih Jalankan pengujian Anda di lingkungan khusus. Lingkungan eksekusi ini memungkinkan kontrol penuh atas penyiapan pengujian, pembongkaran, dan pemanggilan, serta memilih versi runtime dan server Appium tertentu. Anda dapat mengonfigurasi lingkungan kustom Anda melalui file spesifikasi pengujian. Untuk informasi selengkapnya, lihat Bekerja dengan lingkungan pengujian kustom di AWS Device Farm.
-
Pilih Berikutnya, lalu ikuti petunjuk untuk memilih perangkat dan mulai menjalankan. Untuk informasi selengkapnya, lihat Membuat uji coba di Device Farm.
Device Farm tidak mengubah pengujian Appium.
Ambil tangkapan layar dari tes Anda (Opsional)
Anda dapat mengambil tangkapan layar sebagai bagian dari pengujian Anda.
Device Farm menyetel DEVICEFARM_SCREENSHOT_PATH
properti ke jalur yang sepenuhnya memenuhi syarat pada sistem file lokal tempat Device Farm mengharapkan tangkapan layar Appium disimpan. Direktori khusus uji tempat tangkapan layar disimpan ditentukan saat runtime. Tangkapan layar ditarik ke laporan Device Farm Anda secara otomatis. Untuk melihat tangkapan layar, di konsol Device Farm, pilih bagian Screenshots.
Untuk informasi selengkapnya tentang mengambil tangkapan layar dalam pengujian Appium, lihat Mengambil Screenshot di dokumentasi Appium. API