Pengujian itu penting. Pengujian adalah langkah penting sebelum mengirimkan apa yang telah Anda buat kepada pengguna, baik itu seluruh situs atau aplikasi, atau fitur baru, untuk memeriksa apakah situs atau aplikasi tersebut berfungsi seperti yang diharapkan. Namun, banyak pengujian masih dilakukan secara manual, dengan meminta rekan kerja atau engineer pengujian untuk memeriksa fitur baru dan melaporkan masalah.
Meskipun pengujian manual ini dapat menampilkan jenis masalah tertentu, pengujian ini dapat melewatkan banyak masalah lainnya. Orang yang melakukan pengujian mungkin melewatkan kasus ekstrem, atau benar-benar gagal menguji perjalanan tertentu melalui aplikasi. Mereka juga tidak memiliki semua informasi yang Anda miliki saat menulis kode, mereka tidak tahu tentang masalah tertentu yang Anda sertakan kode untuk mencegahnya. Selain itu, seiring waktu berlalu dan fitur baru ditambahkan, apakah mereka akan kembali dan menguji ulang semua hal yang sebelumnya berfungsi, untuk memastikan perubahan tersebut tidak merusaknya?
Itulah sebabnya tim Chrome meyakini pentingnya pengujian otomatis. Dengan menggunakan rangkaian pengujian yang secara andal dan berulang kali menguji kerusakan fitur, Anda dapat yakin bahwa setiap detail kecil telah diuji, sekarang dan setelah pengembangan mendatang. Pengetahuan Anda sebagai developer fitur dienkapsulasi dalam pengujian.
Namun, kami tahu bahwa pengujian otomatis bisa jadi sulit. Itulah sebabnya tim Chrome menyediakan alat dan panduan berikut untuk memudahkan Anda.
Puppeteer
Puppeteer adalah library Node.js. Dengan API ini, Anda dapat mengotomatiskan Chrome, Chromium, dan Firefox dengan API tingkat tinggi yang mudah digunakan.
Meskipun API ini awalnya didasarkan pada Chrome DevTools Protocol, tujuannya adalah membuat protokol WebDriver BiDi baru dan canggih menjadi dasar Puppeteer pada akhir tahun. WebDriver BiDi, yang dibuat bersama oleh semua vendor browser utama, menyederhanakan banyak kasus penggunaan otomatisasi dan memungkinkan banyak kasus baru, serta kompatibel lintas browser.
Namun, Anda tidak perlu menunggu. API Puppeteer sudah mengaktifkan banyak kasus penggunaan otomatisasi saat ini, yang hanya akan meningkat dengan WebDriver BiDi. Dari pengujian, hingga crawling visual, dan otomatisasi proses, ada banyak hal yang dapat Anda lakukan dengan fitur seperti interaksi halaman, intersepsi permintaan, dan screenshot. Anda bahkan dapat menggunakannya untuk menguji model AI web di cloud menggunakan WebGPU dan WebGL.
Puppeteer juga digunakan oleh alat seperti WebdriverIO, framework pengujian browser lengkap, dan Privacy Sandbox Analysis Tool, yang memungkinkan Anda lebih memahami penggunaan cookie dan data pengguna di situs Anda.
Chrome Headless
Jika pernah mengotomatiskan Chrome menggunakan Puppeteer, Anda mungkin telah menemukan bahwa tidak ada jendela browser yang ditampilkan saat pengujian berjalan. Secara default, Puppeteer memulai Chrome dalam mode Headless. Artinya, tidak ada jendela browser yang sebenarnya saat otomatisasi Anda berjalan.
Namun, tahukah Anda bahwa mode Headless Chrome bukan hanya Chrome tanpa jendela, tetapi sebenarnya adalah versi Chrome yang dikelola secara terpisah? Selama waktu yang lama, hal ini menyebabkan kebingungan dan sulit melacak bug dan masalah.
Mulai Chrome 112, kami memperkenalkan mode Headless baru, yang kini didasarkan pada codebase yang sama dengan Chrome reguler. Hal ini tidak hanya mengurangi kebingungan sebelumnya, tetapi juga memberikan fungsi yang sebelumnya tidak dapat dilakukan, seperti menggunakan ekstensi selama otomatisasi.
Puppeteer telah menggunakan mode Headless baru ini sebagai default sejak versi 22. Jika
menggunakan Chrome Headless melalui solusi otomatisasi lainnya, Anda dapat memaksa
mode Headless baru dengan tombol command line --headless=new
.
Meskipun mode Headless baru Chrome lebih canggih, mode ini tidak seringan
mode Headless lama. Jika Anda sangat kekurangan resource atau tidak memerlukan semua
fitur Chrome, Anda dapat menggunakan mode Headless lama sebagai chrome-headless-shell
.
Chrome for Testing
Saat menguji, Anda memerlukan kontrol terperinci atas lingkungan pengujian: sistem operasi, browser, dan versi browser. Dengan update otomatis Chrome, hal ini dapat menjadi sulit.
Itulah sebabnya kami membuat Chrome untuk Pengujian—versi Chrome tanpa update otomatis, yang dirilis bersama setiap versi Chrome, untuk setiap sistem operasi utama, yang dapat diakses dari arsip berversi. Hal ini memungkinkan Anda menjalankan alur kerja otomatisasi terhadap versi Chrome tertentu tanpa banyak mengotak-atik.
Anda dapat mengakses biner Chrome untuk Pengujian dari dasbor ketersediaan Chrome untuk Pengujian, JSON API, atau dengan utilitas command line Puppeteer.
Puppeteer, mode Headless Chrome yang diperbarui, dan Chrome untuk Pengujian hanyalah bagian dari pekerjaan yang saat ini dilakukan tim kami untuk membuat otomatisasi browser dan menjalankan pengujian selancar mungkin bagi Anda. Selain itu, alat terkait, seperti Perekaman DevTools, mendukung Anda dalam pembuatan pengujian: rekam alur penggunaan di Chrome dan putar ulang di Puppeteer.
Mempelajari Pengujian di web.dev
Alat yang dibahas dalam postingan ini akan membantu Anda meningkatkan pengujian otomatis. Namun, jika Anda baru memulai, mungkin ada banyak hal yang perlu dipahami dan dipelajari. Oleh karena itu, kami telah membuat kursus baru yang terdiri dari 10 modul—Pelajari Pengujian di web.dev. Kursus mendalam ini mencakup konsep inti pengujian, tempat dan cara pengujian dijalankan, jenis pengujian, dan apa yang sebenarnya harus diuji. Ini adalah titik awal yang bagus untuk perjalanan pengujian Anda. Setelah Anda memiliki hal-hal penting, lanjutkan ke koleksi Otomatisasi Pengujian kami dengan penjelasan mendalam dan tips praktis tentang pertanyaan pengujian yang lebih spesifik.