8 poin oleh GN⁺ 2024-12-13 | 1 komentar | Bagikan ke WhatsApp
  • Pustaka Python untuk mengotomatisasi browser seperti Chrome/Firefox
  • Helium dibangun di atas Selenium dan menyediakan API tingkat yang lebih tinggi
    • Skrip Helium umumnya 30–50% lebih pendek daripada skrip Selenium, lebih mudah dibaca, dan lebih stabil
    • Di Selenium, Anda harus menggunakan HTML ID, XPath, atau selektor CSS, sedangkan Helium dapat merujuk elemen melalui label yang terlihat oleh pengguna
    • Helium dapat digunakan bersama Selenium
  • Kelebihan Helium
    • iFrames: Helium dapat berinteraksi dengan elemen di dalam iFrame bertingkat.
    • Manajemen jendela: Secara otomatis mendeteksi jendela pop-up dan memfokuskan ke sana. Mudah untuk berpindah
    • Implicit wait: Jika klik dilakukan sebelum elemen tertentu selesai dimuat, secara default akan menunggu hingga 10 detik sampai elemen muncul (di Selenium skrip akan gagal)
    • Explicit wait: Menyediakan API yang lebih baik untuk menunggu hingga kondisi terpenuhi.
  • Saat ini proyek tidak lagi didukung secara gratis karena keterbatasan waktu untuk pemeliharaan
    • PR tetap diterima, dan kontribusi sangat disambut.
  • Riwayat
    • Helium dikembangkan pada 2013 untuk sebuah startup TI Polandia bernama BugFree Software
    • Pada 2019 perusahaan tersebut ditutup, dan Helium diubah menjadi open source
    • Dulu tersedia untuk Java dan Python, tetapi sekarang hanya mendukung Python
    • Nama Helium berasal dari unsur kimia seperti Selenium, dan berarti lebih ringan

1 komentar

 
GN⁺ 2024-12-13
Komentar Hacker News
  • Pendiri proyek Selenium menyebut API Helium mirip dengan API awal Selenium. Ia menekankan bahwa ada berbagai gaya API otomatisasi, dan tidak ada satu API pun yang bisa memuaskan semua orang. Secara pribadi, ia lebih menyukai gaya fungsional yang sederhana

    • Alasan ia menyukai 'Uniform Function Call Syntax' di bahasa pemrograman Nim juga berada dalam konteks yang sama
  • Sebagian besar linter Python dan dokumen praktik terbaik tidak merekomendasikan import *. Sebagai gantinya, ini bisa digunakan secara ringkas dengan cara seperti import helium as h

    • Ini mirip dengan solusi umum yang sering dipakai dalam otomatisasi browser berbasis Python
    • Mengikuti pepatah bahwa hal yang eksplisit lebih baik daripada yang implisit, ada kekhawatiran bahwa lapisan seperti ini dapat menimbulkan masalah pada keterbacaan
  • Seorang pengguna yang pernah melakukan otomatisasi sementara dengan Selenium mengatakan API Helium yang mirip bahasa alami kemungkinan akan berguna

  • Ada yang meragukan klaim bahwa wrapper Selenium lebih ringan. Wrapper pada dasarnya mencakup lebih banyak kode dan fitur, sehingga tidak menggunakan sumber daya lebih sedikit atau berjalan lebih cepat

    • Ditekankan bahwa pengujian otomatisasi tidak terselesaikan hanya dengan API yang bagus, dan otomatisasi yang berkelanjutan tetap memerlukan rekayasa perangkat lunak yang nyata
  • Ada yang penasaran bagaimana Helium dibandingkan dengan Playwright, Selenium, Cypress, dan Puppeteer

  • Ada yang menyampaikan terima kasih karena telah berupaya agar Helium tidak menghilang

  • Ada yang bertanya apakah bisa memulai dengan nama profil browser Chrome tertentu atau menggunakan kembali sesi Firefox/Chrome yang sudah ada

  • Ada yang mempertanyakan seberapa mudah otomatisasi dibedakan dari pengguna sungguhan. Jika web digunakan lewat otomatisasi, mungkin ada risiko akses diblokir

  • Ada yang menyebut Helium tampaknya bisa dipakai untuk membuat alur agen. Ia tertarik membuat instance sandbox yang dapat melakukan pengumpulan data atau menjawab pertanyaan

  • Ada yang penasaran bagaimana Helium mengenali field pengguna. Apakah ia membaca label lalu menganggap sesuatu di bawah atau di sebelah kanannya sebagai field pengguna?