BDD Automated Web-Testing with Katalon Studio: BDD Series Part 2

Mona Natasha
ecomindo-dev
Published in
6 min readAug 12, 2020

BDD Series membahas mengenai Behavior-Driven Development (BDD) melalui beberapa bagian. Artikel ini akan membahas cara melakukan automated web-testing dalam BDD dengan case study menggunakan situs web Instagram. Bagian pertama mengenai pengenalan BDD dapat diakses pada link berikut.

BDD Test Cycle

Tutorial pada artikel ini akan dijalankan dengan Katalon Studio — salah satu tool yang umum digunakan untuk melakukan automated testing. Katalon Studio mendukung Cucumber extension dan bahasa Gherkin, yang didesain untuk mempermudah implementasi BDD testing.

Testing Steps

Secara singkat, terdapat 7 langkah untuk menjalankan BDD automated web-testing menggunakan Katalon Studio:

  1. Create a new project in Katalon Studio
  2. Create a feature file
  3. Create a step file
  4. Record a test scenario
  5. Add test scripts to step file
  6. Run feature file
  7. Run test suite to create test reports

Automated Web-Testing Tutorial (Case: Instagram)

Sebelum memulai testing, pastikan Katalon Studio telah ter-install dengan baik (download di sini). Kita akan mencoba melakukan BDD automated testing pada situs web Instagram. Penjelasan berikut akan menggunakan fitur Login sebagai contoh.

Step 1: Create a new project in Katalon Studio

Create a new project

Kita dapat melihat struktur project pada bagian Test Explorer:

Project Structure

Terdapat 2 file utama dalam BDD testing: feature file dan step file. Pada Katalon, feature files dibuat pada folder Include → features, dan step files dibuat pada folder Include → scripts → groovy.

Step 2: Create a feature file

Buat feature file untuk fitur Login.

Create new feature file

Katalon Studio akan secara otomatis menyediakan template untuk feature file yang akan kita buat, sebagai berikut.

Feature File Template

Dalam tutorial ini, kita akan membuat 3 skenario untuk fitur Login:

  • Skenario 1: Login menggunakan username yang benar, namun dengan invalid password
  • Skenario 2: Login dengan invalid username
  • Skenario 3: Login dengan username dan password yang benar

Penulisan skenario dalam feature file Login dapat dilihat pada gambar berikut.

Feature File: Login

Seperti yang telah dijelaskan pada BDD Series Part 1 sebelumnya, terdapat 3 keyword utama dalam penulisan skenario BDD: Given — When — Then. Pada contoh di atas, kita juga akan mencoba menggunakan keyword lain yang disediakan bahasa Gherkin, yaitu Background, Scenario Outline, dan Examples.

  • Background digunakan untuk melakukan grouping terhadap kondisi Given. Pada fitur Login, setiap skenario akan dimulai dengan kondisi awal yang sama, yaitu dengan membuka situs Instagram. Oleh karenanya, Given dituliskan dalam Background, dan tidak perlu lagi dituliskan dalam setiap skenario.
  • Scenario Outline digunakan untuk menjalankan suatu skenario beberapa kali dengan menggunakan Examples.
  • Examples digunakan untuk menggunakan contoh data yang berbeda pada suatu skenario. Misalnya, pada gambar di atas, skenario ke-2 akan dijalankan 2 kali menggunakan 2 contoh username yang berbeda.

Dapat kita lihat juga bahwa pada contoh di atas, password ditampilkan dalam bentuk encypted text. Hal ini dilakukan agar kita tidak perlu menampilkan data password secara eksplisit. Pada Katalon Studio, kita dapat melakukan encryption melalui menu Help → Encrypt Text.

Example of Encrypting Text in Katalon Studio

Pada tahap ini, kita akan melihat bahwa terdapat highlight berwarna kuning pada setiap step dalam feature file. Hal ini terjadi karena kita belum membuat step definition — atau test script untuk setiap step tersebut. Oleh karena itu, langkah berikutnya akan dilanjutkan dengan membuat step definition pada step file.

Step 3: Create a step file

Step file pada Katalon Studio dibuat pada folder Include → scripts → groovy → package.

Create a new step file

Sama seperti feature file sebelumnya, Katalon Studio juga secara otomatis menyediakan template untuk step file yang akan kita buat. Setiap Gherkin steps pada feature file harus didefinisikan pada step file. Penulisan step file untuk fitur Login dapat dilihat pada gambar berikut.

Step File: Login

Selanjutnya, pastikan seluruh Gherkin steps pada feature file telah memiliki step definition pada step file. Buka kembali feature file yang telah dibuat, klik kanan dan klik ‘Recalculate steps’. Highlight berwarna kuning akan hilang, menandakan bahwa kini seluruh Gherkin steps telah memiliki step definitions.

Recalculate Steps

Step 4: Record a test scenario

Berikutnya, kita akan merekam test scenario menggunakan fitur web recorder yang disediakan oleh Katalon Studio. Klik ikon Record Web, kemudian masukkan URL seperti pada gambar di bawah.

Starting A Web Recorder

Ketika recording dimulai, Katalon Studio akan secara otomatis memunculkan browser. Kita dapat menjalankan skenario pada browser, dan Katalon Studio akan merekam setiap tindakan dan objek pada tabel Recorded Actions.

Recording Scenario: Login with Invalid Password

Klik OK, kemudian masukkan elemen yang telah direkam ke dalam Object Repository.

Save Elements to Object Repository

Test script dari skenario yang telah direkam akan disimpan dalam file Test Case. Tentukan nama file Test Case dan klik OK untuk menyimpan.

Save the scenario in a Test Case file

Pada file Test Case (Login_TC1), klik tab Script untuk melihat test script yang telah terbentuk secara otomatis setelah kita merekam skenario melalui web recorder.

Generated Test Script

Step 5: Add test scripts to step file

Setelah berhasil membentuk test script, lengkapi functions yang ada dalam step file dengan script yang sesuai.

Adding Scripts to Step Definitions

Sesuaikan script untuk fungsi yang memiliki parameter.

Adjusting Parameters

Lakukan kembali Step 4 dan Step 5 untuk skenario lainnya dalam fitur Login. Gambar di bawah menunjukkan step file untuk fitur Login setelah melengkapi seluruh step definition dengan test script yang sesuai.

Completed Scripts for Login Step File

Step 6: Run feature file

Kita telah selesai membuat skenario pada feature file dan melengkapi seluruh step definitions pada step file. Sekarang, kita bisa mulai menjalankan BDD test untuk fitur Login. Buka file Login.feature, kemudian klik tombol Run. Katalon Studio akan menjalankan automated test untuk seluruh skenario pada fitur Login. Setiap step yang telah berhasil melewati test dapat terlihat pada Log Viewer.

Passed Test Cases for Login Feature

Step 7: Run test suite to create test reports

Kita dapat secara otomatis memperoleh report dari automated test yang dijalankan dengan Katalon Studio. Lakukan instalasi untuk Basic Report plugin (di sini). Setelah plugin ter-install, klik Reload Plugins pada menu di Katalon Studio (kanan atas).

Reload Plugins after installing Basic Report

Agar dapat memperoleh test report, kita perlu menjalankan feature file melalui test suite. Sebelum membuat test suite, buat sebuah file Test Case baru dengan nama RunFeatureFile_Login.

Pada bagian kiri, terdapat menu untuk mengakses Keywords Browser. Masukkan Cucumber Keywords → General → Run Feature File ke dalam file RunFeatureFile_Login.

Drag Run Feature File keyword to the test case file

Klik kanan pada feature file Login.feature dan pilih Copy ID, kemudian paste pada kolom Input.

Replace Input value with feature file path

Buat sebuah file Test Suite untuk menjalankan fitur Login.

Create Test Suite for Login feature

Klik Add, kemudian pilih file RunFeatureFile_Login.

Add RunFeatureFile_Login to the test suite

Jalankan Test Suite dengan mengklik tombol Run. Kini, Katalon Studio akan secara otomatis men-generate report dari test yang dijalankan. Report dapat di-export dalam beberapa format.

Export report

Berikut adalah tampilan HTML report hasil test fitur Login yang telah dijalankan.

Test Report

Selamat mencoba!

--

--