Tak terhitung jam dihabiskan oleh pengembang untuk menguji fungsionalitas aplikasi web baik di dalam maupun di luar lokasi.
Sebelum Selenium, semuanya dilakukan secara harfiah dengan tangan: lusinan orang menguji ratusan skrip di semua browser yang ada, mengidentifikasi masalah dan mencoba menentukan penyebab kemunculannya.
Apa itu Selenium
Bekerja dengan sebagian besar bahasa pemrograman yang didukung oleh semua sistem operasi dan browser utama, Selenium saat ini digunakan oleh perusahaan seperti Netflix, Google, HubSpot, Fitbit, dan lainnya. Seluruh Suite menyediakan berbagai solusi untuk berbagai tugas dan kebutuhan pengujian.
Infrastruktur Setelan Selenium
Pengandar Web
Dalam kebanyakan kasus, ketika orang berbicara tentang Selenium, yang mereka maksud adalah Selenium WebDriver. Sebagian besar pengembangan produk berfokus pada elemen ini.
Otomatisasi pengujian di WebDriver sering dibandingkan dengan mengemudi taksi. Ada tiga komponen yang terlibat dalam mengemudi dan pengujian taksi: pelanggan (teknisi pengujian) – mobil (browser) – pengemudi taksi (WebDriver).
Menurut analogi ini, programmer pertama-tama memberi tahu pengemudi bagaimana berinteraksi dengan elemen-elemen browser. Kemudian WebDriver memberikan perintah browser (mesin) yang berbunyi seperti ini: saat tombol aktif, klik tombol. Setelah itu, browser memberikan informasi kepada driver tentang nilai dan status elemen web, yang kemudian dikirim ke skrip. Sederhananya, alat Selenium WebDriver digunakan untuk mengumpulkan informasi dan memastikan bahwa aplikasi bekerja dengan benar, yaitu pengemudi tahu cara mengemudi dan tahu ke mana harus pergi.
IDE Selenium
Ini adalah ekstensi untuk Firefox. Ini tidak dirancang untuk pengembangan, mudah dipelajari, dan sempurna untuk tugas pembuatan prototipe.
Bekerja di Selenium IDE tidak memerlukan keterampilan pemrograman, karena plugin pada dasarnya merekam tindakan insinyur di browser dan mengulanginya. Pemrogram tidak menganggapnya sebagai produk yang mandiri dan lengkap, tetapi cukup untuk bekerja dengan skrip sederhana.
Kisi Selenium
Memungkinkan Anda menjalankan pengujian paralel pada beberapa mesin dan browser secara bersamaan. Fungsi utama alat ini adalah untuk menghemat waktu. Jika Anda perlu menjalankan, katakanlah, 100 tes untuk menyiapkan empat mesin virtual atau fisik, Selenium Grid digunakan.

Mengingat bahwa skrip browser umumnya lambat, menggunakan teknik kinerja seperti pengujian paralel dapat membantu mengatasi masalah ini. Itu juga dapat digunakan untuk menguji aplikasi yang sama di browser yang berbeda secara paralel, ketika Firefox berjalan di satu komputer, Chrome berjalan di komputer lain, dan seterusnya. Dimungkinkan untuk membuat konfigurasi yang berbeda dengan menggabungkan berbagai versi browser dan sistem operasi. Tak perlu dikatakan, ketika digunakan di lingkungan produksi besar, Grid menghemat empat kali waktu.
Pro
Selenium bukan satu-satunya alat otomatisasi pengujian di pasar, tetapi merupakan satu-satunya alat gratis yang dapat bersaing dengan produk berbayar. Katalon Studio adalah alternatif yang layak, tetapi tidak menyediakan banyak bahasa, tidak berjalan di Linux, dan tidak memiliki basis penggemar.
Tidak mengherankan, bahkan perusahaan yang lebih besar tidak terburu-buru untuk pindah ke situs berbayar dan memberikan ribuan dolar untuk apa yang dilakukan Selenium secara gratis. Jumlah perusahaan yang bekerja dengan Selenium melebihi 55 ribu. Pangsa pasarnya dalam pengujian dan otomatisasi hampir 30%.
Dukungan untuk bahasa, platform, browser:
- Jawa
- C#
- PHP
- Ruby
- Perl
- Python
- JavaScript
- Tujuan-C
- Haskell
- R
- Windows
- Linux
- Mac
- Android
- iOS
- Google Chrome
- Penjelajah Internet
- Firefox
- Safari
- Opera
- Microsoft Edge
- HtmlUnitDriver
Kontra
Mungkin satu-satunya kelemahan yang signifikan adalah bahwa Selenium hanya dapat digunakan dalam aplikasi web. Tapi ini lebih merupakan batasan, bukan kelemahan, karena WinAppDriver dapat diintegrasikan ke dalam Selenium untuk menguji aplikasi desktop.
Sedikit sejarah sebagai kesimpulan
Pada tahun 2004, Jason Huggins menciptakan kerangka kerja JavaScript yang dirancang untuk membebaskan pembuatnya dari pengujian manual berulang. Produk, yang diperkirakan pertama kali disebut JavaScriptTestRunner, dapat menjalankan pengujian langsung di browser, mengelola interaksi halaman, dan menjalankannya kembali tanpa input manual. Alat JavaScript ini menjadi populer setelah Huggins, menyadari potensi penuhnya, menjadikannya open source dan menamainya Selenium Remote Control. Bagian inovatifnya adalah sampai saat itu tidak ada alat lain yang memungkinkan penguji untuk berkomunikasi dengan browser dalam bahasa pemrograman pilihan mereka.
Namun, segera menjadi jelas bahwa browser menerapkan pembatasan keamanan ke JavaScript, sehingga tidak mungkin untuk menggunakan kekuatan penuh dari alat tersebut. Pada saat itu, Google adalah pengguna setia Selenium dan para insinyurnya mencoba yang terbaik untuk mengatasi pembatasan tersebut. Salah satunya, Simon Stewart, mulai mengerjakan produk yang akan berinteraksi langsung dengan browser dan menyebutnya WebDriver.