Skip to content

Run & Test

Pengenalan dan mulai menjalankan automation tools
02 Januari 2025Rd Fakhri Fadhlan Dantiano
Riwayat Dokumentasi
VersiTanggalAktorKeterangan
v1.009/Jan/2025Rd Fakhri Fadhlan DantianoKonten

Running Script

Bumbu dan peralatan telah disiapkan, mari kita BAKAR!

Dari struktur folder dan file di dalam test skrip project sebelumnya, anda akan mendapati salah satu nama file skrip yakni main_test.py, file tersebut diidentifikasi sebagi running point pada skrip kita selain file tersebut digunakan dalam melakukan konfigurasi Capabilities.

Jalankan device: emulator/simulator atau physical device anda, contoh kita gunakan Emulator melalui android studio -> : -> Visual Device Manager -> Device Emulator

Agar mempermudah kita melakukan running skrip, buka Terminal/CMD anda lalu jalan kan Appium server:

Terminal window
appium

Sampai server memberikan informasi berupa Appium REST http, maka kita siap lakukan eksekusi skrip program kita malalui terminal VSCode/terpisah:

Terminal window
python3 main_test.py

Target aplikasi akan terinstal lalu berjalan secara magical mengikuti perintah-perintah berdasarkan locator strategies yang kita tulis di skrip tersebut.

Appium Login Test

“Loh hehh kok itu anunya asksdhajsdhkajshdkjashdkajsdhj…”

Iya-iya saya tahu mungkin anda merasa bingung, bagaimana caranya skrip mengenali widget-widget dan mengikuti perintah naik turun, ketik mengetik serta perilaku lainnya mengikuti maunya kita, hanya mengandalkan baris kata di dalam skrip? mari coba kita ulas test case di bawah.

Test Case

Sejatinya automation testing perlu adanya kolaborasi dengan manual testing, sehingga mudah bagi kita dalam melakukan translasi tulisan test case ke dalam skrip kita. Tidak cukup sampai itu, penggunaan Locator Strategies yang baik dan tepat menjadi peranan penting dalam merekayasa sifat device, berdasarkan “Widget” yang kita incar.


Login App

Melakukan testing login dengan test case berikut:

Test Case 1

Tap tombol login langsung dengan kondisi Username & Password kosong.

usernameField = FlutterElement(driver, finder.by_value_key("usernameField")) # Mencari & akses widget textfield
passwordField = FlutterElement(driver, finder.by_value_key("passwordField")) # Mencari & akses widget textfield
loginBtn = FlutterElement(driver, finder.by_value_key("loginBtn")) # Mencari & akses widget tombol
## AKSI
loginBtn.click() # Melakukan tap tombol
sleep(2)

Test Case 2 Isi Username benar & Password salah.

usernameField = FlutterElement(driver, finder.by_value_key("usernameField")) # Mencari & akses widget textfield
passwordField = FlutterElement(driver, finder.by_value_key("passwordField")) # Mencari & akses widget textfield
loginBtn = FlutterElement(driver, finder.by_value_key("loginBtn")) # Mencari & akses widget tombol
## AKSI
username.click() # Melakukan tap textfield username
username.send_keys("demo") # Melakukan ketik "demo"
password.click() # Melakukan tap textfield password
password.send_keys("nganu") # Melakukan ketik "nganu"
loginBtn.click() # Melakukan tap tombol
sleep(2)

Best practice-nya, bisa kita lihat pada contoh skrip sebelumnya di bagian file login.py, dalam satu fungsi terdapat penggunaan locator yang bertugas melakukan pencarian element / widget textfield dan tombol. Percis seperti potongan kode di atas, Element / widget tersebut dapat dipanggil sekali untuk banyak aksi.