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
- Gratis dan Open Source – Bebas digunakan untuk proyek pribadi maupun komersial.
- Multi-Bahasa & Multi-Platform – Mendukung Python, Java, C#, dan JavaScript di Windows, macOS, serta Linux.
- Integrasi Mudah – Dapat diintegrasikan dengan framework testing seperti Pytest, JUnit, dan TestNG.
- Komunitas Besar – Dokumentasi luas, komunitas aktif, serta banyak pustaka pendukung.
- 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
| ID | Deskripsi |
|---|---|
| TS-001 | Login berhasil di halaman SauceDemo |
| TS-002 | Login gagal dengan kredensial salah |
| TS-003 | Menambahkan produk ke keranjang |
Test Case Detail
| ID | Deskripsi | Steps | Expected Result |
|---|---|---|---|
| TC-001 | Login sukses | Masukkan standard_user dan secret_sauce lalu klik Login | Berhasil masuk ke halaman inventory |
| TC-002 | Login gagal | Masukkan username salah lalu klik Login | Muncul pesan error “Epic sadface: Username and password do not match” |
| TC-003 | Tambah produk ke cart | Login 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.
