Dalam artikel ini
Pengumuman Rilis
Tujuh browser terkini di Docker, satu kontainer per sesi, rekaman bersuara. Temukan bagaimana WebSummoner melanjutkan Selenoid, yang diarsipkan sejak Desember 2024, dan mengapa ia berjalan di inti infrastruktur hosting kami sendiri.
Jika tim Anda menjalankan pengujian Selenium, besar kemungkinan Anda pernah mengenal Selenoid: program Go kecil yang menjalankan browser baru di dalam kontainer Docker untuk setiap sesi pengujian, lalu membuangnya setelah selesai. Cepat, ringan, dan selama bertahun-tahun menjadi cara termudah untuk menjalankan grid browser di perangkat keras Anda sendiri. Pada 17 Desember 2024, para pembuatnya mengarsipkan repositorinya. Tanpa pengumuman, tanpa tulisan perpisahan: hanya spanduk abu-abu yang dipasang GitHub pada proyek baca-saja, dan selesai sudah.
Agustus 2016 Commit Selenoid pertama di Aerokube
17 Desember 2024 Repositori diarsipkan, baca-saja
September 2026 WebSummoner 1.0.0: tujuh browser terkini, migrasi satu baris
Tidak ada yang rusak pagi itu, dan justru di situlah masalahnya. Alat pengujian yang diarsipkan akan membusuk menurut jadwal yang tidak Anda kendalikan: versi browser baru tidak pernah datang, driver makin tertinggal, dan suatu hari rangkaian pengujian yang sudah hijau selama bertahun-tahun mulai gagal karena alasan yang sama sekali tidak berkaitan dengan aplikasi Anda.
Open source tidak berakhir bersama repositorinya
Mengarsipkan repositori mengakhiri pemeliharaannya, bukan riwayat hidupnya. Selenoid dirilis di bawah lisensi Apache 2.0, yang memberi setiap penggunanya hak permanen untuk memodifikasi dan mendistribusikannya kembali: ketika para pembuat sebuah proyek beralih ke hal lain, kodenya tetap tersedia dan pemelihara baru dapat melanjutkannya. Aerokube membangun Selenoid dan memeliharanya selama delapan tahun; mengarsipkannya adalah keputusan mereka, dan pujian atas semua hal yang dilakukan Selenoid dengan benar tetap milik mereka. WebSummoner adalah kelanjutan itu. WebSummoner berangkat dari commit terakhir Selenoid, mempertahankan desain yang membuatnya bagus, dan memiliki nama, organisasi, image, serta domainnya sendiri. Kami sudah menjalankan Selenoid di lingkungan produksi RIADVICE, dan melanjutkannya adalah keputusan yang tepat, bagi kami dan bagi semua pihak lain yang bergantung padanya.
WebSummoner 1.0.0 telah dirilis: hub Selenium yang cepat, yang memanggil sekumpulan browser ke dalam kontainer Docker sebagai lingkungan sementara yang terbatas pada satu sesi.
Mengapa kami melakukan fork Selenoid alih-alih menggantinya
Kami melakukan fork karena dua alasan.
-
Infrastruktur kami sendiri. WebSummoner adalah bagian dari tulang punggung infrastruktur hosting RIADVICE. Dependensi produksi yang tidak lagi menerima pembaruan browser, perbaikan driver, atau patch keamanan bukanlah sesuatu yang dapat kami biarkan terarsip, dan memindahkannya ke alat yang lebih berat akan lebih mahal daripada memeliharanya dengan baik.
-
Komunitas. Tim di seluruh dunia telah membangun rangkaian pengujian selama bertahun-tahun di atas Selenoid, dan mereka layak mendapatkan kelanjutan yang terpelihara, bukan kemunduran perlahan. Selenoid melakukan hal-hal penting dengan benar: satu biner Go berukuran sekitar 10 MB, tanpa runtime Java, tanpa basis data, browser yang menyala dalam sekitar satu detik, dan satu kontainer per sesi sehingga tidak ada yang bocor antarpengujian.
Kami mempertahankan semua itu dan memperbarui sisanya: browser, driver, image dasar, dan toolchain, yang semuanya membeku sejak 2024. Selenoid adalah apa yang bisa disebut perangkat lunak yang sudah selesai: ia tidak membutuhkan fitur terbaru, ia membutuhkan browser terkini, driver yang sesuai, dan perbaikan yang konsisten, dan itulah pekerjaan yang kami sanggupi. Kompatibilitas adalah keputusan pertama, bukan renungan belakangan. Semua yang dikirim oleh klien Selenoid tetap diterima, secara permanen.
Apa yang baru di 1.0.0
Tujuh browser, semuanya terkini
| Browser | Versi |
|---|---|
| Chrome | 152 |
| Firefox | 155 |
| Edge | 152 |
| Opera kembali | 135 |
| Brave baru | 1.94 |
| Yandex | 26.6 |
| Safari (WebKitGTK) baru | 2.52.6 |
Setiap image lolos rangkaian pengujian kontainer yang sama, yang dijalankan secara terisolasi terhadap image yang dipublikasikan. Dua kasus yang tidak dapat ditangani oleh driver itu sendiri didokumentasikan sebagai pengujian yang dilewati, bukan disembunyikan. Tiga di antaranya adalah berita tersendiri. Brave dan Safari dipublikasikan untuk pertama kalinya: Selenoid tidak pernah merilis image Brave, dan sumber Safari-nya tidak pernah dirilis sebagai image. Opera bangkit kembali: image Selenoid terakhirnya berasal dari April 2024, dan Opera tidak dapat digunakan dengan Selenium 4 sejak proyek tersebut menghentikan dukungan Opera.
Brave bergabung dalam jajaran
Brave dipublikasikan untuk pertama kalinya: Selenoid tidak pernah merilisnya, dan kini Brave berdiri sejajar dengan enam browser lainnya sebagai image kelas satu. Brave memberi nomor rilisnya dengan skalanya sendiri, sehingga alat build membaca versi Chromium yang tertanam di setiap rilis dan memasangkannya dengan driver yang sesuai secara otomatis. Jika pengguna Anda menjelajah dengan Brave, Anda dapat mengujinya persis seperti Anda menguji Chrome: kapabilitas yang sama, layar langsung yang sama, rekaman yang sama, dan rangkaian pengujian yang sama yang lolos dengan cara yang sama.
Opera berfungsi kembali
Selenium menghentikan dukungan Opera di versi 4.3.0, dan solusi yang selalu diulang-ulang semua orang, yaitu menjalankan Opera dengan chromedriver Chrome-for-Testing, memang dapat memulai sesi, tetapi kemudian membuat renderer crash setiap kali sebuah halaman membuka jendela. Perbaikannya ternyata cukup dengan membaca pesan galatnya dengan saksama: pemeriksaan versi OperaDriver hanyalah peringatan, bukan penolakan. Driver milik Opera sendiri mengendalikannya dengan benar, dan hub meminta protokol modern kepadanya atas nama Anda.
Safari menjadi target kelas satu
Safari juga dipublikasikan untuk pertama kalinya. Image-nya adalah WebKitGTK, mesin yang sama dengan yang digunakan Safari, dibangun dari kode sumber: Selenoid menyimpan berkas build-nya tetapi tidak pernah merilis image-nya, jadi inilah image pertama yang dapat Anda pull. Dua hal yang tidak pernah berfungsi dengannya, yaitu unggah berkas dan kapabilitas proxy, kini ditangani langsung oleh hub, sehingga perbaikannya berlaku untuk image apa pun, lama maupun baru. Dua keanehan yang tersisa masing-masing hanya memerlukan satu baris dalam pengujian Anda, dan dokumentasinya menjelaskan baris yang mana.
Rekaman bersuara, di setiap browser
Rekaman sesi kini merekam audio secara andal di ketujuh browser, sehingga pengujian media atau WebRTC yang gagal tidak lagi berupa video bisu. Jika Anda tidak menginginkan suara, satu kapabilitas dapat menonaktifkannya.
Dibangun untuk operasional
Endpoint Prometheus /metrics, probe kesehatan yang menjawab permintaan HEAD, respons 429 yang semestinya saat antrean penuh, unggah berkas yang berfungsi di setiap image, image rilis yang ditandatangani lengkap dengan software bill of materials, dan kebijakan keamanan yang menyatakan dengan gamblang arti socket Docker.
UI yang dibangun ulang
WebSummoner UI, tampilan langsung grid Anda dengan layar browser, log, dan antrean, dibangun ulang dari awal: tema gelap yang dirancang cermat, logo browser resmi, statistik sesi dan antrean secara langsung, serta pelaporan koneksi yang jujur. Baris perintah dan berkas Compose yang sudah ada tidak perlu diubah.
Toolchain modern
Go 1.27, Java 25 untuk rangkaian pengujian, React 19 untuk UI, Ubuntu 26.04 untuk image browser, pembaruan dependensi dan pemeriksaan kerentanan di CI, serta situs dokumentasi yang dapat dicari. Membangun bagian mana pun dari proyek ini hanya memerlukan Docker, tidak lebih. Penyeimbang beban untuk klaster multi-hub dan installer satu perintah ikut diperbarui bersama hub.
Jika Anda memilih hari ini
Tidak ada pengganti sempurna untuk apa yang dilakukan Selenoid, tetapi ada pilihan yang benar-benar cocok.
Selenium Grid: implementasi referensi. Pilihan yang tepat jika Anda menginginkan mode terdistribusinya dan tidak keberatan dengan jejak Java-nya.
Moon: pilihan jika Anda berjalan di Kubernetes dan bersedia menerima lisensi komersial untuk lebih dari empat sesi paralel.
WebSummoner: untuk host Docker dan mesin virtual, saat yang Anda inginkan adalah hub yang kecil, cepat, dan lengkap sejak awal.
Dokumentasi menyediakan perbandingan yang diverifikasi langsung dari kode sumber dengan Selenoid, Moon, Selenium Grid, Selenide, Playwright, dan Puppeteer, termasuk kapan sebaiknya memilih alat-alat tersebut.
Migrasi dari Selenoid
Arahkan klien Anda ke hub yang baru. selenoid:options, header X-Selenoid-*, path /aerokube/..., cm selenoid start, dan flag --selenoid-uri milik UI semuanya tetap berfungsi, dan akan terus berfungsi.
Satu-satunya perubahan: di dalam image Docker, konfigurasi dipindahkan dari /etc/selenoid ke /etc/websummoner. Perbarui mount tersebut, dan selesai.
Komitmen kami
- Kompatibilitas, secara permanen. Nama kapabilitas, header, path, dan perintah Selenoid diterima untuk selamanya, bukan ditandai usang dengan tenggat waktu. Migrasi yang menghabiskan satu sprint adalah migrasi yang tidak akan dilakukan siapa pun.
- Browser terkini. Image mengikuti rilis stabil setiap vendor, masing-masing dengan driver yang sesuai, dan tidak ada image yang diberi tag sebelum lolos rangkaian pengujian.
- Keamanan yang selalu diperbarui. Dependensi diperbarui setiap minggu, setiap build menjalankan pemeriksaan kerentanan, dan image hub ditandatangani serta disertai software bill of materials.
- Produksi lebih dulu. Kami sendiri menjalankan WebSummoner. Apa yang kami rilis adalah apa yang kami andalkan.
- Dokumentasi yang menyebutkan apa yang tidak berfungsi. Catatan lengkapnya, termasuk keterbatasannya, ada di pengumuman.
WebSummoner bertekad bersaing dengan grid terbesar di medan tempat ia unggul: kecepatan, kesederhanaan, dan biaya pengoperasiannya. Setiap perubahan diukur dengan standar tersebut.
Tersedia sekarang
websummoner \
-p 4444:4444 \
-v $PWD/browsers.json:/etc/websummoner/browsers.json:ro \
-v /var/run/docker.sock:/var/run/docker.sock \
websummoner/websummoner:latestArahkan pengujian Anda ke http://localhost:4444/wd/hub. Catatan rilis lengkap, panduan migrasi, dan forum diskusinya hanya berjarak satu klik:
📣 Pengumuman 1.0.0: catatan rilis lengkap, dan tempat untuk bertanya 📖 Dokumentasi: panduan, referensi, dan panduan migrasi 💻 Kode sumber: Apache-2.0, di GitHub
Jika Anda menjalankan Selenoid dan ada sesuatu dalam migrasi yang tidak berjalan semestinya, bagi kami itu adalah bug, bukan pertanyaan dukungan. Jika Anda memelihara sesuatu di atas Selenoid, beri tahu kami, dan kami akan memastikan semuanya tetap berfungsi.
Panggil sekumpulan browser ke dalam kontainer Docker.
Hub Selenium yang cepat dengan lingkungan sementara yang terbatas pada satu sesi.
Butuh bantuan menjalankan WebSummoner di organisasi Anda?
WebSummoner dikembangkan dan dipelihara oleh RIADVICE di bawah lisensi Apache-2.0. WebSummoner dibangun di atas Selenoid karya Aerokube dan Ivan Krutov, serta UI orisinal karya Kirill Merkushev.





