Instalasi selesai belum tentu bisa langsung dapat menjalankan Appium Tools. Anggaplah halnya seperti kita, semangat bekerja karena ada dapur yang harus ngebul, disini ada konfigurasi agar Appium bisa beraksi. Cakep? tidak perlu wahai readers, perlu diperhatikan bahwa untuk konfigurasi penulis bagi menjadi 2 (dua) yakni Flutter Project dan baris kode Python.
Konfigurasi Flutter
Aplikasi Flutter harus dikompilasi dalam bentuk .apk mode debug atau profile. Dependency flutter harus menyertakan flutter_driver di dalam file pubspec.yaml:
DirectoryProject
android
ios
Directorylib
main.dart
pubspec.yaml
…
Menambahkan flutter_driver di bawah dev_dependencies seperti berikut:
dev_dependencies:
...
flutter_driver:
sdk: flutter
Kemudian menambahkan enableFlutterDriverExtension di dalam baris kode file main.dart.
voidmain() async {
enableFlutterDriverExtension();
....
}
Konfigurasi Python
Ketika semua konfigurasi pada Flutter sudah disesuaikan seperti tahapan di atas, tentunya kita perlu program yang digunakan untuk wadah menjalankan konfigurasi, driver dan command di dalamnya. Sebagai contoh, membuat file test_appium.py ke dalam folder project-root/test, jika tidak ada bisa menambahkan folder baru dengan nama tersebut atau anda bisa download salah satu skrip testing di bawah berikut untuk project yang sedang berjalan.
Penulis anggap anda mengunduh skrip di atas, dapat anda lihat folder terpisah menjadi dua Android_tes dan ios_test beserta ekstensi .py di dalamnya:
DirectoryProject
Directoryandroid_test
…
main_test.py
Directoryios_test
…
main_test.py
readme.md
requirement.txt
Beberapa package yang perlu kita install, Penulis asumsikan anda telah menginstall python pada system. di dalam project skrip jalankan command berikut:
Terminal window
pipinstall-rrequirement.txt
Membuat Capabilities
Capabilities / Kapabilitas adalah parameter penting dalam pembuatan sesi-sesi di Appium, digunakan untuk menentukan kemampuan sesi tersebut, seperti jenis sistem operasi, versi perangkat, driver dll. Parameter ini dikirim menggunakan format JSON, dan Appium akan memverifikasi apakah parameter tersebut dapat dipenuhi sebelum memulai sesi.
Di dalamn file main_test.py terdapat instruksi kapabilitas seperti baris data json di atas, tentu nama key seperti platformName dan lainnya berdasarkan rules yang telah ditetapkan oleh Appium sendiri bukan hanya sekedar label, jika kita urai fungsi masing-masingnya dapat diartikan berikut:
platformName: menentukan jenis system operasi yang kita gunakan, contoh disini kita akan melakukan testing pada perangkat Android.
deviceName: menentukan nama device, untuk mengetahui device apa yang sedang terhubung pada perangkat kita, anda bisa lihat pada tahapan Koneksi Device
platformVersion: menentukan versi OS perangkat yang terhubung
automationName: menentukan driver, berdasarkan driver yang telah terinstall seperti tahapan Get Started - Instalasi Driver
app: menentukan path compile aplikasi, pastikan aplikasi dalam mode debug atau profilejika android untuk ios arahkan ke Runner.app
UiAutomator2Options(): Membuat objek opsi Appium menggunakan UiAutomator2, apa itu UiAutomator2 ? sebenarnya adalah driver milik appium, tapi agar tidak beririsan dengan driver Flutter dan membuat kita bingung, kita sebutlah sebagai Framework. UiAutomator2 adalah Framework yang mendukung testing di OS Android, sementara iOS menggunakan XCUITest. Jelasnya anda perlu import salah satunya di bagian paling atas skrip:
from appium.options.android.uiautomator2.base import UiAutomator2Options # Android
from appium.options.ios.xcuitest.base import XCUITestOptions # IOS
load_capabilities(): Memuat capabilities yang kita buat sebelumnya ke dalam opsi Appium.
appium_server_url: http://localhost:4723 URL default server Appium yang berjalan secara lokal di port 4723.