Apa itu Selenium? Tutorial Pengantar
⚡ Ringkasan Cerdas
Selenium adalah kerangka kerja pengujian otomatis sumber terbuka gratis yang dirancang untuk memvalidasi aplikasi web di berbagai peramban dan platform menggunakan berbagai bahasa pemrograman. Kerangka kerja ini memungkinkan otomatisasi pengujian yang tangguh, efisien, dan skalabel untuk praktik QA modern.

Apa itu Selenium?
Selenium adalah kerangka pengujian otomatis gratis (sumber terbuka) yang digunakan untuk memvalidasi aplikasi web di berbagai browser dan platform. Anda dapat menggunakan beberapa bahasa pemrograman seperti Java, C#, Python, dll untuk dibuat Selenium Skrip Tes. Pengujian dilakukan dengan menggunakan Selenium alat pengujian biasanya disebut dengan Selenium pengujian.
Wawasan Pakar
“Hindari penggunaan penundaan tidur tetap dalam pengujian Anda. Sebaliknya, gunakan penantian eksplisit (seperti WebDriverWait) untuk menunggu elemen dimuat. Hal ini membuat skrip Anda lebih andal dan cepat, karena skrip merespons secara dinamis terhadap kondisi halaman yang sebenarnya—praktik terbaik yang penting bagi siswa di mana pun, dimulai dengan Selenium. "
👉 Daftar Live Gratis Selenium Proyek Pengujian
Selenium Paket Alat
Selenium Perangkat lunak bukan hanya sebuah alat tunggal melainkan serangkaian perangkat lunak, yang masing-masing bagiannya melayani kebutuhan yang berbeda-beda Selenium Kebutuhan pengujian QA suatu organisasi. Berikut daftar alatnya
- Selenium Lingkungan Pengembangan Terintegrasi (IDE)
- Selenium Kontrol Jarak Jauh (RC)
- webdriver
- Selenium kisi
Saat ini, Selenium RC dan WebDriver digabungkan menjadi satu kerangka kerja untuk dibentuk Selenium 2. Selenium 1, omong-omong, mengacu pada Selenium RC.
Tutorial Video Selenium
Klik di sini jika video tidak dapat diakses
Siapa yang mengembangkan Selenium?
Sejak Selenium adalah kumpulan alat yang berbeda, juga memiliki pengembang yang berbeda. Di bawah ini adalah orang-orang penting yang memberikan kontribusi penting bagi Selenium Project
Terutama, Selenium adalah dibuat oleh Jason Huggins pada tahun 2004Sebagai seorang insinyur di ThoughtWorks, ia sedang mengerjakan sebuah aplikasi web yang membutuhkan pengujian rutin. Setelah menyadari bahwa Pengujian Manual yang berulang-ulang pada aplikasi mereka menjadi semakin tidak efisien, ia membuat sebuah JavaNaskah program yang secara otomatis mengontrol tindakan browser. Dia menamai program ini "Java“Pelari Uji Skrip.”
Melihat potensi ide ini untuk membantu mengotomatisasi aplikasi web lainnya, ia membuat JavaScriptRunner sumber terbuka, yang kemudian berganti nama menjadi Selenium Core. Bagi mereka yang tertarik untuk mengeksplorasi opsi lain untuk pengujian aplikasi web, lihatlah ini Selenium alternatif.
Masalah Kebijakan Asal yang Sama
Kebijakan Same Origin melarang JavaKode skrip dari mengakses elemen dari domain yang berbeda dari tempat peluncurannya. Misalnya, kode HTML di www.google.com menggunakan JavaProgram skrip "randomScript.js". Kebijakan asal yang sama hanya akan mengizinkan randomScript.js untuk mengakses halaman-halaman di dalam google.com, seperti google.com/mail, google.com/login, atau google.com/signup. Namun, program ini tidak dapat mengakses halaman-halaman dari situs yang berbeda seperti yahoo.com/search atau guru99.com karena berada di domain yang berbeda.
Inilah alasannya mengapa sebelum Selenium RC, penguji perlu menginstal salinan lokal keduanya Selenium Inti (a JavaProgram skrip) dan server web yang berisi aplikasi web yang diuji, sehingga keduanya akan berada dalam domain yang sama
Kelahiran Selenium Kontrol Jarak Jauh (Selenium RC)
Sayangnya, penguji yang menggunakan Selenium Core harus menginstal seluruh aplikasi yang diuji dan server web di komputer lokal mereka sendiri karena pembatasan yang diberlakukan oleh kebijakan asal yang samaJadi, insinyur ThoughtWorks lainnya, Paul Hammant, memutuskan untuk membuat server yang akan bertindak sebagai proxy HTTP untuk “menipu” browser agar percaya bahwa Selenium Inti dan aplikasi web yang diuji berasal dari domain yang sama. Sistem ini kemudian dikenal sebagai Selenium remote Control or Selenium 1.
Kelahiran Selenium kisi
Selenium Grid dikembangkan oleh Patrick Lightbody untuk mengatasi kebutuhan meminimalkan waktu pelaksanaan pengujian semaksimal mungkin. Awalnya, ia menyebut sistem tersebut “QA yang diselenggarakan.” Ia mampu menangkap tangkapan layar browser selama tahap-tahap penting, dan juga mengirim keluar Selenium perintah ke berbagai mesin secara bersamaan.
Kelahiran Selenium IDE
Shinya Kasatani Jepang diciptakan Selenium IDE, Sebuah Firefox dan ekstensi Chrome yang dapat mengotomatiskan peramban melalui fitur rekam dan putar. Ia mencetuskan ide ini untuk lebih meningkatkan kecepatan pembuatan kasus uji. Ia menyumbangkan Selenium IDE ke Selenium Proyek di 2006.
Kelahiran WebDriver
Simon Stewart membuat WebDriver sekitar 2006 ketika browser dan aplikasi web menjadi lebih kuat dan lebih membatasi JavaProgram skrip seperti Selenium Inti. Ini adalah kerangka kerja pengujian lintas-platform pertama yang dapat mengendalikan peramban di tingkat OS.
Kelahiran Selenium 2
In 2008, Seluruh Selenium Tim memutuskan untuk menggabungkan WebDriver dan Selenium RC untuk membentuk alat yang lebih kuat yang disebut Selenium 2, dengan WebDriver menjadi intinya. Saat ini, Selenium RC masih dalam tahap pengembangan, namun hanya dalam mode pemeliharaan. Sebagian besar Selenium Upaya proyek kini terfokus pada Selenium 2.
Jadi, Mengapa Namanya Selenium?
Nama Selenium berasal dari lelucon yang Jason pernah lontarkan kepada timnya. Selama Seleniumperkembangannya, yang lain pengujian otomatis kerangka kerja ini populer dibuat oleh perusahaan yang disebut Mercury Interaktif (ya, perusahaan yang awalnya membuat QTP sebelum diakuisisi oleh HP). Sejak Selenium adalah obat penawar yang terkenal Mercury keracunan, Jason menyarankan nama itu dan rekan satu timnya mengambilnya. Jadi begitulah kami menyebut kerangka ini hingga saat ini.
Apa itu Selenium IDE?
Selenium Lingkungan Pengembangan Terpadu (IDE) adalah kerangka paling sederhana dalam Selenium suite dan yang paling mudah untuk dipelajari. Ini adalah Chrome dan Firefox Plugin yang dapat Anda instal semudah mungkin dengan plugin lain. Namun karena kesederhanaannya, Selenium IDE sebaiknya hanya digunakan sebagai a alat prototipe. Jika Anda ingin membuat kasus pengujian lebih lanjut, Anda perlu menggunakan salah satunya Selenium RC atau WebDriver.
Apa itu Selenium Kontrol Jarak Jauh (Selenium RC)?
Selenium RC adalah kerangka pengujian andalan dari keseluruhan Selenium proyek dalam waktu yang lama. Ini adalah yang otomatis pertama pengujian web alat itu memungkinkan pengguna untuk menggunakan bahasa pemrograman yang mereka sukaiSejak versi 2.25.0, RC dapat mendukung bahasa pemrograman berikut:
Apa itu WebDriver?
WebDriver terbukti lebih baik daripada Selenium IDE dan Selenium RC dalam banyak aspek. Ini menerapkan pendekatan yang lebih modern dan stabil dalam mengotomatiskan tindakan browser. WebDriver, tidak seperti Selenium RC, tidak bergantung pada JavaSkrip untuk Selenium Pengujian Otomasi. Ia mengontrol browser dengan berkomunikasi langsung dengannya.
Bahasa yang didukung sama dengan bahasa yang ada di dalamnya Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Rubi
Apa itu Selenium jaringan?
Selenium Grid adalah sebuah alat digunakan bersama dengan Selenium RC untuk dijalankan tes paralel di mesin yang berbeda dan browser yang berbeda secara bersamaan. Eksekusi paralel berarti menjalankan beberapa pengujian sekaligus.
Fitur:
- memungkinkan menjalankan pengujian secara bersamaan in beberapa browser dan lingkungan.
- Menghemat waktu sangat.
- Memanfaatkan hub-dan-node konsep. Hub bertindak sebagai sumber utama Selenium perintah ke setiap node yang terhubung dengannya.
Selenium Dukungan Browser dan Lingkungan
Karena perbedaan arsitekturnya, Selenium SDI, Selenium RC dan WebDriver mendukung berbagai perangkat browser dan lingkungan operasi.
| Selenium IDE | webdriver | |
|---|---|---|
| Dukungan Browser | Mozilla Firefox dan Chrome | Google Chrome 12 + Firefox Internet Explorer 7+ dan Edge safari, HtmlUnit dan PhantomUnit |
| OperaSistem ting | Windows, Mac OS X, Linux | Semua sistem operasi tempat browser di atas dapat berjalan. |
Catatan: Opera Pengemudi tidak lagi berfungsi
Cara Memilih yang Tepat Selenium Alat untuk Kebutuhan Anda
| Alat Bantu | Mengapa Memilih? |
|---|---|
| Selenium IDE |
|
| Selenium RC |
|
| webdriver |
|
| Selenium kisi |
|
Studi Kasus Dunia Nyata
🔍 Studi Kasus 1: Kompatibilitas Lintas-Browser untuk Dasbor SaaS
Contoh
Sebuah perusahaan perangkat lunak sebagai layanan sedang bersiap untuk merilis dasbor analitik yang harus berfungsi secara konsisten di seluruh browser modern (Chrome, Firefox, Edge, Safari).
Tantangan
Pengujian manual pada setiap browser memakan waktu, rawan kesalahan, dan tidak dapat mengimbangi iterasi pengembangan yang cepat.
Solusi dengan Selenium
Seorang insinyur QA membuat sebuah Selenium kisi pengaturan untuk menjalankan rangkaian pengujian yang sama secara bersamaan di beberapa browser dan kombinasi OS. Pengujian dibuat dalam Python menggunakan Selenium WebDriver untuk tindakan seperti login, pemfilteran grafik, dan ekspor data.
Hasil
- Mengurangi durasi regresi hingga 80%.
- Menemukan bug rendering khusus browser lebih awal (misalnya, grafik yang tidak selaras di IE).
- Mempertahankan UX dasbor yang konsisten di seluruh matriks browser tanpa siklus manual tambahan.
⚙️ Studi Kasus 2: Integrasi CI/CD untuk Aplikasi Web melalui Selenium + TestNG
Contoh
Perusahaan pengembangan web menengah mengandalkan jalur CI/CD menggunakan Jenkins. Mereka perlu memastikan perjalanan pengguna inti berfungsi setelah setiap perubahan kode.
Tantangan
Penerapan versi baru terkadang merusak alur pengguna—login, pengiriman formulir—dan luput dari deteksi hingga pengujian manual di penghujung hari.
Solusi dengan Selenium
Seorang penguji menerapkan JavaBerbasis Selenium Suite WebDriver terintegrasi dengan TestNGPengujian meliputi autentikasi, pembaruan profil, dan fungsi pencarian. Pengujian ini berjalan pada setiap build Jenkins, memanfaatkan eksekusi paralel dan parameterisasi browser.
Hasil
- Mendapatkan umpan balik yang cepat: aliran yang rusak segera ditandai.
- Mengurangi bug pasca-penerapan lebih dari 60%.
- Memungkinkan pengembang untuk mengatasi masalah sebelum mencapai QA.
🚀 Studi Kasus 3: Mempercepat Rilis Fitur untuk Agregator Perjalanan
Contoh
Platform agregator perjalanan perlu merilis fitur pemesanan tiket pesawat yang telah diperbarui. Pengujian regresi manual di lebih dari 10 halaman memakan waktu berhari-hari dan menghambat rilis.
Tantangan
Tekanan untuk mengurangi waktu ke pasar tidak dapat melampaui siklus pengujian manual, dengan risiko penundaan atau kualitas yang lebih rendah.
Solusi dengan Selenium & Model Objek Halaman
Seorang pemimpin otomatisasi QA memperkenalkan struktur Page Object Model (POM) dalam C#. Selenium Skrip WebDriver merangkum elemen dan tindakan halaman (pencarian penerbangan, penerapan filter, dan kasus pembayaran). Uji coba otomatis dipicu setiap malam di GitLab CI.
Hasil
- Waktu pengujian turun dari 3 hari menjadi hanya 4 jam.
- Penggunaan kembali skrip di beberapa fitur memangkas upaya penulisan skrip hingga 50%.
- Kepercayaan meningkat: rilis dikirimkan sesuai jadwal dengan laporan bug minimal.
Umum Selenium Tantangan (dan Perbaikan)
Meskipun Selenium Meskipun kuat, penguji sering menghadapi tantangan yang dapat memengaruhi keandalan dan kecepatan. Berikut beberapa tantangan umum dan cara mengatasinya:
- Tes yang Tidak Menentu:
Pengujian mungkin gagal secara acak karena masalah waktu atau jaringan.
Fix: Gunakan penantian eksplisit dan penentu lokasi yang stabil; hindariThread.sleep(). - Elemen Web Dinamis:
Mengubah ID elemen atau XPath menyebabkan kesalahan elemen tidak ditemukan.
Fix: Gunakan XPath relatif, pemilih CSS, atau penanganan atribut dinamis. - SyncMasalah Kronisasi:
Elemen dimuat lebih lambat daripada eksekusi skrip.
Fix: Terapkan WebDriverWait dengan kondisi yang diharapkan. - Ketidakkonsistenan Lintas-Browser:
Pengujian berperilaku berbeda di Chrome, Firefox, atau Edge.
Fix: Jalankan pengujian pada Selenium Platform grid atau cloud untuk validasi lintas-browser. - Menangani Pop-up dan Peringatan:
Munculan yang tidak terduga dapat mengganggu alur pengujian.
Fix: penggunaan SeleniumAntarmuka Peringatan atau blok coba-tangkap untuk menanganinya dengan baik. - Pengujian Pemeliharaan Overhead:
Perubahan UI yang sering terjadi membuat pengujian menjadi rapuh.
Fix: Terapkan Page Object Model (POM) dan kontrol versi untuk pembaruan yang mudah. - Tantangan Integrasi:
Pipa CI/CD mungkin gagal karena masalah driver.
Fix: penggunaan Selenium Pengelola (Selenium 4+) atau WebDriver Manager untuk mengelola driver secara otomatis.
Singkatnya: jembatan Selenium Masalahnya berasal dari sinkronisasi yang buruk atau penentu lokasi yang rapuh—keduanya dapat dipecahkan melalui penantian yang lebih cerdas, desain modular, dan pemeliharaan berkelanjutan.




.png)
.jpg)
.jpg)
.jpg)



