Run & Test
| Versi | Tanggal | Aktor | Keterangan |
|---|---|---|---|
| v1.0 | 09/Jan/2025 | Rd Fakhri Fadhlan Dantiano | Konten |
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:
appiumSampai server memberikan informasi berupa Appium REST http, maka kita siap lakukan eksekusi skrip program kita malalui terminal VSCode/terpisah:
python3 main_test.pyTarget aplikasi akan terinstal lalu berjalan secara magical mengikuti perintah-perintah berdasarkan locator strategies yang kita tulis di skrip tersebut.
“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 textfieldpasswordField = FlutterElement(driver, finder.by_value_key("passwordField")) # Mencari & akses widget textfieldloginBtn = FlutterElement(driver, finder.by_value_key("loginBtn")) # Mencari & akses widget tombol
## AKSIloginBtn.click() # Melakukan tap tombolsleep(2)Test Case 2
Isi Username benar & Password salah.
usernameField = FlutterElement(driver, finder.by_value_key("usernameField")) # Mencari & akses widget textfieldpasswordField = FlutterElement(driver, finder.by_value_key("passwordField")) # Mencari & akses widget textfieldloginBtn = FlutterElement(driver, finder.by_value_key("loginBtn")) # Mencari & akses widget tombol
## AKSIusername.click() # Melakukan tap textfield usernameusername.send_keys("demo") # Melakukan ketik "demo"
password.click() # Melakukan tap textfield passwordpassword.send_keys("nganu") # Melakukan ketik "nganu"loginBtn.click() # Melakukan tap tombolsleep(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.