5 Langkah Belajar Automation Test - Selenium, Cucumber & Gherkin

5 Langkah Belajar Automation Test - Selenium, Cucumber & Gherkin

Halo Sobat Bugar,

Pada kesempatan kali ini saya akan membagikan sedikit ilmu yang saya dapatkan setelah bertapa akhir-akhir ini, yaitu adalah tentang Automation Test. Bagi kalian para QA Enjiner pastinya sudah sering mendengar apa itu Automation test.

Tapi menurut pengalaman yang saya dapatkan, bagian yang paling membingungkan dari hal tersebut adalah cara setup/installasi dari Selenium tersebut. Berangkat dari hal tersebut saya ingin berbagi sedikit ilmu yang saya dapatkan kepada kalian tentang bagaimana tips dan trik untuk installasi Selenium, Cucumber dan Gherkin dalam 5 langkah. 


Langsung saja menuju tkp gaes. Sebelum mulai proses instalasi ada beberapa yang perlu kalian siapkan terlebih dahulu yaitu: 

  • Ruby ( 2.3.3 or higher )
  • Selenium Webdriver
  • Cucumber
  • Gherkin 
  • Text Editor ( SublimeText, Atom, dll)
  • CMDer ( Optional )
  • Mozila Firefox / Google Chrome

 


Step 1 - Browser Setup

Download dan pasang Firefox / Google Chrome:

https://www.mozilla.org/firefox/ 

https://www.google.com/chrome/ 

 


Step 2 - Install Ruby, Cucumber & Selenium

Mac OS X 

$> brew install ruby
$> gem install bundler
$> sudo gem install selenium-webdriver
$> gem install cucumber
$> gem install rspec

 

Windows

Windows Ruby Installer: 

http://rubyinstaller.org/ 

  • Download Ruby Installer for Ruby 2.3.3 (or higher). 
  • Untuk versi ruby diatas 2.3 sudah tidak perlu rubydevkits maka tidak perlu untuk download Ruby Devkit.
  • Install di direktori yang tidak mengandung jalur Path (misal - 'C:\Ruby', jangan seperti ini  gaes 'C:\Program Files\Ruby'). 
  • Jalankan Ruby installer dan lalu di ekstrak di tempat yang permanen (untuk kenyamanan, pertimbangkan untuk mengekstraknya di direktori yang sama dengan tempat anda mengisntall Ruby). 

 

Setelah terinstal, lalu jalankan CMDer bisa juga menggunakan Command Promt dari windows, kemudian arahkan ke folder instalasi Ruby (misal - 'C:\Ruby24-x64') lalu ketikan perintah dibawah ini:  

$> gem install bundler
$> gem install selenium-webdriver
$> gem install cucumber
$> gem install rspec

 

Setelah selesai install gem, lanjut ke Geckodriver sebagai proxy untuk browser kita dalam hal ini firefox.

Download dan setelah itu ekstrak file tersebut. Pindahkan file hasil ekstraksi kedalam folder “bin”. Selanjutnya, kita perlu menginialisasi lokasi path gecko tersebut. 

Masuk ke System Properties > Advance System Settings > Environment variables > System Variables > Path > Masukkan alamat folder geckodriver kita tadi. 

 

Dan bila sobat bugar memakai browser Chrome, download ChromeWebdriver sesuai dengan versi Chrome kalian masing-masing. Dan juga sama seperti Firefox, pindahkan file hasil ekstraksi kedalam folder “bin”.

 


Ruby adalah bahasa yang akan kita gunakan untuk menulis kode tes. Anda dapat menggunakan Java atau bahasa lain. Pada kali ini saya menggunakan Ruby karena cukup mudah untuk belajar, tidak memerlukan compiler dan ada banyak contoh Ruby Selenium/Cucumber di web. 

Cucumber bersama dengan Gherkin adalah kerangka pengujian. Gherkin adalah bahasa yang saya gunakan untuk menulis tes dengan cara "dapat dibaca manusia". Cucumber mengikat file fitur Gherkin dengan kode eksekusi yang ditulis di Ruby. 

Selenium adalah driver HTTP yang digunakan untuk menavigasi browser dari kode. Seringkali orang mengacu pada tes otomatis antarmuka pengguna sebagai "Tes Selenium" tetapi ini lebih akurat disebut "Behavior Driven" atau "Acceptance Driven" tes. 

RSpec adalah kerangka kerja yang digerakkan oleh perilaku untuk bahasa pemrograman Ruby. Ini berisi kerangka sendiri dan juga berguna untuk melakukan asersi.  

 

 

 


Step 3 - Inisialisasi Cucumber / Ruby 

Untuk langkah awal, buka CMDer dan arahkan menuju folder khusus yang kita buat yang nantinya berfungsi sebagai folder automation test (misal - 'D:\automation'). Setelah itu ketikan perintah dibawah ini di CMDer: 

D:\automation
λ cucumber --init

 

Dari hasil perintah tadi akan menghasilkan folder sebagai berikut: 

D:\automation
λ cucumber --init
  create   features
  create   features/step_definitions
  create   features/support
  create   features/support/env.rb

 

Setelah itu lalu buka aplikasi Atom, kemudian buka folder tempat automation test kalian. Setelah itu 'Create New File' didalam folder 'Feature' misal 'login-logout.feature' (pada kali ini saya mencoba mengetest fitur login dan logout pada website ini sendiri alias mbatin.com). 

 

 

Kemudian 'Create New File' juga pada folder 'step_definitions' misal 'login-logout_steps.rb' 

 

 


Step 4 - Menulis Test Scenario 

Lanjut ke bagian menulis test, step dan scenario. Pada kesempatan ini saya mencoba membuat scenario test login-logout pada Mbatin.

Seperti inilah hasilnya di file 'login-logout.feature'

 

Dan kemudian pada bagian file 'login-logout-step.rb' 

 

Setelah tertulis semua, jangan lupa di save ya gaes. Oiya ada yang tertinggal, jangan lupa gaes buat register dulu, soalnya untut proses login dan logout ini kalian harus punya akun terlebih dahulu.

 

Dan juga pada bagian input email dan password di bagian file 'login-logout-step.rb' diganti email dan password kalian.

 


Step 5 - Menjalankan Cucumber dan Gherkin 

Setelah beberapa step diatas, sekarang waktunya untuk menjalankan scenario test yang telah kita buat gaes.

Langsung saja, buka CMDer kemudian ketikan jurus pamungkas: 

$> cucumber

 

Dan kemudian akan muncul seperti penampakkan dibawah ini pada CMDer: 

  

Gambar diatas menandakan jika scenario test login-logout yang kita buat tadi sudah Pass dan berjalan sebagai mana mestinya gaes (horeeeeeeeeh). 

 

Adapun juga perintah untuk mengenerate report dari hasil scenerio test kita yang nantinya akan tertampil dalam format HTML, JSON, JUnit, dsb. Dengan cara mengetikkan perintah seperti dibawah ini gaes: 

$> cucumber -f pretty -f html -o report.html

 

Beginilah penampakkan report dari test scenario yang kita tulis tadi dalam format HTML: 

 


Bagaimana gaes, tertarik membuat test case yang bisa jalan sendiri? Saya yakin sobat bugar semua pasti bisa dan mungkin lebih bisa mengembangkan test case dan scenario kalian masing-masing. 

Semoga postingan kali ini bermanfaat buat kalian semua, dan bila ada salah mohon dimaafkan, karena saya juga masih dalam proses belajar mencari ilmu biar tambah sakti. Boleh juga lho sobat bugar semua kasih masukan ataupun saran apa mungkin kritik, kalo dirasa mungkin ada bagian yang masih salah ataupun bagian yang tidak jelas.

Selamat mencoba gaes :) 

 

Website Referensi: