Arsitektur Appium untuk Pengujian Aplikasi Seluler
Diterbitkan: 2020-06-26Daftar isi
Ikhtisar Appium
Appium adalah alat/kerangka pengujian aplikasi seluler gratis yang menyediakan otomatisasi untuk aplikasi seluler iOS dan Android. Appium adalah arsitektur client-server yang menerima kode pengujian yang ditulis dalam Java, Python, Ruby, JavaScript, dll.
Pada intinya, Appium adalah server web yang ditulis dalam bahasa pemrograman Node.js yang membuat sesi iOS dan Android menggunakan protokol kabel JSON.
Server Appium Melakukan Tindakan Berikut
- Menerima koneksi dari klien dalam bentuk objek JSON melalui HTTP
- Memulai sesi dan kemudian mengembalikan ID sesi
- Mendengarkan perintah yang dikeluarkan
- Jalankan perintah ini di perangkat seluler
- Merespons dengan respons HTTP
Sumber
Konsep Kunci Appium
Sebelum menyelam jauh ke dalam arsitektur Appium , mari kita pahami dulu konsep-konsep kunci yang terkait dengan arsitektur Appium .
Klien Appium
Klien Appium adalah kode skrip otomatis yang ditulis dalam bahasa apa pun yang Anda sukai (seperti PHP, Java , Phyton, dll.). Klien Appium menyimpan detail konfigurasi perangkat seluler dan aplikasi bersama dengan logika/kode untuk menjalankan kasus uji.
Server Appium
Server Appium adalah server HTTP yang ditulis dalam bahasa pemrograman Node.js yang menerima permintaan koneksi dan perintah dari klien Appium dalam format JSON dan menjalankan perintah tersebut di perangkat seluler. Server Appium dimulai sebelum menjalankan kode otomatisasi.

Server berinteraksi dengan platform iOS dan Android dan membuat sesi untuk berinteraksi dengan perangkat akhir aplikasi seluler.
Baca: 20 Ide & Topik Proyek Android Trending Teratas Untuk Pemula
Akhiri Perangkat
Perangkat akhir sebagian besar merupakan perangkat seluler waktu nyata atau emulator. Skrip otomatis dieksekusi di perangkat akhir oleh server Appium oleh perintah klien.
Protokol Kawat JSON
Dalam arsitektur Appium, protokol kabel JSON adalah mekanisme transport yang digunakan untuk membangun komunikasi antara klien Appium dan server Appium. Protokol ini mengontrol perilaku perangkat seluler yang berbeda selama satu sesi. Ini adalah satu set titik akhir yang telah ditentukan sebelumnya yang diekspos melalui RESTful API. Misalnya, jika klien ingin mengirim data ke server, klien mengubahnya menjadi objek JSON dan mendorongnya ke server. Server kemudian mem-parsing objek JSON yang diterima dan mengubahnya kembali menjadi data untuk digunakan.

Arsitektur Appium
Sekarang mari kita memahami arsitektur Appium .
Seperti disebutkan di atas, server Appium adalah server HTTP yang membaca permintaan HTTP dari pustaka klien dalam format JSON dan mengirimkan permintaan ini ke platform yang sesuai. Server Appium mengenali permintaan ini dan membuat sesi otomatisasi dengan perangkat akhir yang sesuai. Setelah sesi dibuat, server Appium memulai eksekusi kasus uji di perangkat akhir.
Server Appium menangani permintaan secara berbeda untuk iOS dan Android, tergantung pada platform yang menjalankannya. Bagian berikut akan menjelaskan bagaimana Appium menjalankan perintah secara berbeda pada platform ini.
Appium Bekerja di Perangkat iOS
Pada perangkat iOS, Appium menggunakan UIAutomation API (pustaka JavaScript yang disediakan oleh Apple Company) untuk terhubung dengan elemen antarmuka pengguna aplikasi.
Gambar arsitektur Appium iOS di atas menjelaskan arsitektur Appium untuk otomatisasi iOS. Mari kita memecahkan kode gambar arsitektur Appium iOS langkah demi langkah:
- Klien Appium berkomunikasi dengan server Appium menggunakan protokol kabel JSON dan mengirimkan perintah dalam format JSON ke server.
- Server kemudian membuat koneksi dengan klien dan meneruskan permintaan ke ICS (Instruments Command Server). Server Appium juga mendorong file bootstrap.js ke perangkat iOS. ICC (klien Perintah Instrumen) kemudian mengambil perintah dan menjalankannya di file bootstrap.js dalam lingkungan perangkat iOS.
- Setelah operasi di atas selesai, detail log perintah yang dieksekusi dikirim kembali ke server oleh klien.
Appium Bekerja di Perangkat Android
Pada perangkat android, Appium akan menggunakan kerangka kerja UIAutomator yang dikembangkan oleh pengembang Android untuk berinteraksi dengan elemen antarmuka pengguna aplikasi. UI Automator adalah kerangka kerja yang digunakan untuk menguji antarmuka pengguna.

Gambar arsitektur Android Appium di atas menjelaskan arsitektur Appium untuk otomatisasi Android. Angka-angka di atas menggantikan bootstrap.js dengan bootstrap.jar.
Pelajari: Android SDK: Tutorial Mendetail untuk Pemula
Mari kita memecahkan kode figur arsitektur Android Appium langkah demi langkah
- Klien Appium berkomunikasi dengan server Appium menggunakan protokol kabel JSON dan mengirimkan perintah dalam format JSON ke server.
- Server Appium kemudian membuat koneksi dengan klien dan meneruskan permintaan ke ICS UiAutomator Controller. Server Appium juga mendorong file bootstrap.jar ke perangkat Android. Perintah UiAutomator klien kemudian mengambil perintah dan menjalankannya di file bootstrap.jar dalam lingkungan perangkat Android.
- Setelah operasi di atas selesai, detail log dari perintah yang dieksekusi dikirim kembali ke server Appium oleh klien.
Baca Juga: Pengembang Full-Stack vs Android: Mana yang Harus Anda Pilih
Kesimpulan
Appium tidak diragukan lagi salah satu platform paling populer untuk pengujian aplikasi seluler. Sejauh ini, Anda telah mempelajari tentang ikhtisar arsitektur Appium , alur kerja, dan cara kerja Appium di platform iOS dan Android.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengembangan perangkat lunak full-stack, lihat Diploma PG Tingkat & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek, dan tugas, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.