Basic Steps Selenium Test — Part I

Wira Putrawan Pakpahan
Tunaiku Tech
Published in
6 min readJun 13, 2020

Pada artikel ini akan dijelaskan bagaimana langkah memulai automation testing dengan Selenium.

Photo by Greg Raines on Unsplash

Seperti yang kita ketahui Selenium mendukung banyak bahasa pemograman, tetapi kebetulan karena saya lebih nyaman dengan java jadi saya akan menerangkan Selenium dengan bahasa pemograman java.

How to begin Selenium Testing?

  1. Set Up

Untuk melakukan set up, prerequisite yang harus anda penuhi hanya ada 2 yaitu:

  • Java Development Kit (JDK)
    Untuk kompilasi dari kode java ke bytecode sehingga bisa dimengerti dan
  • Editor
    Untuk menuliskan script java tersebut. Jadi sebelum memulainya, pastikan pada komputer anda sudah terinstal java, jika belum silahkan download terlebih dahulu dengan mengklik link ini kemudian lakukan instalasi biasa dengan next-next-finish jika anda menggunakan operating system windows. Jika sudah terinstal, maka tambahkan path foldernya pada environtment variabel. Untuk detailnya anda juga bisa mengikuti step yang ada pada link ini. Setelah menambahkannya kedalam path, anda perlu memastikan kembali bahwa java anda sudah terdeteksi oleh komputer anda dengan mengetikkan perintah java -version pada command prompt.
Mengecek versi java

Jika sudah muncul versi java seperti gambar diatas, berarti anda sudah berhasil menambahkannya kedalam path.

Selanjutnya adalah menginstal Editor. Sebenarnya untuk pemilihan editor ini bebas memilih apa saja yang menurut anda nyaman, tetapi pada artikel ini saya akan menggunakan Eclipse.

Tampilan Eclipse ketika pertama kali dibuka

Jika anda belum memiliki editor pada komputer anda dan ingin menggunakan Eclipse juga, anda dapat mendownloadnya pada link ini. Cara instalasinya juga sangat gampang cukup double klik pada file yang sudah didownload kemudian next-next-finish.

2. Create Java Project

Pada eclipse, buat java project dengan mengklik pada kiri pojok atas
File -New-Java Project seperti gambar berikut ini:

Membuat project baru pada Eclipse

Kemudian isikan nama Project dan klik button Finish

  • Add Selenium Jars

Download selenium-server-standalone-x.xx.x.jar pada website Selenium atau bisa dengan mengklik jar diatas. Untuk menemukan versi sebelumnya yang sudah dirilis, anda bisa pergi ke previous version pada halaman website Selenium, sehingga anda akan menemui tampilan seperti berikut:

Sumber: https://www.selenium.dev/downloads/

Setelah berhasil mendownload Selenium jar, selanjutnya tambahkan jars tersebut pada project java anda yang ada pada eclipse. Langkah-langkah untuk menambahkan jars pada project adalah sebagai berikut:

  • Buat folder baru pada project anda dengan nama lib
  • Pada folder lib, buat folder lagi dengan nama jars
  • Drag jars tersebut kedalam folder jars pada Eclipse
  • Klik kanan pada jars
  • Klik Build Path
  • Klik Add to Build Path

Dengan demikian Selenium jars tersebut sudah berhasil ditambahkan ke java project anda dan anda dapat menemukannya pada Referenced Libraries

3. Write program

Hal pertama yang harus dilakukan untuk menuliskan kode program adalah menciptakan java class pada project java. Untuk membuat kelas langkah-langkahnya juga sangat mudah:

  • Agar tertata dengan rapi, usahakan membuat folder baru di dalam folder src bernama test dengan klik kanan pada folder src>New>Folder seperti gambar berikut:
Membuat folder baru pada Eclipse
  • Kemudian pada folder test, ciptakan java class dan beri nama Selenium.java . Caranya kurang lebih sama seperti step diatas, klik kanan pada folder test>New>Class, seperti gambar berikut:
Membuat kelas baru pada Eclipse

Setelah tercipta kelas java, selanjutnya kita dapat menuliskan script automationnya pada kelas tersebut. Untuk pengujiannya akan dibuat script sederhana yaitu memverifikasi title ketika dinavigate ke landing page sebuah website.

Contoh scriptnya bisa dilihat pada gist berikut:

Sumber: https://gist.github.com/wira11/874bbed67e6ace523d87d3a1e66ee3ca

Script automation diatas akan mengarah ke landing page wbsite Orange HRM, bertujuan untuk melakukan verifikasi terhadap title website tersebut. Expected result nya definisikan sebagai berikut:

String expectedTitle = "OrangeHRM";

Kemudian untuk actual result, saya perkenalkan dulu variabelnya kemudian nilainya diset sebagai string kosong, setelah itu nilainya akan diisi oleh value yang diperoleh fungsi getTitle. Script codenya kurang lebih seperti berikut:

String actualTitle = "";
actualTitle = driver.getTitle();

Setelah didapatkan hasil expected dan actual result maka digunakan fungsi assert sederhana untuk mencetak kata dilayar. Assert Passed akan di print ketika expected Result sama dengan actual Result dan terjadi error ketika expected Result dan actual Result berbeda.

Seperti yang kita ketahui bahwa:

Ketika expected result=actual result , kita dapat menyimpulkan bahwa aplikasi under test is free bugs, tetapi jika sebaliknya maka hal itu kita sebut sebagai bugs.

Mungkin dari pembaca ada yang bingung apa fungsi dari kode berikut

System.setProperty("webdriver.chrome.driver", projectLocation+"\\lib\\driver\\chromedriver.exe");WebDriver driver = new ChromeDriver();

Jadi, script code diatas bertujuan untuk memberitahukan path dari driver yang akan digunakan. Seperti dijelaskan di catatan saya sebelumnya tentang cara kerja Selenium, disana dijelaskan bahwa setiap browser memiliki drivernya masing-masing untuk berkomunikasi dengan real browser, dan pada artikel ini digunakan chromedriver karena akan menjalankannya di Chrome browser. Jika ingin menggunakan Firefox, tinggal menggantinya dengan path geckodriver.

Agar tidak terlihat berantakan, semua driver biasanya saya masukkan kedalam folder pada project itu juga sehingga ketika ada orang lain dalam tim atau diluar sana yang ingin mengclone project ini, dia tidak perlu mengubah path nya lagi.

Browser driver ditempatkan pada folder didalam project

Seperti yang terlihat pada gambar diatas, dibuat satu folder baru didalam folder lib yang sudah dibuat sebelumnya, bernama driver. Folder ini akan sejajar dengan folder jars dan akan menyimpan semua browser driver yang digunakan.

Jika menuliskan pathnya langsung mungkin akan sangat panjang dan di setiap komputer tidak akan sama pula path yang dimiliki. Misalnya saya menyimpannya pada D: sedangkan anda menyimpannya pada C: .
Oleh karena itu, untuk menyamaratakannya, ciptakan variabel baru bernama projectLocation (untuk penamaan sebenarnya bebas).

String projectLocation = System.getProperty("user.dir");

Script ini berguna untuk mengambil path dimana anda menyimpan project anda. Sehingga anda atau orang lain yang mengclone project ini dapat menjalankannya tanpa mengubah-ubah apapun karena fungsi diatas akan mengambil path dimana anda meletakkan project anda.

4. Run and Validate

Setelah membuat script automation dan mengatur webdrivernya, langkah selanjutnya adalah menjalankannya dan melakukan validasi.

Untuk menjalankannya, silahkan klik kanan pada kode dalam kelas, kemudian klik Run As>Java Application

Menjalankan aplikasi java

Pada saat menjalankan java application, mungkin ada diantara kita yang gagal karena beberapa alasan seperti session not created, atau mungkin
unable to connect to host port dan lain sebagainya. Saya sendiri juga pernah mengalami hal yang sama, dan hal yang saya lakukan adalah mengganti Selenium jars ke versi yang lebih baru dan , menyesuaikannya dengan browser version saya. Oh iya perlu diingat lagi bahwa browser driver juga harus sesuai dengan versi real browser anda, jadi sesuaikan saja versinya agar aplikasi berjalan dengan lancar. Gambar dibawah adalah solusi yang saya dapatkan di stackoverflow dan berhasil menyelesaikan masalahnya.

Source: https://stackoverflow.com/questions/12588082/webdriver-unable-to-connect-to-host-127-0-0-1-on-port-7055-after-45000-ms

Jadi ketika ingin mengganti Selenium jar ke versi yang lebih terbaru, silahkan remove existing jars pada Referenced library, kemudian tambahkan lagi jars terbaru seperti cara yang sudah dijelaskan diatas.

Cara menghapus existing jars pada Referenced Library

Kemudian silahkan jalankan kembali kode programnya. Jika berhasil maka tampilannya dapat dilihat pada section console seperti gambar berikut:

Tampilan ketika kode program berhasil dijalankan

Pada console section diatas terlihat pesan yang dicetak adalah Assert Passed! menandakan pengujian berhasil dilakukan dengan status success, demikian sebaliknya jika pengujian gagal maka yang akan terlihat disana adalah error.

Demikianlah Basic Step Selenium Test Part I , semoga artikel ini dapat membantu pembaca untuk memulai pengujian menggunakan Selenium. Saya akan membuat artikel lanjutan Part 2 sehingga saya dan pembaca dapat lebih memahami cara kerja Selenium sebagai automation testing tools. Semoga apa yang saya bagikan dapat membantu pembaca, karena saya percaya ketika saya menulis ini saya akan lebih mengingatnya dan lebih mampu menguasainya.

Terimakasiiih 🤞
Salam hangat🤗

“Pengetahuan yang dibagikan akan bertahan lebih lama, tetapi pengetahuan yang disimpan sendiri akan sirna oleh usia dan daya ingat.”

--

--