Perbedaan Implicit Wait Dan Explicit Wait Di Selenium

Selenium Implicitly wait vs Explicitly wait Beomi's Tech blog

Pendahuluan

Selenium adalah alat yang sering digunakan untuk melakukan pengujian otomatis pada situs web. Dalam pengujian otomatis, menunggu adalah hal yang sangat penting, karena tidak semua elemen pada halaman web akan muncul segera setelah halaman dimuat. Ada dua jenis menunggu yang bisa dilakukan di Selenium, yaitu Implicit Wait dan Explicit Wait. Dalam artikel ini, kita akan membahas perbedaan antara kedua jenis menunggu ini.

Implicit Wait

Implicit Wait adalah jenis menunggu yang diatur secara global. Artinya, Implicit Wait akan berlaku untuk semua perintah Selenium yang dijalankan pada sesi saat ini. Implicit Wait melakukan pengecekan setiap kali Selenium mencoba untuk menemukan elemen di halaman web. Jika elemen tidak ditemukan dalam waktu yang ditentukan, maka Selenium akan mengembalikan pesan kesalahan. Implicit Wait adalah cara yang baik untuk menangani kasus-kasus ketika elemen mungkin memerlukan waktu untuk dimuat atau ketika koneksi internet lambat.

Kode Contoh Implicit Wait

Contoh kode untuk mengatur Implicit Wait di Selenium:

“` from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(10) # menunggu maksimal 10 detik “`

Explicit Wait

Explicit Wait adalah jenis menunggu yang lebih spesifik. Artinya, Explicit Wait hanya akan berlaku untuk perintah tertentu. Anda dapat menentukan kondisi khusus yang harus dipenuhi sebelum Selenium melanjutkan eksekusi. Misalnya, Anda dapat menunggu hingga elemen tertentu muncul, menghilang, atau berubah nilainya. Explicit Wait lebih fleksibel daripada Implicit Wait, karena Anda dapat menentukan kondisi yang berbeda untuk setiap perintah.

Kode Contoh Explicit Wait

Contoh kode untuk mengatur Explicit Wait di Selenium:

“` from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() wait = WebDriverWait(driver, 10) # menunggu maksimal 10 detik elem = wait.until(EC.presence_of_element_located((By.ID, ‘elem_id’))) “`

Perbandingan

Implicit Wait dan Explicit Wait keduanya memiliki keunggulan dan kelemahan masing-masing. Implicit Wait mudah digunakan dan berlaku secara global, namun tidak terlalu fleksibel dan mungkin memperlambat waktu eksekusi. Di sisi lain, Explicit Wait lebih fleksibel dan dapat disesuaikan dengan kebutuhan, namun memerlukan kode yang lebih panjang dan kompleks. Pilihlah jenis menunggu yang lebih sesuai dengan kebutuhan Anda.

Kesimpulan

Menunggu adalah bagian penting dari pengujian otomatis di Selenium. Implicit Wait dan Explicit Wait adalah dua jenis menunggu yang dapat digunakan. Implicit Wait lebih mudah digunakan dan berlaku secara global, sementara Explicit Wait lebih fleksibel namun memerlukan kode yang lebih panjang dan kompleks. Pilihlah jenis menunggu yang cocok dengan kebutuhan Anda untuk memastikan pengujian otomatis yang sukses.