Remote testing dengan Selenium Grid

Agar UI Automation bisa dilakukan secara paralel dan menggunakan dedicated machine untuk masing-masing test, maka hal pertama yang diperlukan adalah bagaimana cara kita mendesain test machine itu bisa di remote dan di triger run testnya dari satu server.

Desain test seperti ini diperlukan untuk melakukan test dengan multi browser, multi platform dan itu dilakukan secara paralel. Nah agar bisa dilakukan desain test seperti ini maka salah satu cara yang bisa kita lakukan adalah dengan menggunakan Selenium Grid.

Namun kali ini kita tidak akan langsung melakukan paralel testing, tapi hanya sebatas run test secara remote dengan menambahkan capabilities untuk test machinenya, dan nanti kita akan lanjut dipost lain terkait paralelnya.

Yuk kita mulai saja

1). Pre-resuisitesnya:

  1. Selenium Grid (saya menggunakan versi 3.11.0, seprtinya sudah ada yang lebih latest)
  2. Eclipse Oxygen,TestNG dan Maven (sebagai framework saya)
  3. AUT menggunakan WordPress
  4. 2 machine (windows 10)
  5. Geckodriver (untuk run firefox)

2). Konfigurasi Selenium Grid

Machine A (HUB)

Download Selenium Grid untuk kedua machine yang akan kita pake untuk testing. Mesin A kita akan pake sebagai Hub dan mesin B akan kita pake sebagai Node.

Untuk Machine A yang kita pake sebagai Hub  kita jalankan dengan perintah seperti di bawah

Jadi, kita arahkan dahulu cmd ke folder dimana selenium grid disimpan. Pada contoh di atas saya menyimpan di drive D pada folder Application. Dan kemudian sisa cmd nya adalah perintah untuk mengaktifkan selenium grid sebagai Hub. Bila sudah sukses maka tampilan akan seperti di bawah

Bila kita akses dari browser untuk url yang tertera di atas maka didapat

Sampai disini untuk machine A (HUB) sudah bisa dikatakan berhasil dan kita lanjut ke machine B (node)

Machine B (Node)

Sama pada proses sebelumnya, untuk menjalankan machine B sebagai node maka kita perlu mengarahkan cmd ke lokasi selanium grid dan juga letakan webdriver yang akan kita pake pada tempat yang sama. Pada contoh kali ini saya menggunakan geckodriver untuk run test dibrowser firefox.

Untuk cmd run selenium grid nya sebagai berikut

Bila sudah sukses running node nya akan seperti ini

 Bila diakses dari browser pada Hub maka akan tertera spec machine node (akses url hub kemudian klik Console)

Sampai disini baik Hub dan Node sudah bisa dikatakan siap menjalankan test automationnya.

3). Triger test dari Hub dan jalankan di Node.

Untuk test scenario kita buat yang sederhana dahulu, seperti dibawah ini:

Test automation > login page > mengisi user name > klik next > mengisi password > klik masuk > masuk ke dashboard

Dan berikut code nya

Jadi untuk menghubungkan Hub dan node kita menggunakan capability, pastikan informasi dari node sudah benar dalam capabilty ditest script. Bila test di triger dari hub dan akan running di node, seperti video singkat dibawah

Nah jadi sudah bisa kita melakukan remote test machine dengan memanfaatkan selenium grid, nanti tinggal dikembangkan untuk kebutuhan yang lebih luas.

Dan sekian dulu postingan sederhana ini, semoga bermafaat.

Terima kasih,

Leave a Reply

Your email address will not be published. Required fields are marked *