BDD test automation dengan Selenium-Cucumber

Tantangan seorang software tester dengan basic knowledge scripting yang sedikit (bahkan tidak ada) adalah dengan menutup gap dari sisi techincal skill nya (dalam hal ini penguasaan bahasa pemrograman tertentu). Banyak software tester yang menyusun karir dari manual testing, dan selama mau tekun belajar dan mencoba tidak ada yang tidak mungkin dalam penguasaan skill menyiapkan UI Test Automation.

Nah pada postingan kali ini saya coba melakukan pendekatan UI Test Automation dengan BDD atau Bussiness Data Driven. Pendekatan testing atau test scripting lebih kepada case/scenario bussiness, sehingga lebih mudah dibaca serta dipahami ekspektasi testnya.

Lanjut, untuk pre-requsite yang akan kita perlukan adalah

  • Text Editor, Eclipse Oxy
  • Depedency management, Maven
  • Cucumber
  • Selenium
  • Chrome Driver

Test environment kita adalah

  • Login page wordpress, qatesting123.wordpress.com
  • Username: gdhadi, Password:admin54321

Bila semua sudah dipenuhi untuk beberapa hal diatas mari kita mulai membuat test sederhana dengan skenario

Test Skenario: “Test automation akan mengakses URL yang diberikan, kemudian memasukan username kemudian mengklik tombol untuk melanjutkan proses, lalu memasukan password dan mengklik kembali tombol untuk masuk ke halaman Dashboard. Memastikan test berhasil maka akan ditemui sebuah element yang hanya pada halaman Dashboard”

Bahasa Gherkin nya menjadi

Given I am the login page
When I fill valid user name
And I click continue button
And I fill valid password
And I click login button
Then I successfully login to dashboard

Bila kita sudah jelas dengan test dan ekspektasinya maka kita akan lanjut ke text editor dengan membuat test automationya, sebagai berikut:

1. Siapkan Maven project dengan struktur sebagai berikut

Catatan:

Bila sebuah project dibuat dengan Maven maka by default akan kita dapati 2 package folder yakni Main dan Test, nah kita tambahkan 1 folder baru untuk menampung feature file, dengan nama Feature package folder.

2. Untuk depedency terkait cucumber dan selenium maka tambahkan depedency sebagai berikut:

3. Buat feature file, dengan menggunakan scenario yang telah kita siapkan dan simpan pada Feature folder

4. Buat test runner (java file) pada package testRunner

Catatan: Pada cucumber options pada glue nya “stefDef” adalah nama packagenya, tidak perlu mengarahkan hingga ke filenya, cukup package name saja.

5. Buat file terakhir yang kita buat adalah step definition atau glue file yang menghubungkan test skenario dengan test script

Catatan: Untuk membuat file ini tidak musti dilakukan dari nol, namun kita bisa lakukan dengan memiliki 2 file lainnya (feature dan test runner) terlebih dahulu, kemudian kita jalankan test runnernya dan kita akan mendapatkan suggestion untuk membuat struktur gherkinnya.

6. Nah setelah ketiga file tersebut diatas (feature, stepDefintion dan testRunner) sudah dibuat, makan kita bisa menjalankan testnya dengan menjalankan test runnernya, sebagai berikut;

Sebelum mengakhiri postingan ini, berikut rangkuman apa saja yang sudah kita lakukan adalah,

  • Menyiapkan test scenario dan dibuat dalah gherkin format, sehingga lebih mudah ringkas dan mudah dimengerti
  • Menambahkan semua depedency yang dibutuhkan untuk menjalankan cucumber dengan selenium via POM xml
  • Membuat 3 skleton file untuk menjalankan BDD UI Test Automation yaitu test runner, step defenition (glue) dan feature file (test scenario dalam gherkin format)
  • Menjalankan test pada chrome browser

Nah simple test Automation dengan pendekantan BDD sudah bisa jalan, untuk test yang lebih kompleks kita akan coba sambung di postingan selanjutnya. Untuk sample codenya bisa di ambil di github https://github.com/GdHadi/SimpleCucumber.git

Terima kasih, semoga ada manfaatnya.

Leave a Reply

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