Post

Pengantar Selenium WebDriver

Pengantar Selenium WebDriver

Pengantar Selenium WebDriver

Dalam dunia software testing modern, pengujian otomatis menjadi salah satu elemen penting untuk memastikan kualitas aplikasi tetap terjaga meskipun pengembang melakukan banyak perubahan kode.
Salah satu alat paling populer untuk automation testing adalah Selenium WebDriver.


Apa Itu Selenium?

Selenium adalah framework open-source yang digunakan untuk melakukan otomatisasi browser.
Dengan Selenium, penguji dapat membuat skrip otomatis untuk menjalankan berbagai skenario pada aplikasi web, seperti mengetik di formulir, mengklik tombol, memverifikasi hasil, hingga navigasi antar halaman.

Selenium dapat digunakan dengan berbagai bahasa pemrograman seperti Python, Java, C#, dan JavaScript, serta mendukung banyak browser seperti Chrome, Firefox, Edge, dan Safari.


Apa Itu Selenium WebDriver?

WebDriver merupakan komponen inti Selenium yang berfungsi sebagai penghubung antara kode pengujian dan browser.

WebDriver memungkinkan kita:

  • Mengontrol browser secara langsung.
  • Menjalankan aksi seperti klik, input teks, dan navigasi.
  • Melakukan validasi hasil pengujian.

Dengan WebDriver, skrip pengujian berperilaku seperti pengguna nyata yang berinteraksi dengan situs web.


Keunggulan Menggunakan Selenium

  1. Gratis dan Open Source – Bebas digunakan untuk proyek pribadi maupun komersial.
  2. Multi-Bahasa & Multi-Platform – Mendukung Python, Java, C#, dan JavaScript di Windows, macOS, serta Linux.
  3. Integrasi Mudah – Dapat diintegrasikan dengan framework testing seperti Pytest, JUnit, dan TestNG.
  4. Komunitas Besar – Dokumentasi luas, komunitas aktif, serta banyak pustaka pendukung.
  5. Dukungan Browser Lengkap – Dapat mengotomasi berbagai browser populer.

Instalasi Selenium dengan Python

Berikut langkah-langkah instalasi Selenium menggunakan Python:

1
2
3
4
5
# Instalasi Selenium
pip install selenium

# Instalasi WebDriver Manager untuk otomatisasi driver browser
pip install webdriver-manager

Membuka Browser dengan Selenium

Berikut contoh kode Python untuk membuka browser Chrome menggunakan Selenium:

1
2
3
4
5
6
7
8
9
10
11
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

# Membuka browser Chrome
driver = webdriver.Chrome(ChromeDriverManager().install())

# Membuka halaman web
driver.get("https://www.saucedemo.com")

# Tutup browser
driver.quit()

Interaksi dengan Elemen HTML

Selenium memungkinkan kita berinteraksi langsung dengan elemen HTML, seperti mengisi form, menekan tombol, dan membaca teks.

Contoh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.saucedemo.com")

# Mengisi username dan password
driver.find_element(By.ID, "user-name").send_keys("standard_user")
driver.find_element(By.ID, "password").send_keys("secret_sauce")

# Klik tombol login
driver.find_element(By.ID, "login-button").click()

driver.quit()

Test Scenario & Test Case (Contoh Aplikasi SauceDemo)

Berikut contoh Test Scenario dan Test Case menggunakan Selenium untuk situs SauceDemo:

Test Scenario

IDDeskripsi
TS-001Login berhasil di halaman SauceDemo
TS-002Login gagal dengan kredensial salah
TS-003Menambahkan produk ke keranjang

Test Case Detail

IDDeskripsiStepsExpected Result
TC-001Login suksesMasukkan standard_user dan secret_sauce lalu klik LoginBerhasil masuk ke halaman inventory
TC-002Login gagalMasukkan username salah lalu klik LoginMuncul pesan error “Epic sadface: Username and password do not match”
TC-003Tambah produk ke cartLogin sukses → Klik “Add to cart”Jumlah produk di keranjang bertambah satu

Kesimpulan

Selenium WebDriver adalah alat yang kuat, fleksibel, dan gratis untuk pengujian aplikasi web secara otomatis.
Dengan dukungan berbagai bahasa dan browser, Selenium menjadi pilihan utama para QA engineer dan developer di seluruh dunia.

Dengan menguasai Selenium, Anda dapat menghemat waktu, mengurangi kesalahan manual, dan meningkatkan efisiensi pengujian aplikasi web.


This post is licensed under CC BY 4.0 by the author.