Web Automation Testing using Robot Framework

Ibnu Muzzakkir
4 min readApr 6, 2017

--

Automation Testing Script

Hi guys, kali ini saya akan menjelaskan mengenai web automation testing. So apa sih web automation testing ? gunanya buat apa?. penjelasan gampangnya gini web automation testing ini adalah suatu cara yang digunakan untuk melakukan testing terhadap web yang dibuat, biasanya,ini adalah pekerjaan para QA tp belakangan ini beberapa pihak memanfaatkan ini untuk melakukan kegiatan automasi lainnya diluar testing. gimana sih cara kerjanya ? cara kerjanya adalah seperti layaknya manusia yang melakukan kegiatan disuatu website. contohnya agar dapat menggunakan twitter maka harus melakukan registrasi terlebih dahulu. para QA memastikan apa yang dikerjakan oleh software engineer sudah benar dan tidak ada lagi miss dalam berbagai hal tersebut, makanya dibuatlah automation testing ini.

kerennya web automation testing ini dikerjakan terpisah dengan unit test dari developer jadi QA tidak tergantung kepada base code apa yang digunakan oleh developer, ya walaupun sebenarnya developer juga harus melakukan instrument testing dan function testing, maksudnya developer wajib memastikan bahwa code yang mereka buat itu sudah diuji coba berdasarkan function testing yang dibuat dan instument testing.

Beberapa hari ini saya ditugaskan untuk meriset hal baru diluar dunia mobile development untuk membuat suatu automation system. berdasarkan hasil dari diskusi dengan team maka kita memutuskan menggunakan Robot Framework dan Python lah sebagai base programming languagenya. robot framework itu apa sih ? itu salah satu frameworknya dari selenium dan canggihnya dia bisa kita combine dengan custom function yang dibuat dengan bahasa python.

dari penjelasan diatas kayaknya sudah cukup jelas ya dan panjang hehe… nah untuk mengawali pembuatan project automation testing ini diperlukan beberapa tools dibawah ini :

  • Python 2.7 atau lebih tinggi
  • Python Pip
  • Robot Framework
  • Web Driver ( Chrome atau Firefox ) tp lebih disarankan firefox sih
  • IDE Favorite kalian ( Saya menggunakan Visual Studio Code) ini kereen IDEnya dibanding sublime

untuk cara installnya kalian cari tau sendiri yaa. Nah setelah semua environment udah ke setup kita buat deh file robotnya. kalau udah sebenarnya base robot framework tuh terdiri dari 4 bagian diantaranya

  • Settings
  • Variables
  • Keywords
  • Test Case

Settings

*** Settings ***Library           Selenium2LibraryLibrary           OperatingSystem

dibagian settings ini kita cuma kaya daftarin library apa sih yang mau kita pake di automation ini secara default kita harus import library Selenium2Library kalau library Operatig System itu optional sih berhubung saya pake windows saat ini dan belum melakukan path web driver makanya pake library itu. ohiya library disini gak cuma dari robot aja tapi custom library yang kita buat pun diletakkan pada part ini.

Variables

*** Variables ***#Your Browser${Browser}        Firefox#Testing URL${SiteUrl}        https://twitter.com/signup

variables ini kaya memetakan kira — kira variable apa yang mau kita pake untuk digunakan di dalam keyword atau test case section. so caranya kaya diatas diawal dengan symbol $ dan diapit oleh kurung kurawal. jangan lupa di tab soalnya ini pake python dan sifat indenspacenya itu diliat supaya dia ngerti kita mau ngasih variable apa dan nilainya apa.

Keywords

*** Keywords ***Open page   open browser    ${SiteUrl}      ${browser}   Maximize Browser Window

keywords ini menurut saya kaya fungsi — fungsi apa aja sih yang nntinya akan dipake buat didalam testcase, perlu diingiat kalau keywords ini bukan sekedar kata — kata gitu aja. jadi kita bisa kasih mereka parameter untuk digunakan didalamnya. contoh diatas itu keywords yang digunakan untuk melakukan open browser kemudian memaksimalkan windownya. ohiya ada lagi didalam keywords ini kita juga bisa memanggil nama keyword yang kita buat didalam keywords lain.

Test Case

*** Test Cases ***Twitter Registration Flow   Open Page

dan yang terakhir ini adalah test case. fungsinya apa ? ini adalah bagian utama, jadi apapun yang ada didalam test case itu akan dijalanin. jadi contoh diatas itu kita membuat sebuah test case baru dengan judul twitter registration flow yang kemudian dia menjalankan keywords open page yang udah kita buat di dalam bagian keywords.

kalau dikaji secara dalam robot framework ini bisa melakukan looping dan juga conditional itu bisa kita pake di dalam test case ataupun didalam keyword. tergantung kita mau letakkan dimana. ohiya disini saya sudah buat kan demo automation testing registation and login pada web twitter. cara menjalankan filenya itu dengan mengetikkan pybot pada terminal kemudian nama filenya. kaya discreenshoot dibawah ini kalau botnya sudah jalan. untuk repository yang berkaitan dengan tulisan ini ada di link ini https://github.com/astroidnu/TwitterDynoBot

running file AutoLoginBot.robot

Kesimpulan

  • Robot Framework itu worth it untuk QA dibandingkan dengan native selenium sendiri karena less code dan lebih mudah dimengerti
  • Robot Framework sangat fleksibel dengan function — function yang kita buat dengan bahasa python
  • Robot Framework punya log yang memudahkan kita buat debugging test casenya dengan mudah via web
  • Untuk pemula tanpa pengetahuan pada bahasa python jika ingin melakukan automation testing pada web ini cukup mudah dan pilihan yang cocok

--

--